Permalink
Browse files

Initial commit. Exact mirror of the official v0.8.9 zip.

  • Loading branch information...
aseemk committed Feb 20, 2011
0 parents commit f20c8c389862866f70ce17caf36da8cd79a3f4c0
Showing with 10,833 additions and 0 deletions.
  1. BIN build/ajaxmin.exe
  2. +43 −0 build/build.cmd
  3. +60 −0 build/build.py
  4. +218 −0 build/jsmin.py
  5. +88 −0 doc/Seadragon.Browser.html
  6. +186 −0 doc/Seadragon.Button.html
  7. +134 −0 doc/Seadragon.ButtonGroup.html
  8. +367 −0 doc/Seadragon.Config.html
  9. +82 −0 doc/Seadragon.ControlAnchor.html
  10. +86 −0 doc/Seadragon.Debug.html
  11. +89 −0 doc/Seadragon.DisplayRect.html
  12. +260 −0 doc/Seadragon.Drawer.html
  13. +221 −0 doc/Seadragon.DziTileSource.html
  14. +108 −0 doc/Seadragon.EventManager.html
  15. +82 −0 doc/Seadragon.ImageLoader.html
  16. +363 −0 doc/Seadragon.MouseTracker.html
  17. +115 −0 doc/Seadragon.OverlayPlacement.html
  18. +178 −0 doc/Seadragon.Point.html
  19. +262 −0 doc/Seadragon.Profiler.html
  20. +201 −0 doc/Seadragon.Rect.html
  21. +136 −0 doc/Seadragon.Spring.html
  22. +277 −0 doc/Seadragon.Strings.html
  23. +256 −0 doc/Seadragon.TileSource.html
  24. +383 −0 doc/Seadragon.Utils.html
  25. +557 −0 doc/Seadragon.Viewer.html
  26. +469 −0 doc/Seadragon.Viewport.html
  27. BIN doc/header.png
  28. +93 −0 doc/index.html
  29. +109 −0 doc/styles.css
  30. BIN img/fullpage_grouphover.png
  31. BIN img/fullpage_hover.png
  32. BIN img/fullpage_pressed.png
  33. BIN img/fullpage_rest.png
  34. BIN img/home_grouphover.png
  35. BIN img/home_hover.png
  36. BIN img/home_pressed.png
  37. BIN img/home_rest.png
  38. BIN img/zoomin_grouphover.png
  39. BIN img/zoomin_hover.png
  40. BIN img/zoomin_pressed.png
  41. BIN img/zoomin_rest.png
  42. BIN img/zoomout_grouphover.png
  43. BIN img/zoomout_hover.png
  44. BIN img/zoomout_pressed.png
  45. BIN img/zoomout_rest.png
  46. +167 −0 license.txt
  47. +1 −0 logo.dzi
  48. BIN logo_files/0/0_0.jpg
  49. BIN logo_files/1/0_0.jpg
  50. BIN logo_files/10/0_0.jpg
  51. BIN logo_files/10/0_1.jpg
  52. BIN logo_files/10/0_2.jpg
  53. BIN logo_files/10/0_3.jpg
  54. BIN logo_files/10/1_0.jpg
  55. BIN logo_files/10/1_1.jpg
  56. BIN logo_files/10/1_2.jpg
  57. BIN logo_files/10/1_3.jpg
  58. BIN logo_files/10/2_0.jpg
  59. BIN logo_files/10/2_1.jpg
  60. BIN logo_files/10/2_2.jpg
  61. BIN logo_files/10/2_3.jpg
  62. BIN logo_files/10/3_0.jpg
  63. BIN logo_files/10/3_1.jpg
  64. BIN logo_files/10/3_2.jpg
  65. BIN logo_files/10/3_3.jpg
  66. BIN logo_files/2/0_0.jpg
  67. BIN logo_files/3/0_0.jpg
  68. BIN logo_files/4/0_0.jpg
  69. BIN logo_files/5/0_0.jpg
  70. BIN logo_files/6/0_0.jpg
  71. BIN logo_files/7/0_0.jpg
  72. BIN logo_files/8/0_0.jpg
  73. BIN logo_files/9/0_0.jpg
  74. BIN logo_files/9/0_1.jpg
  75. BIN logo_files/9/1_0.jpg
  76. BIN logo_files/9/1_1.jpg
  77. +4 −0 readme.txt
  78. +31 −0 sample.html
  79. +41 −0 seadragon-dev.js
  80. +7 −0 seadragon-min.js
  81. +301 −0 src/Seadragon.Buttons.js
  82. +69 −0 src/Seadragon.Config.js
  83. +14 −0 src/Seadragon.Core.js
  84. +43 −0 src/Seadragon.Debug.js
  85. +334 −0 src/Seadragon.DeepZoom.js
  86. +17 −0 src/Seadragon.DisplayRect.js
  87. +1,197 −0 src/Seadragon.Drawer.js
  88. +70 −0 src/Seadragon.EventManager.js
  89. +96 −0 src/Seadragon.ImageLoader.js
  90. +517 −0 src/Seadragon.MouseTracker.js
  91. +65 −0 src/Seadragon.Point.js
  92. +124 −0 src/Seadragon.Profiler.js
  93. +61 −0 src/Seadragon.Rect.js
  94. +62 −0 src/Seadragon.Spring.js
  95. +79 −0 src/Seadragon.Strings.js
  96. +107 −0 src/Seadragon.TileSource.js
  97. +608 −0 src/Seadragon.Utils.js
  98. +926 −0 src/Seadragon.Viewer.js
  99. +466 −0 src/Seadragon.Viewport.js
  100. +1 −0 src/_intro.txt
  101. +2 −0 src/_outro.txt
