ccb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.md +31 -0
  4. data/bin/ccb +4 -0
  5. data/lib/ccb/builder/project_builder.rb +14 -0
  6. data/lib/ccb/builder/scene_builder.rb +9 -0
  7. data/lib/ccb/builder/templates/project/GameConfig.js.tt +21 -0
  8. data/lib/ccb/builder/templates/project/_cocos-project.json +4 -0
  9. data/lib/ccb/builder/templates/project/folder/CMakeLists.txt +295 -0
  10. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/Base64Images.js +32 -0
  11. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCBoot.js +2271 -0
  12. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCDebugger.js +336 -0
  13. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCAction.js +694 -0
  14. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCamera.js +293 -0
  15. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCatmullRom.js +605 -0
  16. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionEase.js +3681 -0
  17. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInstant.js +757 -0
  18. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInterval.js +3554 -0
  19. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionTween.js +166 -0
  20. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid.js +372 -0
  21. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid3D.js +1257 -0
  22. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionPageTurn3D.js +113 -0
  23. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionTiledGrid.js +1289 -0
  24. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/audio/CCAudio.js +1024 -0
  25. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNode.js +224 -0
  26. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeCanvasRenderCmd.js +227 -0
  27. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeWebGLRenderCmd.js +226 -0
  28. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/ZipUtils.js +82 -0
  29. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/base64.js +95 -0
  30. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/gzip.js +731 -0
  31. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/zlib.min.js +55 -0
  32. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCActionManager.js +378 -0
  33. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCCamera.js +290 -0
  34. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCConfiguration.js +294 -0
  35. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirector.js +1019 -0
  36. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirectorWebGL.js +329 -0
  37. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesCanvas.js +438 -0
  38. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesWebGL.js +464 -0
  39. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCScheduler.js +744 -0
  40. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/BaseNodesPropertyDefine.js +127 -0
  41. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNode.js +294 -0
  42. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeCanvasRenderCmd.js +138 -0
  43. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeWebGLRenderCmd.js +145 -0
  44. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNode.js +2386 -0
  45. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js +504 -0
  46. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeWebGLRenderCmd.js +254 -0
  47. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCAffineTransform.js +259 -0
  48. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCGeometry.js +327 -0
  49. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEvent.js +449 -0
  50. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventExtension.js +126 -0
  51. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventListener.js +519 -0
  52. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventManager.js +1025 -0
  53. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCTouch.js +175 -0
  54. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTF.js +829 -0
  55. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js +420 -0
  56. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js +101 -0
  57. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/LabelTTFPropertyDefine.js +88 -0
  58. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayer.js +642 -0
  59. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerCanvasRenderCmd.js +434 -0
  60. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerWebGLRenderCmd.js +248 -0
  61. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCClass.js +333 -0
  62. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCCommon.js +303 -0
  63. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCConfig.js +303 -0
  64. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCEGLView.js +1245 -0
  65. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputExtension.js +135 -0
  66. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputManager.js +616 -0
  67. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCLoaders.js +142 -0
  68. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCMacro.js +830 -0
  69. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCSAXParser.js +160 -0
  70. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCScreen.js +155 -0
  71. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypes.js +374 -0
  72. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesPropertyDefine.js +165 -0
  73. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesWebGL.js +689 -0
  74. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCVisibleRect.js +100 -0
  75. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/miniFramework.js +264 -0
  76. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererCanvas.js +274 -0
  77. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererWebGL.js +137 -0
  78. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCLoaderScene.js +149 -0
  79. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCScene.js +62 -0
  80. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimation.js +477 -0
  81. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimationCache.js +213 -0
  82. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCBakeSprite.js +71 -0
  83. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSprite.js +1014 -0
  84. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNode.js +676 -0
  85. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeCanvasRenderCmd.js +101 -0
  86. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeWebGLRenderCmd.js +243 -0
  87. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteCanvasRenderCmd.js +518 -0
  88. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrame.js +420 -0
  89. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrameCache.js +341 -0
  90. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteWebGLRenderCmd.js +493 -0
  91. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/SpritesPropertyDefine.js +67 -0
  92. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCPointExtension.js +515 -0
  93. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCVertex.js +170 -0
  94. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/TransformUtils.js +62 -0
  95. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTexture2D.js +455 -0
  96. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureAtlas.js +653 -0
  97. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureCache.js +371 -0
  98. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesPropertyDefine.js +221 -0
  99. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesWebGL.js +899 -0
  100. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/utils/BinaryLoader.js +151 -0
  101. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrabber.js +110 -0
  102. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrid.js +737 -0
  103. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/aabb.js +68 -0
  104. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/mat4stack.js +59 -0
  105. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/matrix.js +169 -0
  106. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat3.js +329 -0
  107. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat4.js +810 -0
  108. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/plane.js +184 -0
  109. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/quaternion.js +497 -0
  110. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/ray2.js +163 -0
  111. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/utility.js +76 -0
  112. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec2.js +107 -0
  113. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec3.js +205 -0
  114. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec4.js +158 -0
  115. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlas.js +239 -0
  116. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasCanvasRenderCmd.js +95 -0
  117. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasWebGLRenderCmd.js +132 -0
  118. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFont.js +958 -0
  119. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontCanvasRenderCmd.js +142 -0
  120. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontWebGLRenderCmd.js +87 -0
  121. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenu.js +600 -0
  122. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenuItem.js +1422 -0
  123. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreak.js +517 -0
  124. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreakWebGLRenderCmd.js +66 -0
  125. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGrid.js +129 -0
  126. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGridWebGLRenderCmd.js +98 -0
  127. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNode.js +252 -0
  128. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNodeRenderCmd.js +69 -0
  129. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCPNGReader.js +330 -0
  130. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNode.js +527 -0
  131. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeCanvasRenderCmd.js +38 -0
  132. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeWebGLRenderCmd.js +74 -0
  133. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleExamples.js +1006 -0
  134. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystem.js +2294 -0
  135. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js +217 -0
  136. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemWebGLRenderCmd.js +402 -0
  137. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCTIFFReader.js +692 -0
  138. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNode.js +212 -0
  139. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeCanvasRenderCmd.js +52 -0
  140. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeWebGLRenderCmd.js +53 -0
  141. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSprite.js +447 -0
  142. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteCanvasRenderCmd.js +93 -0
  143. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteWebGLRenderCmd.js +87 -0
  144. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCActionProgressTimer.js +227 -0
  145. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimer.js +345 -0
  146. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerCanvasRenderCmd.js +270 -0
  147. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerWebGLRenderCmd.js +486 -0
  148. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTexture.js +395 -0
  149. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureCanvasRenderCmd.js +105 -0
  150. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureWebGLRenderCmd.js +367 -0
  151. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLProgram.js +767 -0
  152. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLStateCache.js +340 -0
  153. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaderCache.js +301 -0
  154. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaders.js +280 -0
  155. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNode.js +940 -0
  156. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeCanvasRenderCmd.js +129 -0
  157. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeWebGLRenderCmd.js +41 -0
  158. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCIMEDispatcher.js +526 -0
  159. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCTextFieldTTF.js +472 -0
  160. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTGAlib.js +437 -0
  161. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayer.js +914 -0
  162. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerCanvasRenderCmd.js +232 -0
  163. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerWebGLRenderCmd.js +67 -0
  164. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXObjectGroup.js +146 -0
  165. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXTiledMap.js +479 -0
  166. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXXMLParser.js +950 -0
  167. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransition.js +1971 -0
  168. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionPageTurn.js +152 -0
  169. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionProgress.js +458 -0
  170. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBAnimationManager.js +770 -0
  171. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBKeyframe.js +60 -0
  172. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReader.js +1129 -0
  173. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReaderUtil.js +61 -0
  174. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBRelativePositioning.js +90 -0
  175. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBSequence.js +114 -0
  176. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBValue.js +81 -0
  177. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCControlLoader.js +318 -0
  178. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoader.js +905 -0
  179. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoaderLibrary.js +101 -0
  180. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCSpriteLoader.js +544 -0
  181. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccpool/CCPool.js +146 -0
  182. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNode.js +305 -0
  183. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeCanvasRenderCmd.js +246 -0
  184. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeWebGLRenderCmd.js +159 -0
  185. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9Sprite.js +1105 -0
  186. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteCanvasRenderCmd.js +142 -0
  187. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteWebGLRenderCmd.js +129 -0
  188. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidget.js +2059 -0
  189. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidgetRenderCmd.js +100 -0
  190. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIHBox.js +80 -0
  191. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayout.js +1558 -0
  192. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutCanvasRenderCmd.js +179 -0
  193. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutComponent.js +585 -0
  194. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutManager.js +457 -0
  195. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutParameter.js +576 -0
  196. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutWebGLRenderCmd.js +240 -0
  197. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIRelativeBox.js +79 -0
  198. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIVBox.js +79 -0
  199. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/CocosGUI.js +62 -0
  200. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/UIHelper.js +164 -0
  201. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIButton.js +987 -0
  202. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UICheckBox.js +737 -0
  203. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIImageView.js +337 -0
  204. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UILoadingBar.js +432 -0
  205. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIRichText.js +579 -0
  206. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UISlider.js +762 -0
  207. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIText.js +512 -0
  208. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextAtlas.js +229 -0
  209. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextBMFont.js +216 -0
  210. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextField.js +915 -0
  211. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIListView.js +602 -0
  212. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIPageView.js +657 -0
  213. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIScrollView.js +1884 -0
  214. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/CocoStudio.js +68 -0
  215. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionFrame.js +528 -0
  216. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionManager.js +112 -0
  217. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionNode.js +417 -0
  218. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionObject.js +263 -0
  219. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmature.js +579 -0
  220. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureCanvasRenderCmd.js +190 -0
  221. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureWebGLRenderCmd.js +167 -0
  222. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCBone.js +711 -0
  223. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCArmatureAnimation.js +669 -0
  224. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCProcessBase.js +365 -0
  225. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCTween.js +448 -0
  226. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/datas/CCDatas.js +807 -0
  227. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDecorativeDisplay.js +118 -0
  228. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayFactory.js +220 -0
  229. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayManager.js +465 -0
  230. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkin.js +215 -0
  231. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinCanvasRenderCmd.js +58 -0
  232. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinWebGLRenderCmd.js +146 -0
  233. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/physics/CCColliderDetector.js +397 -0
  234. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDataManager.js +325 -0
  235. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDefine.js +45 -0
  236. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCDataReaderHelper.js +1223 -0
  237. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCSpriteFrameCacheHelper.js +68 -0
  238. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTransformHelp.js +183 -0
  239. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTweenFunction.js +501 -0
  240. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCUtilMath.js +69 -0
  241. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAttribute.js +210 -0
  242. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAudio.js +285 -0
  243. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComController.js +76 -0
  244. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComRender.js +91 -0
  245. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponent.js +136 -0
  246. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponentContainer.js +159 -0
  247. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/load.js +221 -0
  248. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-1.x.js +238 -0
  249. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-2.x.js +266 -0
  250. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/compatible.js +251 -0
  251. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/scene-1.x.js +262 -0
  252. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-1.x.js +292 -0
  253. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-2.x.js +1288 -0
  254. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/uiParser-1.x.js +680 -0
  255. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/ActionTimeline.js +448 -0
  256. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Frame.js +1268 -0
  257. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Timeline.js +321 -0
  258. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/ObjectFactory.js +99 -0
  259. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerBase.js +49 -0
  260. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerMng.js +301 -0
  261. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerObj.js +263 -0
  262. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCEditBox.js +716 -0
  263. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCdomNode.js +657 -0
  264. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControl.js +381 -0
  265. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlButton.js +688 -0
  266. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlColourPicker.js +187 -0
  267. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlHuePicker.js +218 -0
  268. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlPotentiometer.js +300 -0
  269. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSaturationBrightnessPicker.js +257 -0
  270. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSlider.js +308 -0
  271. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlStepper.js +390 -0
  272. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSwitch.js +425 -0
  273. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlUtils.js +177 -0
  274. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCInvocation.js +65 -0
  275. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCMenuPassive.js +415 -0
  276. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9Sprite.js +1099 -0
  277. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteCanvasRenderCmd.js +142 -0
  278. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteWebGLRenderCmd.js +129 -0
  279. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollView.js +827 -0
  280. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewCanvasRenderCmd.js +79 -0
  281. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewWebGLRenderCmd.js +108 -0
  282. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCSorting.js +239 -0
  283. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCTableView.js +718 -0
  284. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeleton.js +357 -0
  285. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonAnimation.js +340 -0
  286. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonCanvasRenderCmd.js +165 -0
  287. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonWebGLRenderCmd.js +165 -0
  288. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/Spine.js +2239 -0
  289. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/box2d/box2d.js +10882 -0
  290. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/chipmunk/chipmunk.js +6196 -0
  291. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/Plugin.js +254 -0
  292. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook.js +557 -0
  293. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook_sdk.js +151 -0
  294. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/socketio/socket.io.min.js +2 -0
  295. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/jsb_apis.js +618 -0
  296. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/moduleConfig.json +453 -0
  297. data/lib/ccb/builder/templates/project/folder/project.json +42 -0
  298. data/lib/ccb/builder/templates/project/folder/res/CloseNormal.png +0 -0
  299. data/lib/ccb/builder/templates/project/folder/res/CloseSelected.png +0 -0
  300. data/lib/ccb/builder/templates/project/folder/res/HelloWorld.png +0 -0
  301. data/lib/ccb/builder/templates/project/folder/res/favicon.ico +0 -0
  302. data/lib/ccb/builder/templates/project/folder/res/gameOver/cocos2d-html5.png +0 -0
  303. data/lib/ccb/builder/templates/project/folder/res/gameOver/gameOver.png +0 -0
  304. data/lib/ccb/builder/templates/project/folder/res/mainMenu/bg.png +0 -0
  305. data/lib/ccb/builder/templates/project/folder/res/mainMenu/menu.png +0 -0
  306. data/lib/ccb/builder/templates/project/folder/res/setting/menuTitle.png +0 -0
  307. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.fnt +182 -0
  308. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.png +0 -0
  309. data/lib/ccb/builder/templates/project/folder/res/sound/music/bgMusic.mp3 +0 -0
  310. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABBackgroundLayer.js +23 -0
  311. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABTouchLayer.js +51 -0
  312. data/lib/ccb/builder/templates/project/folder/src/about/scene/About.js +36 -0
  313. data/lib/ccb/builder/templates/project/folder/src/config/Level.js +7 -0
  314. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOBackgroundLayer.js +50 -0
  315. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOTouchLayer.js +51 -0
  316. data/lib/ccb/builder/templates/project/folder/src/gameOver/scene/GameOver.js +38 -0
  317. data/lib/ccb/builder/templates/project/folder/src/gamePlay/classes/LevelManager.js +21 -0
  318. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPBackgroundLayer.js +25 -0
  319. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPTouchLayer.js +51 -0
  320. data/lib/ccb/builder/templates/project/folder/src/gamePlay/scene/GamePlay.js +44 -0
  321. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMBackgroundLayer.js +43 -0
  322. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMMainMenuLayer.js +38 -0
  323. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMTouchLayer.js +96 -0
  324. data/lib/ccb/builder/templates/project/folder/src/mainMenu/scene/MainMenu.js +45 -0
  325. data/lib/ccb/builder/templates/project/folder/src/resource.js +29 -0
  326. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STBackgroundLayer.js +25 -0
  327. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STTouchLayer.js +89 -0
  328. data/lib/ccb/builder/templates/project/folder/src/setting/scene/Setting.js +40 -0
  329. data/lib/ccb/builder/templates/project/index.html.tt +27 -0
  330. data/lib/ccb/builder/templates/project/main.js.tt +62 -0
  331. data/lib/ccb/cli.rb +32 -0
  332. data/lib/ccb/ext/method_hooker.rb +68 -0
  333. data/lib/ccb/ext/string_extention.rb +7 -0
  334. data/lib/ccb.rb +1 -0
  335. metadata +449 -0