Binary file not shown.
@@ -0,0 +1,43 @@
+@echo off
+
+echo /*! > seadragon-min.js
+echo * Seadragon Ajax 0.8.9 (custom build from source) >> seadragon-min.js
+echo * http://gallery.expression.microsoft.com/SeadragonAjax >> seadragon-min.js
+echo * This code is distributed under the license agreement at: >> seadragon-min.js
+echo * http://go.microsoft.com/fwlink/?LinkId=164943 >> seadragon-min.js
+echo */ >> seadragon-min.js
+
+type ..\src\_intro.txt > seadragon.js
+
+for %%f in (
+ Seadragon.Core.js
+ Seadragon.Config.js
+ Seadragon.Strings.js
+ Seadragon.Debug.js
+ Seadragon.Profiler.js
+ Seadragon.Point.js
+ Seadragon.Rect.js
+ Seadragon.Spring.js
+ Seadragon.Utils.js
+ Seadragon.MouseTracker.js
+ Seadragon.EventManager.js
+ Seadragon.ImageLoader.js
+ Seadragon.Buttons.js
+ Seadragon.TileSource.js
+ Seadragon.DisplayRect.js
+ Seadragon.DeepZoom.js
+ Seadragon.Viewport.js
+ Seadragon.Drawer.js
+ Seadragon.Viewer.js
+) do (
+ echo.
+ echo // %%f:
+ echo.
+ type ..\src\%%f
+) >> seadragon.js
+
+type ..\src\_outro.txt >> seadragon.js
+
+ajaxmin.exe /Z /HC seadragon.js >> seadragon-min.js
+
+del seadragon.js
@@ -0,0 +1,60 @@
+# Seadragon Ajax build script - concatenates the source files in dependency
+# order and minifies the result into seadragon-min.js.
+
+from jsmin import jsmin
+
+if __name__ != "__main__":
+ print "Error: this script should be executed directly, not included."
+ exit(1)
+
+HEADER = '''
+/*!
+ * Seadragon Ajax 0.8.9 (custom build from source)
+ * http://gallery.expression.microsoft.com/SeadragonAjax
+ * This code is distributed under the license agreement at:
+ * http://go.microsoft.com/fwlink/?LinkId=164943
+ */
+'''
+
+SRC_PATH = "../src/"
+SRC_FILES = [
+ "_intro.txt",
+ "Seadragon.Core.js",
+ "Seadragon.Config.js",
+ "Seadragon.Strings.js",
+ "Seadragon.Debug.js",
+ "Seadragon.Profiler.js",
+ "Seadragon.Point.js",
+ "Seadragon.Rect.js",
+ "Seadragon.Spring.js",
+ "Seadragon.Utils.js",
+ "Seadragon.MouseTracker.js",
+ "Seadragon.EventManager.js",
+ "Seadragon.ImageLoader.js",
+ "Seadragon.Buttons.js",
+ "Seadragon.TileSource.js",
+ "Seadragon.DisplayRect.js",
+ "Seadragon.DeepZoom.js",
+ "Seadragon.Viewport.js",
+ "Seadragon.Drawer.js",
+ "Seadragon.Viewer.js",
+ "_outro.txt"
+]
+
+MIN_PATH = "seadragon-min.js"
+
+def readfile(path):
+ file = open(path, 'r')
+ contents = file.read()
+ file.close()
+ return contents
+
+def writefile(path, contents):
+ file = open(path, 'w')
+ file.write(contents)
+ file.close()
+
+src_raw = '\n'.join([readfile(SRC_PATH + src_file) for src_file in SRC_FILES])
+src_min = HEADER.strip() + '\n' + jsmin(src_raw)
+
+writefile(MIN_PATH, src_min)
@@ -0,0 +1,218 @@
+#!/usr/bin/python
+
+# This code is original from jsmin by Douglas Crockford, it was translated to
+# Python by Baruch Even. The original code had the following copyright and
+# license.
+#
+# /* jsmin.c
+# 2007-05-22
+#
+# Copyright (c) 2002 Douglas Crockford (www.crockford.com)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+# of the Software, and to permit persons to whom the Software is furnished to do
+# so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# The Software shall be used for Good, not Evil.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+# */
+
+from StringIO import StringIO
+
+def jsmin(js):
+ ins = StringIO(js)
+ outs = StringIO()
+ JavascriptMinify().minify(ins, outs)
+ str = outs.getvalue()
+ if len(str) > 0 and str[0] == '\n':
+ str = str[1:]
+ return str
+
+def isAlphanum(c):
+ """return true if the character is a letter, digit, underscore,
+ dollar sign, or non-ASCII character.
+ """
+ return ((c >= 'a' and c <= 'z') or (c >= '0' and c <= '9') or
+ (c >= 'A' and c <= 'Z') or c == '_' or c == '$' or c == '\\' or (c is not None and ord(c) > 126));
+
+class UnterminatedComment(Exception):
+ pass
+
+class UnterminatedStringLiteral(Exception):
+ pass
+
+class UnterminatedRegularExpression(Exception):
+ pass
+
+class JavascriptMinify(object):
+
+ def _outA(self):
+ self.outstream.write(self.theA)
+ def _outB(self):
+ self.outstream.write(self.theB)
+
+ def _get(self):
+ """return the next character from stdin. Watch out for lookahead. If
+ the character is a control character, translate it to a space or
+ linefeed.
+ """
+ c = self.theLookahead
+ self.theLookahead = None
+ if c == None:
+ c = self.instream.read(1)
+ if c >= ' ' or c == '\n':
+ return c
+ if c == '': # EOF
+ return '\000'
+ if c == '\r':
+ return '\n'
+ return ' '
+
+ def _peek(self):
+ self.theLookahead = self._get()
+ return self.theLookahead
+
+ def _next(self):
+ """get the next character, excluding comments. peek() is used to see
+ if a '/' is followed by a '/' or '*'.
+ """
+ c = self._get()
+ if c == '/':
+ p = self._peek()
+ if p == '/':
+ c = self._get()
+ while c > '\n':
+ c = self._get()
+ return c
+ if p == '*':
+ c = self._get()
+ while 1:
+ c = self._get()
+ if c == '*':
+ if self._peek() == '/':
+ self._get()
+ return ' '
+ if c == '\000':
+ raise UnterminatedComment()
+
+ return c
+
+ def _action(self, action):
+ """do something! What you do is determined by the argument:
+ 1 Output A. Copy B to A. Get the next B.
+ 2 Copy B to A. Get the next B. (Delete A).
+ 3 Get the next B. (Delete B).
+ action treats a string as a single character. Wow!
+ action recognizes a regular expression if it is preceded by ( or , or =.
+ """
+ if action <= 1:
+ self._outA()
+
+ if action <= 2:
+ self.theA = self.theB
+ if self.theA == "'" or self.theA == '"':
+ while 1:
+ self._outA()
+ self.theA = self._get()
+ if self.theA == self.theB:
+ break
+ if self.theA <= '\n':
+ raise UnterminatedStringLiteral()
+ if self.theA == '\\':
+ self._outA()
+ self.theA = self._get()
+
+
+ if action <= 3:
+ self.theB = self._next()
+ if self.theB == '/' and (self.theA == '(' or self.theA == ',' or
+ self.theA == '=' or self.theA == ':' or
+ self.theA == '[' or self.theA == '?' or
+ self.theA == '!' or self.theA == '&' or
+ self.theA == '|' or self.theA == ';' or
+ self.theA == '{' or self.theA == '}' or
+ self.theA == '\n'):
+ self._outA()
+ self._outB()
+ while 1:
+ self.theA = self._get()
+ if self.theA == '/':
+ break
+ elif self.theA == '\\':
+ self._outA()
+ self.theA = self._get()
+ elif self.theA <= '\n':
+ raise UnterminatedRegularExpression()
+ self._outA()
+ self.theB = self._next()
+
+
+ def _jsmin(self):
+ """Copy the input to the output, deleting the characters which are
+ insignificant to JavaScript. Comments will be removed. Tabs will be
+ replaced with spaces. Carriage returns will be replaced with linefeeds.
+ Most spaces and linefeeds will be removed.
+ """
+ self.theA = '\n'
+ self._action(3)
+
+ while self.theA != '\000':
+ if self.theA == ' ':
+ if isAlphanum(self.theB):
+ self._action(1)
+ else:
+ self._action(2)
+ elif self.theA == '\n':
+ if self.theB in ['{', '[', '(', '+', '-']:
+ self._action(1)
+ elif self.theB == ' ':
+ self._action(3)
+ else:
+ if isAlphanum(self.theB):
+ self._action(1)
+ else:
+ self._action(2)
+ else:
+ if self.theB == ' ':
+ if isAlphanum(self.theA):
+ self._action(1)
+ else:
+ self._action(3)
+ elif self.theB == '\n':
+ if self.theA in ['}', ']', ')', '+', '-', '"', '\'']:
+ self._action(1)
+ else:
+ if isAlphanum(self.theA):
+ self._action(1)
+ else:
+ self._action(3)
+ else:
+ self._action(1)
+
+ def minify(self, instream, outstream):
+ self.instream = instream
+ self.outstream = outstream
+ self.theA = '\n'
+ self.theB = None
+ self.theLookahead = None
+
+ self._jsmin()
+ self.instream.close()
+
+if __name__ == '__main__':
+ import sys
+ jsm = JavascriptMinify()
+ jsm.minify(sys.stdin, sys.stdout)
Oops, something went wrong.

0 comments on commit f20c8c3

Please sign in to comment.