@@ -0,0 +1,692 @@
1
+ /****************************************************************************
2
+ Copyright (c) 2011 Gordon P. Hemsley
3
+ http://gphemsley.org/
4
+
5
+ Copyright (c) 2008-2010 Ricardo Quesada
6
+ Copyright (c) 2011-2012 cocos2d-x.org
7
+ Copyright (c) 2013-2014 Chukong Technologies Inc.
8
+
9
+ http://www.cocos2d-x.org
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in
19
+ all copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27
+ THE SOFTWARE.
28
+ ****************************************************************************/
29
+
30
+ /**
31
+ * cc.tiffReader is a singleton object, it's a tiff file reader, it can parse byte array to draw into a canvas
32
+ * @class
33
+ * @name cc.tiffReader
34
+ */
35
+ cc.tiffReader = /** @lends cc.tiffReader# */{
36
+ _littleEndian: false,
37
+ _tiffData: null,
38
+ _fileDirectories: [],
39
+
40
+ getUint8: function (offset) {
41
+ return this._tiffData[offset];
42
+ },
43
+
44
+ getUint16: function (offset) {
45
+ if (this._littleEndian)
46
+ return (this._tiffData[offset + 1] << 8) | (this._tiffData[offset]);
47
+ else
48
+ return (this._tiffData[offset] << 8) | (this._tiffData[offset + 1]);
49
+ },
50
+
51
+ getUint32: function (offset) {
52
+ var a = this._tiffData;
53
+ if (this._littleEndian)
54
+ return (a[offset + 3] << 24) | (a[offset + 2] << 16) | (a[offset + 1] << 8) | (a[offset]);
55
+ else
56
+ return (a[offset] << 24) | (a[offset + 1] << 16) | (a[offset + 2] << 8) | (a[offset + 3]);
57
+ },
58
+
59
+ checkLittleEndian: function () {
60
+ var BOM = this.getUint16(0);
61
+
62
+ if (BOM === 0x4949) {
63
+ this.littleEndian = true;
64
+ } else if (BOM === 0x4D4D) {
65
+ this.littleEndian = false;
66
+ } else {
67
+ console.log(BOM);
68
+ throw TypeError("Invalid byte order value.");
69
+ }
70
+
71
+ return this.littleEndian;
72
+ },
73
+
74
+ hasTowel: function () {
75
+ // Check for towel.
76
+ if (this.getUint16(2) !== 42) {
77
+ throw RangeError("You forgot your towel!");
78
+ return false;
79
+ }
80
+
81
+ return true;
82
+ },
83
+
84
+ getFieldTypeName: function (fieldType) {
85
+ var typeNames = this.fieldTypeNames;
86
+ if (fieldType in typeNames) {
87
+ return typeNames[fieldType];
88
+ }
89
+ return null;
90
+ },
91
+
92
+ getFieldTagName: function (fieldTag) {
93
+ var tagNames = this.fieldTagNames;
94
+
95
+ if (fieldTag in tagNames) {
96
+ return tagNames[fieldTag];
97
+ } else {
98
+ console.log("Unknown Field Tag:", fieldTag);
99
+ return "Tag" + fieldTag;
100
+ }
101
+ },
102
+
103
+ getFieldTypeLength: function (fieldTypeName) {
104
+ if (['BYTE', 'ASCII', 'SBYTE', 'UNDEFINED'].indexOf(fieldTypeName) !== -1) {
105
+ return 1;
106
+ } else if (['SHORT', 'SSHORT'].indexOf(fieldTypeName) !== -1) {
107
+ return 2;
108
+ } else if (['LONG', 'SLONG', 'FLOAT'].indexOf(fieldTypeName) !== -1) {
109
+ return 4;
110
+ } else if (['RATIONAL', 'SRATIONAL', 'DOUBLE'].indexOf(fieldTypeName) !== -1) {
111
+ return 8;
112
+ }
113
+ return null;
114
+ },
115
+
116
+ getFieldValues: function (fieldTagName, fieldTypeName, typeCount, valueOffset) {
117
+ var fieldValues = [];
118
+ var fieldTypeLength = this.getFieldTypeLength(fieldTypeName);
119
+ var fieldValueSize = fieldTypeLength * typeCount;
120
+
121
+ if (fieldValueSize <= 4) {
122
+ // The value is stored at the big end of the valueOffset.
123
+ if (this.littleEndian === false)
124
+ fieldValues.push(valueOffset >>> ((4 - fieldTypeLength) * 8));
125
+ else
126
+ fieldValues.push(valueOffset);
127
+ } else {
128
+ for (var i = 0; i < typeCount; i++) {
129
+ var indexOffset = fieldTypeLength * i;
130
+ if (fieldTypeLength >= 8) {
131
+ if (['RATIONAL', 'SRATIONAL'].indexOf(fieldTypeName) !== -1) {
132
+ // Numerator
133
+ fieldValues.push(this.getUint32(valueOffset + indexOffset));
134
+ // Denominator
135
+ fieldValues.push(this.getUint32(valueOffset + indexOffset + 4));
136
+ } else {
137
+ cc.log("Can't handle this field type or size");
138
+ }
139
+ } else {
140
+ fieldValues.push(this.getBytes(fieldTypeLength, valueOffset + indexOffset));
141
+ }
142
+ }
143
+ }
144
+
145
+ if (fieldTypeName === 'ASCII') {
146
+ fieldValues.forEach(function (e, i, a) {
147
+ a[i] = String.fromCharCode(e);
148
+ });
149
+ }
150
+ return fieldValues;
151
+ },
152
+
153
+ getBytes: function (numBytes, offset) {
154
+ if (numBytes <= 0) {
155
+ cc.log("No bytes requested");
156
+ } else if (numBytes <= 1) {
157
+ return this.getUint8(offset);
158
+ } else if (numBytes <= 2) {
159
+ return this.getUint16(offset);
160
+ } else if (numBytes <= 3) {
161
+ return this.getUint32(offset) >>> 8;
162
+ } else if (numBytes <= 4) {
163
+ return this.getUint32(offset);
164
+ } else {
165
+ cc.log("Too many bytes requested");
166
+ }
167
+ },
168
+
169
+ getBits: function (numBits, byteOffset, bitOffset) {
170
+ bitOffset = bitOffset || 0;
171
+ var extraBytes = Math.floor(bitOffset / 8);
172
+ var newByteOffset = byteOffset + extraBytes;
173
+ var totalBits = bitOffset + numBits;
174
+ var shiftRight = 32 - numBits;
175
+ var shiftLeft,rawBits;
176
+
177
+ if (totalBits <= 0) {
178
+ console.log("No bits requested");
179
+ } else if (totalBits <= 8) {
180
+ shiftLeft = 24 + bitOffset;
181
+ rawBits = this.getUint8(newByteOffset);
182
+ } else if (totalBits <= 16) {
183
+ shiftLeft = 16 + bitOffset;
184
+ rawBits = this.getUint16(newByteOffset);
185
+ } else if (totalBits <= 32) {
186
+ shiftLeft = bitOffset;
187
+ rawBits = this.getUint32(newByteOffset);
188
+ } else {
189
+ console.log( "Too many bits requested" );
190
+ }
191
+
192
+ return {
193
+ 'bits': ((rawBits << shiftLeft) >>> shiftRight),
194
+ 'byteOffset': newByteOffset + Math.floor(totalBits / 8),
195
+ 'bitOffset': totalBits % 8
196
+ };
197
+ },
198
+
199
+ parseFileDirectory: function (byteOffset) {
200
+ var numDirEntries = this.getUint16(byteOffset);
201
+ var tiffFields = [];
202
+
203
+ for (var i = byteOffset + 2, entryCount = 0; entryCount < numDirEntries; i += 12, entryCount++) {
204
+ var fieldTag = this.getUint16(i);
205
+ var fieldType = this.getUint16(i + 2);
206
+ var typeCount = this.getUint32(i + 4);
207
+ var valueOffset = this.getUint32(i + 8);
208
+
209
+ var fieldTagName = this.getFieldTagName(fieldTag);
210
+ var fieldTypeName = this.getFieldTypeName(fieldType);
211
+ var fieldValues = this.getFieldValues(fieldTagName, fieldTypeName, typeCount, valueOffset);
212
+
213
+ tiffFields[fieldTagName] = { type: fieldTypeName, values: fieldValues };
214
+ }
215
+
216
+ this._fileDirectories.push(tiffFields);
217
+
218
+ var nextIFDByteOffset = this.getUint32(i);
219
+ if (nextIFDByteOffset !== 0x00000000) {
220
+ this.parseFileDirectory(nextIFDByteOffset);
221
+ }
222
+ },
223
+
224
+ clampColorSample: function(colorSample, bitsPerSample) {
225
+ var multiplier = Math.pow(2, 8 - bitsPerSample);
226
+
227
+ return Math.floor((colorSample * multiplier) + (multiplier - 1));
228
+ },
229
+
230
+ /**
231
+ * @function
232
+ * @param {Array} tiffData
233
+ * @param {HTMLCanvasElement} canvas
234
+ * @returns {*}
235
+ */
236
+ parseTIFF: function (tiffData, canvas) {
237
+ canvas = canvas || cc.newElement('canvas');
238
+
239
+ this._tiffData = tiffData;
240
+ this.canvas = canvas;
241
+
242
+ this.checkLittleEndian();
243
+
244
+ if (!this.hasTowel()) {
245
+ return;
246
+ }
247
+
248
+ var firstIFDByteOffset = this.getUint32(4);
249
+
250
+ this._fileDirectories.length = 0;
251
+ this.parseFileDirectory(firstIFDByteOffset);
252
+
253
+ var fileDirectory = this._fileDirectories[0];
254
+
255
+ var imageWidth = fileDirectory['ImageWidth'].values[0];
256
+ var imageLength = fileDirectory['ImageLength'].values[0];
257
+
258
+ this.canvas.width = imageWidth;
259
+ this.canvas.height = imageLength;
260
+
261
+ var strips = [];
262
+
263
+ var compression = (fileDirectory['Compression']) ? fileDirectory['Compression'].values[0] : 1;
264
+
265
+ var samplesPerPixel = fileDirectory['SamplesPerPixel'].values[0];
266
+
267
+ var sampleProperties = [];
268
+
269
+ var bitsPerPixel = 0;
270
+ var hasBytesPerPixel = false;
271
+
272
+ fileDirectory['BitsPerSample'].values.forEach(function (bitsPerSample, i, bitsPerSampleValues) {
273
+ sampleProperties[i] = {
274
+ bitsPerSample: bitsPerSample,
275
+ hasBytesPerSample: false,
276
+ bytesPerSample: undefined
277
+ };
278
+
279
+ if ((bitsPerSample % 8) === 0) {
280
+ sampleProperties[i].hasBytesPerSample = true;
281
+ sampleProperties[i].bytesPerSample = bitsPerSample / 8;
282
+ }
283
+
284
+ bitsPerPixel += bitsPerSample;
285
+ }, this);
286
+
287
+ if ((bitsPerPixel % 8) === 0) {
288
+ hasBytesPerPixel = true;
289
+ var bytesPerPixel = bitsPerPixel / 8;
290
+ }
291
+
292
+ var stripOffsetValues = fileDirectory['StripOffsets'].values;
293
+ var numStripOffsetValues = stripOffsetValues.length;
294
+
295
+ // StripByteCounts is supposed to be required, but see if we can recover anyway.
296
+ if (fileDirectory['StripByteCounts']) {
297
+ var stripByteCountValues = fileDirectory['StripByteCounts'].values;
298
+ } else {
299
+ cc.log("Missing StripByteCounts!");
300
+
301
+ // Infer StripByteCounts, if possible.
302
+ if (numStripOffsetValues === 1) {
303
+ var stripByteCountValues = [Math.ceil((imageWidth * imageLength * bitsPerPixel) / 8)];
304
+ } else {
305
+ throw Error("Cannot recover from missing StripByteCounts");
306
+ }
307
+ }
308
+
309
+ // Loop through strips and decompress as necessary.
310
+ for (var i = 0; i < numStripOffsetValues; i++) {
311
+ var stripOffset = stripOffsetValues[i];
312
+ strips[i] = [];
313
+
314
+ var stripByteCount = stripByteCountValues[i];
315
+
316
+ // Loop through pixels.
317
+ for (var byteOffset = 0, bitOffset = 0, jIncrement = 1, getHeader = true, pixel = [], numBytes = 0, sample = 0, currentSample = 0;
318
+ byteOffset < stripByteCount; byteOffset += jIncrement) {
319
+ // Decompress strip.
320
+ switch (compression) {
321
+ // Uncompressed
322
+ case 1:
323
+ // Loop through samples (sub-pixels).
324
+ for (var m = 0, pixel = []; m < samplesPerPixel; m++) {
325
+ if (sampleProperties[m].hasBytesPerSample) {
326
+ // XXX: This is wrong!
327
+ var sampleOffset = sampleProperties[m].bytesPerSample * m;
328
+ pixel.push(this.getBytes(sampleProperties[m].bytesPerSample, stripOffset + byteOffset + sampleOffset));
329
+ } else {
330
+ var sampleInfo = this.getBits(sampleProperties[m].bitsPerSample, stripOffset + byteOffset, bitOffset);
331
+ pixel.push(sampleInfo.bits);
332
+ byteOffset = sampleInfo.byteOffset - stripOffset;
333
+ bitOffset = sampleInfo.bitOffset;
334
+
335
+ throw RangeError("Cannot handle sub-byte bits per sample");
336
+ }
337
+ }
338
+
339
+ strips[i].push(pixel);
340
+
341
+ if (hasBytesPerPixel) {
342
+ jIncrement = bytesPerPixel;
343
+ } else {
344
+ jIncrement = 0;
345
+ throw RangeError("Cannot handle sub-byte bits per pixel");
346
+ }
347
+ break;
348
+
349
+ // CITT Group 3 1-Dimensional Modified Huffman run-length encoding
350
+ case 2:
351
+ // XXX: Use PDF.js code?
352
+ break;
353
+
354
+ // Group 3 Fax
355
+ case 3:
356
+ // XXX: Use PDF.js code?
357
+ break;
358
+
359
+ // Group 4 Fax
360
+ case 4:
361
+ // XXX: Use PDF.js code?
362
+ break;
363
+
364
+ // LZW
365
+ case 5:
366
+ // XXX: Use PDF.js code?
367
+ break;
368
+
369
+ // Old-style JPEG (TIFF 6.0)
370
+ case 6:
371
+ // XXX: Use PDF.js code?
372
+ break;
373
+
374
+ // New-style JPEG (TIFF Specification Supplement 2)
375
+ case 7:
376
+ // XXX: Use PDF.js code?
377
+ break;
378
+
379
+ // PackBits
380
+ case 32773:
381
+ // Are we ready for a new block?
382
+ if (getHeader) {
383
+ getHeader = false;
384
+
385
+ var blockLength = 1;
386
+ var iterations = 1;
387
+
388
+ // The header byte is signed.
389
+ var header = this.getInt8(stripOffset + byteOffset);
390
+
391
+ if ((header >= 0) && (header <= 127)) { // Normal pixels.
392
+ blockLength = header + 1;
393
+ } else if ((header >= -127) && (header <= -1)) { // Collapsed pixels.
394
+ iterations = -header + 1;
395
+ } else /*if (header === -128)*/ { // Placeholder byte?
396
+ getHeader = true;
397
+ }
398
+ } else {
399
+ var currentByte = this.getUint8(stripOffset + byteOffset);
400
+
401
+ // Duplicate bytes, if necessary.
402
+ for (var m = 0; m < iterations; m++) {
403
+ if (sampleProperties[sample].hasBytesPerSample) {
404
+ // We're reading one byte at a time, so we need to handle multi-byte samples.
405
+ currentSample = (currentSample << (8 * numBytes)) | currentByte;
406
+ numBytes++;
407
+
408
+ // Is our sample complete?
409
+ if (numBytes === sampleProperties[sample].bytesPerSample) {
410
+ pixel.push(currentSample);
411
+ currentSample = numBytes = 0;
412
+ sample++;
413
+ }
414
+ } else {
415
+ throw RangeError("Cannot handle sub-byte bits per sample");
416
+ }
417
+
418
+ // Is our pixel complete?
419
+ if (sample === samplesPerPixel) {
420
+ strips[i].push(pixel);
421
+ pixel = [];
422
+ sample = 0;
423
+ }
424
+ }
425
+
426
+ blockLength--;
427
+
428
+ // Is our block complete?
429
+ if (blockLength === 0) {
430
+ getHeader = true;
431
+ }
432
+ }
433
+
434
+ jIncrement = 1;
435
+ break;
436
+
437
+ // Unknown compression algorithm
438
+ default:
439
+ // Do not attempt to parse the image data.
440
+ break;
441
+ }
442
+ }
443
+ }
444
+
445
+ if (canvas.getContext) {
446
+ var ctx = this.canvas.getContext("2d");
447
+
448
+ // Set a default fill style.
449
+ ctx.fillStyle = "rgba(255, 255, 255, 0)";
450
+
451
+ // If RowsPerStrip is missing, the whole image is in one strip.
452
+ var rowsPerStrip = fileDirectory['RowsPerStrip'] ? fileDirectory['RowsPerStrip'].values[0] : imageLength;
453
+
454
+ var numStrips = strips.length;
455
+
456
+ var imageLengthModRowsPerStrip = imageLength % rowsPerStrip;
457
+ var rowsInLastStrip = (imageLengthModRowsPerStrip === 0) ? rowsPerStrip : imageLengthModRowsPerStrip;
458
+
459
+ var numRowsInStrip = rowsPerStrip;
460
+ var numRowsInPreviousStrip = 0;
461
+
462
+ var photometricInterpretation = fileDirectory['PhotometricInterpretation'].values[0];
463
+
464
+ var extraSamplesValues = [];
465
+ var numExtraSamples = 0;
466
+
467
+ if (fileDirectory['ExtraSamples']) {
468
+ extraSamplesValues = fileDirectory['ExtraSamples'].values;
469
+ numExtraSamples = extraSamplesValues.length;
470
+ }
471
+
472
+ if (fileDirectory['ColorMap']) {
473
+ var colorMapValues = fileDirectory['ColorMap'].values;
474
+ var colorMapSampleSize = Math.pow(2, sampleProperties[0].bitsPerSample);
475
+ }
476
+
477
+ // Loop through the strips in the image.
478
+ for (var i = 0; i < numStrips; i++) {
479
+ // The last strip may be short.
480
+ if ((i + 1) === numStrips) {
481
+ numRowsInStrip = rowsInLastStrip;
482
+ }
483
+
484
+ var numPixels = strips[i].length;
485
+ var yPadding = numRowsInPreviousStrip * i;
486
+
487
+ // Loop through the rows in the strip.
488
+ for (var y = 0, j = 0; y < numRowsInStrip, j < numPixels; y++) {
489
+ // Loop through the pixels in the row.
490
+ for (var x = 0; x < imageWidth; x++, j++) {
491
+ var pixelSamples = strips[i][j];
492
+
493
+ var red = 0;
494
+ var green = 0;
495
+ var blue = 0;
496
+ var opacity = 1.0;
497
+
498
+ if (numExtraSamples > 0) {
499
+ for (var k = 0; k < numExtraSamples; k++) {
500
+ if (extraSamplesValues[k] === 1 || extraSamplesValues[k] === 2) {
501
+ // Clamp opacity to the range [0,1].
502
+ opacity = pixelSamples[3 + k] / 256;
503
+
504
+ break;
505
+ }
506
+ }
507
+ }
508
+
509
+ switch (photometricInterpretation) {
510
+ // Bilevel or Grayscale
511
+ // WhiteIsZero
512
+ case 0:
513
+ if (sampleProperties[0].hasBytesPerSample) {
514
+ var invertValue = Math.pow(0x10, sampleProperties[0].bytesPerSample * 2);
515
+ }
516
+
517
+ // Invert samples.
518
+ pixelSamples.forEach(function (sample, index, samples) {
519
+ samples[index] = invertValue - sample;
520
+ });
521
+
522
+ // Bilevel or Grayscale
523
+ // BlackIsZero
524
+ case 1:
525
+ red = green = blue = this.clampColorSample(pixelSamples[0], sampleProperties[0].bitsPerSample);
526
+ break;
527
+
528
+ // RGB Full Color
529
+ case 2:
530
+ red = this.clampColorSample(pixelSamples[0], sampleProperties[0].bitsPerSample);
531
+ green = this.clampColorSample(pixelSamples[1], sampleProperties[1].bitsPerSample);
532
+ blue = this.clampColorSample(pixelSamples[2], sampleProperties[2].bitsPerSample);
533
+ break;
534
+
535
+ // RGB Color Palette
536
+ case 3:
537
+ if (colorMapValues === undefined) {
538
+ throw Error("Palette image missing color map");
539
+ }
540
+
541
+ var colorMapIndex = pixelSamples[0];
542
+
543
+ red = this.clampColorSample(colorMapValues[colorMapIndex], 16);
544
+ green = this.clampColorSample(colorMapValues[colorMapSampleSize + colorMapIndex], 16);
545
+ blue = this.clampColorSample(colorMapValues[(2 * colorMapSampleSize) + colorMapIndex], 16);
546
+ break;
547
+
548
+ // Unknown Photometric Interpretation
549
+ default:
550
+ throw RangeError('Unknown Photometric Interpretation:', photometricInterpretation);
551
+ break;
552
+ }
553
+
554
+ ctx.fillStyle = "rgba(" + red + ", " + green + ", " + blue + ", " + opacity + ")";
555
+ ctx.fillRect(x, yPadding + y, 1, 1);
556
+ }
557
+ }
558
+
559
+ numRowsInPreviousStrip = numRowsInStrip;
560
+ }
561
+ }
562
+
563
+ return this.canvas;
564
+ },
565
+
566
+ // See: http://www.digitizationguidelines.gov/guidelines/TIFF_Metadata_Final.pdf
567
+ // See: http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml
568
+ fieldTagNames: {
569
+ // TIFF Baseline
570
+ 0x013B: 'Artist',
571
+ 0x0102: 'BitsPerSample',
572
+ 0x0109: 'CellLength',
573
+ 0x0108: 'CellWidth',
574
+ 0x0140: 'ColorMap',
575
+ 0x0103: 'Compression',
576
+ 0x8298: 'Copyright',
577
+ 0x0132: 'DateTime',
578
+ 0x0152: 'ExtraSamples',
579
+ 0x010A: 'FillOrder',
580
+ 0x0121: 'FreeByteCounts',
581
+ 0x0120: 'FreeOffsets',
582
+ 0x0123: 'GrayResponseCurve',
583
+ 0x0122: 'GrayResponseUnit',
584
+ 0x013C: 'HostComputer',
585
+ 0x010E: 'ImageDescription',
586
+ 0x0101: 'ImageLength',
587
+ 0x0100: 'ImageWidth',
588
+ 0x010F: 'Make',
589
+ 0x0119: 'MaxSampleValue',
590
+ 0x0118: 'MinSampleValue',
591
+ 0x0110: 'Model',
592
+ 0x00FE: 'NewSubfileType',
593
+ 0x0112: 'Orientation',
594
+ 0x0106: 'PhotometricInterpretation',
595
+ 0x011C: 'PlanarConfiguration',
596
+ 0x0128: 'ResolutionUnit',
597
+ 0x0116: 'RowsPerStrip',
598
+ 0x0115: 'SamplesPerPixel',
599
+ 0x0131: 'Software',
600
+ 0x0117: 'StripByteCounts',
601
+ 0x0111: 'StripOffsets',
602
+ 0x00FF: 'SubfileType',
603
+ 0x0107: 'Threshholding',
604
+ 0x011A: 'XResolution',
605
+ 0x011B: 'YResolution',
606
+
607
+ // TIFF Extended
608
+ 0x0146: 'BadFaxLines',
609
+ 0x0147: 'CleanFaxData',
610
+ 0x0157: 'ClipPath',
611
+ 0x0148: 'ConsecutiveBadFaxLines',
612
+ 0x01B1: 'Decode',
613
+ 0x01B2: 'DefaultImageColor',
614
+ 0x010D: 'DocumentName',
615
+ 0x0150: 'DotRange',
616
+ 0x0141: 'HalftoneHints',
617
+ 0x015A: 'Indexed',
618
+ 0x015B: 'JPEGTables',
619
+ 0x011D: 'PageName',
620
+ 0x0129: 'PageNumber',
621
+ 0x013D: 'Predictor',
622
+ 0x013F: 'PrimaryChromaticities',
623
+ 0x0214: 'ReferenceBlackWhite',
624
+ 0x0153: 'SampleFormat',
625
+ 0x022F: 'StripRowCounts',
626
+ 0x014A: 'SubIFDs',
627
+ 0x0124: 'T4Options',
628
+ 0x0125: 'T6Options',
629
+ 0x0145: 'TileByteCounts',
630
+ 0x0143: 'TileLength',
631
+ 0x0144: 'TileOffsets',
632
+ 0x0142: 'TileWidth',
633
+ 0x012D: 'TransferFunction',
634
+ 0x013E: 'WhitePoint',
635
+ 0x0158: 'XClipPathUnits',
636
+ 0x011E: 'XPosition',
637
+ 0x0211: 'YCbCrCoefficients',
638
+ 0x0213: 'YCbCrPositioning',
639
+ 0x0212: 'YCbCrSubSampling',
640
+ 0x0159: 'YClipPathUnits',
641
+ 0x011F: 'YPosition',
642
+
643
+ // EXIF
644
+ 0x9202: 'ApertureValue',
645
+ 0xA001: 'ColorSpace',
646
+ 0x9004: 'DateTimeDigitized',
647
+ 0x9003: 'DateTimeOriginal',
648
+ 0x8769: 'Exif IFD',
649
+ 0x9000: 'ExifVersion',
650
+ 0x829A: 'ExposureTime',
651
+ 0xA300: 'FileSource',
652
+ 0x9209: 'Flash',
653
+ 0xA000: 'FlashpixVersion',
654
+ 0x829D: 'FNumber',
655
+ 0xA420: 'ImageUniqueID',
656
+ 0x9208: 'LightSource',
657
+ 0x927C: 'MakerNote',
658
+ 0x9201: 'ShutterSpeedValue',
659
+ 0x9286: 'UserComment',
660
+
661
+ // IPTC
662
+ 0x83BB: 'IPTC',
663
+
664
+ // ICC
665
+ 0x8773: 'ICC Profile',
666
+
667
+ // XMP
668
+ 0x02BC: 'XMP',
669
+
670
+ // GDAL
671
+ 0xA480: 'GDAL_METADATA',
672
+ 0xA481: 'GDAL_NODATA',
673
+
674
+ // Photoshop
675
+ 0x8649: 'Photoshop'
676
+ },
677
+
678
+ fieldTypeNames: {
679
+ 0x0001: 'BYTE',
680
+ 0x0002: 'ASCII',
681
+ 0x0003: 'SHORT',
682
+ 0x0004: 'LONG',
683
+ 0x0005: 'RATIONAL',
684
+ 0x0006: 'SBYTE',
685
+ 0x0007: 'UNDEFINED',
686
+ 0x0008: 'SSHORT',
687
+ 0x0009: 'SLONG',
688
+ 0x000A: 'SRATIONAL',
689
+ 0x000B: 'FLOAT',
690
+ 0x000C: 'DOUBLE'
691
+ }
692
+ };