joybox 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +27 -0
  5. data/LICENSE +22 -0
  6. data/README.md +86 -0
  7. data/Rakefile +14 -0
  8. data/app/app_delegate.rb +49 -0
  9. data/app/layers/box2d_layer.rb +109 -0
  10. data/app/layers/cocos2d_layer.rb +14 -0
  11. data/app/layers/cocos_motion_layer.rb +145 -0
  12. data/app/layers/menu_layer.rb +59 -0
  13. data/joybox.gemspec +25 -0
  14. data/lib/joybox.rb +47 -0
  15. data/lib/joybox/box2d/body.rb +106 -0
  16. data/lib/joybox/box2d/world.rb +79 -0
  17. data/lib/joybox/cocos2d/actions/actions.rb +7 -0
  18. data/lib/joybox/cocos2d/actions/move.rb +31 -0
  19. data/lib/joybox/cocos2d/actions/repeat.rb +24 -0
  20. data/lib/joybox/cocos2d/actions/rotate.rb +31 -0
  21. data/lib/joybox/cocos2d/actions/scale.rb +31 -0
  22. data/lib/joybox/cocos2d/actions/sequence.rb +22 -0
  23. data/lib/joybox/cocos2d/actions/skew.rb +36 -0
  24. data/lib/joybox/cocos2d/cocos2d.rb +15 -0
  25. data/lib/joybox/cocos2d/common/cg_point.rb +37 -0
  26. data/lib/joybox/cocos2d/common/color.rb +49 -0
  27. data/lib/joybox/cocos2d/common/gc_size.rb +39 -0
  28. data/lib/joybox/cocos2d/common/ns_set.rb +5 -0
  29. data/lib/joybox/cocos2d/common/numeric.rb +14 -0
  30. data/lib/joybox/cocos2d/common/screen.rb +39 -0
  31. data/lib/joybox/cocos2d/common/ui_touch.rb +15 -0
  32. data/lib/joybox/cocos2d/configuration/configuration.rb +68 -0
  33. data/lib/joybox/cocos2d/configuration/file_utils.rb +33 -0
  34. data/lib/joybox/cocos2d/configuration/gl_view.rb +44 -0
  35. data/lib/joybox/cocos2d/configuration/texture_2d.rb +27 -0
  36. data/lib/joybox/cocos2d/core/layer.rb +87 -0
  37. data/lib/joybox/cocos2d/core/node.rb +26 -0
  38. data/lib/joybox/cocos2d/core/physics_sprite.rb +52 -0
  39. data/lib/joybox/cocos2d/core/scene.rb +24 -0
  40. data/lib/joybox/cocos2d/core/sprite.rb +43 -0
  41. data/lib/joybox/cocos2d/core/sprite_batch.rb +24 -0
  42. data/lib/joybox/cocos2d/director.rb +43 -0
  43. data/lib/joybox/cocos2d/macros.rb +234 -0
  44. data/lib/joybox/cocos2d/ui/label.rb +34 -0
  45. data/lib/joybox/cocos2d/ui/menu.rb +25 -0
  46. data/lib/joybox/cocos2d/ui/menu_image.rb +22 -0
  47. data/lib/joybox/cocos2d/ui/menu_label.rb +45 -0
  48. data/lib/joybox/cocos2d/ui/ui.rb +7 -0
  49. data/lib/joybox/version.rb +3 -0
  50. data/resources/box2d/blocks_sprite_sheet.png +0 -0
  51. data/resources/cocos_motion/dot.png +0 -0
  52. data/resources/cocos_motion/dot_selected.png +0 -0
  53. data/resources/cocos_motion/grossini.png +0 -0
  54. data/resources/cocos_motion/grossinis_sister.png +0 -0
  55. data/resources/cocos_motion/grossinis_sister_two.png +0 -0
  56. data/resources/cocos_motion/left_arrow.png +0 -0
  57. data/resources/cocos_motion/left_arrow_selected.png +0 -0
  58. data/resources/cocos_motion/right_arrow.png +0 -0
  59. data/resources/cocos_motion/right_arrow_selected.png +0 -0
  60. data/resources/fps_images-hd.png +0 -0
  61. data/resources/fps_images-ipadhd.png +0 -0
  62. data/resources/fps_images.png +0 -0
  63. data/spec/lib/joybox/cocos2d/cocos2d_spec.rb +7 -0
  64. data/spec/lib/joybox/cocos2d/macros_spec.rb +37 -0
  65. data/spec/main_spec.rb +9 -0
  66. data/vendor/Box2D.framework/Box2D +0 -0
  67. data/vendor/Box2D.framework/Box2D.framework.bridgesupport +166 -0
  68. data/vendor/Box2D.framework/Versions/A/Box2D +0 -0
  69. data/vendor/Box2D.framework/Versions/A/Headers/Collision/B2DContactListener.h +25 -0
  70. data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DEdgeShape.h +17 -0
  71. data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DPolygonShape.h +16 -0
  72. data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DShape.h +15 -0
  73. data/vendor/Box2D.framework/Versions/A/Headers/Dynamics/B2DBody.h +43 -0
  74. data/vendor/Box2D.framework/Versions/A/Headers/Dynamics/B2DWorld.h +41 -0
  75. data/vendor/Box2D.framework/Versions/A/Resources/Box2DConfig.cmake +3 -0
  76. data/vendor/Box2D.framework/Versions/A/Resources/CMakeLists.txt +205 -0
  77. data/vendor/Cocos2D/Cocos2D.bridgesupport +7808 -0
  78. data/vendor/Cocos2D/include/CCAction.h +195 -0
  79. data/vendor/Cocos2D/include/CCActionCamera.h +73 -0
  80. data/vendor/Cocos2D/include/CCActionCatmullRom.h +139 -0
  81. data/vendor/Cocos2D/include/CCActionEase.h +159 -0
  82. data/vendor/Cocos2D/include/CCActionGrid.h +165 -0
  83. data/vendor/Cocos2D/include/CCActionGrid3D.h +205 -0
  84. data/vendor/Cocos2D/include/CCActionInstant.h +227 -0
  85. data/vendor/Cocos2D/include/CCActionInterval.h +431 -0
  86. data/vendor/Cocos2D/include/CCActionManager.h +113 -0
  87. data/vendor/Cocos2D/include/CCActionPageTurn3D.h +42 -0
  88. data/vendor/Cocos2D/include/CCActionProgressTimer.h +59 -0
  89. data/vendor/Cocos2D/include/CCActionTiledGrid.h +211 -0
  90. data/vendor/Cocos2D/include/CCActionTween.h +62 -0
  91. data/vendor/Cocos2D/include/CCAnimation.h +150 -0
  92. data/vendor/Cocos2D/include/CCAnimationCache.h +74 -0
  93. data/vendor/Cocos2D/include/CCArray.h +119 -0
  94. data/vendor/Cocos2D/include/CCAtlasNode.h +96 -0
  95. data/vendor/Cocos2D/include/CCCamera.h +98 -0
  96. data/vendor/Cocos2D/include/CCConfiguration.h +126 -0
  97. data/vendor/Cocos2D/include/CCDirector.h +344 -0
  98. data/vendor/Cocos2D/include/CCDirectorIOS.h +104 -0
  99. data/vendor/Cocos2D/include/CCDrawingPrimitives.h +139 -0
  100. data/vendor/Cocos2D/include/CCES2Renderer.h +83 -0
  101. data/vendor/Cocos2D/include/CCESRenderer.h +54 -0
  102. data/vendor/Cocos2D/include/CCFileUtils.h +188 -0
  103. data/vendor/Cocos2D/include/CCGL.h +72 -0
  104. data/vendor/Cocos2D/include/CCGLProgram.h +150 -0
  105. data/vendor/Cocos2D/include/CCGLView.h +160 -0
  106. data/vendor/Cocos2D/include/CCGrabber.h +44 -0
  107. data/vendor/Cocos2D/include/CCGrid.h +130 -0
  108. data/vendor/Cocos2D/include/CCLabelAtlas.h +68 -0
  109. data/vendor/Cocos2D/include/CCLabelBMFont.h +216 -0
  110. data/vendor/Cocos2D/include/CCLabelTTF.h +132 -0
  111. data/vendor/Cocos2D/include/CCLayer.h +280 -0
  112. data/vendor/Cocos2D/include/CCMenu.h +100 -0
  113. data/vendor/Cocos2D/include/CCMenuItem.h +423 -0
  114. data/vendor/Cocos2D/include/CCMotionStreak.h +87 -0
  115. data/vendor/Cocos2D/include/CCNS.h +54 -0
  116. data/vendor/Cocos2D/include/CCNode+Debug.h +39 -0
  117. data/vendor/Cocos2D/include/CCNode.h +569 -0
  118. data/vendor/Cocos2D/include/CCParallaxNode.h +50 -0
  119. data/vendor/Cocos2D/include/CCParticleBatchNode.h +99 -0
  120. data/vendor/Cocos2D/include/CCParticleExamples.h +95 -0
  121. data/vendor/Cocos2D/include/CCParticleSystem.h +453 -0
  122. data/vendor/Cocos2D/include/CCParticleSystemQuad.h +73 -0
  123. data/vendor/Cocos2D/include/CCProfiling.h +89 -0
  124. data/vendor/Cocos2D/include/CCProgressTimer.h +94 -0
  125. data/vendor/Cocos2D/include/CCProtocols.h +132 -0
  126. data/vendor/Cocos2D/include/CCRenderTexture.h +139 -0
  127. data/vendor/Cocos2D/include/CCScene.h +43 -0
  128. data/vendor/Cocos2D/include/CCScheduler.h +230 -0
  129. data/vendor/Cocos2D/include/CCShaderCache.h +60 -0
  130. data/vendor/Cocos2D/include/CCSprite.h +288 -0
  131. data/vendor/Cocos2D/include/CCSpriteBatchNode.h +138 -0
  132. data/vendor/Cocos2D/include/CCSpriteFrame.h +126 -0
  133. data/vendor/Cocos2D/include/CCSpriteFrameCache.h +121 -0
  134. data/vendor/Cocos2D/include/CCTMXLayer.h +164 -0
  135. data/vendor/Cocos2D/include/CCTMXObjectGroup.h +67 -0
  136. data/vendor/Cocos2D/include/CCTMXTiledMap.h +145 -0
  137. data/vendor/Cocos2D/include/CCTMXXMLParser.h +217 -0
  138. data/vendor/Cocos2D/include/CCTexture2D.h +357 -0
  139. data/vendor/Cocos2D/include/CCTextureAtlas.h +188 -0
  140. data/vendor/Cocos2D/include/CCTextureCache.h +146 -0
  141. data/vendor/Cocos2D/include/CCTexturePVR.h +129 -0
  142. data/vendor/Cocos2D/include/CCTileMapAtlas.h +83 -0
  143. data/vendor/Cocos2D/include/CCTouchDelegateProtocol.h +75 -0
  144. data/vendor/Cocos2D/include/CCTouchDispatcher.h +120 -0
  145. data/vendor/Cocos2D/include/CCTouchHandler.h +93 -0
  146. data/vendor/Cocos2D/include/CCTransition.h +296 -0
  147. data/vendor/Cocos2D/include/CCTransitionPageTurn.h +60 -0
  148. data/vendor/Cocos2D/include/CCTransitionProgress.h +62 -0
  149. data/vendor/Cocos2D/include/CCVertex.h +36 -0
  150. data/vendor/Cocos2D/include/CGPointExtension.h +344 -0
  151. data/vendor/Cocos2D/include/CocosDenshion/CDAudioManager.h +243 -0
  152. data/vendor/Cocos2D/include/CocosDenshion/CDConfig.h +60 -0
  153. data/vendor/Cocos2D/include/CocosDenshion/CDOpenALSupport.h +77 -0
  154. data/vendor/Cocos2D/include/CocosDenshion/CDXPropertyModifierAction.h +45 -0
  155. data/vendor/Cocos2D/include/CocosDenshion/CocosDenshion.h +440 -0
  156. data/vendor/Cocos2D/include/CocosDenshion/SimpleAudioEngine.h +90 -0
  157. data/vendor/Cocos2D/include/NSThread+performBlock.h +22 -0
  158. data/vendor/Cocos2D/include/OpenGL_Internal.h +86 -0
  159. data/vendor/Cocos2D/include/RubyMotionSchedule.h +7 -0
  160. data/vendor/Cocos2D/include/TGAlib.h +55 -0
  161. data/vendor/Cocos2D/include/TransformUtils.h +36 -0
  162. data/vendor/Cocos2D/include/ZipUtils.h +91 -0
  163. data/vendor/Cocos2D/include/base64.h +33 -0
  164. data/vendor/Cocos2D/include/ccCArray.h +229 -0
  165. data/vendor/Cocos2D/include/ccConfig.h +245 -0
  166. data/vendor/Cocos2D/include/ccDeprecated.h +300 -0
  167. data/vendor/Cocos2D/include/ccGLStateCache.h +138 -0
  168. data/vendor/Cocos2D/include/ccMacros.h +353 -0
  169. data/vendor/Cocos2D/include/ccShader_PositionColor_frag.h +12 -0
  170. data/vendor/Cocos2D/include/ccShader_PositionColor_vert.h +17 -0
  171. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_frag.h +16 -0
  172. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_vert.h +21 -0
  173. data/vendor/Cocos2D/include/ccShader_PositionTextureColorAlphaTest_frag.h +23 -0
  174. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_frag.h +14 -0
  175. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_vert.h +22 -0
  176. data/vendor/Cocos2D/include/ccShader_PositionTexture_frag.h +13 -0
  177. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_frag.h +16 -0
  178. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_vert.h +18 -0
  179. data/vendor/Cocos2D/include/ccShader_PositionTexture_vert.h +17 -0
  180. data/vendor/Cocos2D/include/ccShader_Position_uColor_frag.h +12 -0
  181. data/vendor/Cocos2D/include/ccShader_Position_uColor_vert.h +19 -0
  182. data/vendor/Cocos2D/include/ccShaders.h +45 -0
  183. data/vendor/Cocos2D/include/ccTypes.h +374 -0
  184. data/vendor/Cocos2D/include/ccUtils.h +36 -0
  185. data/vendor/Cocos2D/include/cocos2d.h +178 -0
  186. data/vendor/Cocos2D/include/kazmath/GL/mat4stack.h +51 -0
  187. data/vendor/Cocos2D/include/kazmath/GL/matrix.h +58 -0
  188. data/vendor/Cocos2D/include/kazmath/aabb.h +53 -0
  189. data/vendor/Cocos2D/include/kazmath/kazmath.h +39 -0
  190. data/vendor/Cocos2D/include/kazmath/mat3.h +75 -0
  191. data/vendor/Cocos2D/include/kazmath/mat4.h +93 -0
  192. data/vendor/Cocos2D/include/kazmath/neon_matrix_impl.h +41 -0
  193. data/vendor/Cocos2D/include/kazmath/plane.h +70 -0
  194. data/vendor/Cocos2D/include/kazmath/quaternion.h +113 -0
  195. data/vendor/Cocos2D/include/kazmath/ray2.h +50 -0
  196. data/vendor/Cocos2D/include/kazmath/utility.h +74 -0
  197. data/vendor/Cocos2D/include/kazmath/vec2.h +64 -0
  198. data/vendor/Cocos2D/include/kazmath/vec3.h +68 -0
  199. data/vendor/Cocos2D/include/kazmath/vec4.h +68 -0
  200. data/vendor/Cocos2D/include/uthash.h +972 -0
  201. data/vendor/Cocos2D/include/utlist.h +490 -0
  202. data/vendor/Cocos2D/libCocosDenshion.a +0 -0
  203. data/vendor/Cocos2D/libcocos2d.a +0 -0
  204. metadata +277 -0
@@ -0,0 +1,34 @@
1
+ module Joybox
2
+ module UI
3
+
4
+ class Label < CCLabelTTF
5
+
6
+ alias_method :text=, :setString
7
+ alias_method :set_text, :setString
8
+
9
+ def self.defaults
10
+ {
11
+ font_name: 'Marker Felt',
12
+ font_size: 12
13
+ }
14
+ end
15
+
16
+
17
+ def self.new(options = {})
18
+
19
+ options = options.nil? ? defaults : defaults.merge!(options)
20
+
21
+ label = Label.labelWithString(options[:text],
22
+ fontName: options[:font_name],
23
+ fontSize: options[:font_size])
24
+
25
+ label.position = options[:position] if options.has_key? (:position)
26
+ label.color = options[:color] if options.has_key? (:color)
27
+
28
+ label
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ module Joybox
2
+ module UI
3
+
4
+ class Menu < CCMenu
5
+
6
+ alias_method :align_items_vertically, :alignItemsVertically
7
+ alias_method :align_items_vertically_width_padding, :alignItemsVerticallyWithPadding
8
+ alias_method :align_items_horizontally, :alignItemsHorizontally
9
+ alias_method :align_items_horizontally_with_padding, :alignItemsHorizontallyWithPadding
10
+ alias_method :align_items_in_columns, :alignItemsInColumns
11
+ alias_method :align_items_in_rows, :alignItemsInRows
12
+
13
+ def self.new(options = {})
14
+
15
+ menu = self.menuWithArray(options[:items])
16
+
17
+ menu.position = options[:position] if options.has_key? (:position)
18
+
19
+ menu
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,22 @@
1
+ module Joybox
2
+ module UI
3
+
4
+ class MenuImage < CCMenuItemImage
5
+
6
+ alias_method :content_size, :contentSize
7
+
8
+ def self.new(options = {}, &block)
9
+
10
+ menu_item = self.itemWithNormalImage(options[:image_file_name],
11
+ selectedImage: options[:selected_image_file_name],
12
+ block: block)
13
+
14
+ menu_item.position = options[:position] if options.has_key? (:position)
15
+
16
+ menu_item
17
+ end
18
+
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,45 @@
1
+ module Joybox
2
+ module UI
3
+
4
+ class MenuLabel < CCMenuItemFont
5
+
6
+ # Class Method Alias Method
7
+ class << self
8
+
9
+ alias_method :default_font_size, :fontSize
10
+ alias_method :default_font_size=, :setFontSize
11
+ alias_method :default_font_name, :fontName
12
+ alias_method :default_font_name=, :setFontName
13
+
14
+ end
15
+
16
+ # Property Alias Method
17
+ alias_method :font_size, :fontSize
18
+ alias_method :font_size=, :setFontSize
19
+ alias_method :font_name, :fontName
20
+ alias_method :font_name=, :setFontName
21
+
22
+ def self.defaults
23
+ {
24
+ text: ''
25
+ }
26
+ end
27
+
28
+ def self.new(options = {}, &block)
29
+
30
+ options = options.nil? ? defaults : defaults.merge!(options)
31
+
32
+ menu_item = self.itemWithString(options[:text], block: block)
33
+
34
+ menu_item.font_size = options[:font_size] if options.has_key? (:font_size)
35
+ menu_item.fontName = options[:font_name] if options.has_key? (:font_name)
36
+ menu_item.color = options[:color] if options.has_key? (:color)
37
+ menu_item.position = options[:position] if options.has_key? (:position)
38
+
39
+ menu_item
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+ end
@@ -0,0 +1,7 @@
1
+ module Joybox
2
+ module UI
3
+
4
+ include Joybox::Common
5
+
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ module Joybox
2
+ VERSION = '0.0.3' unless defined?(Joybox::VERSION)
3
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,7 @@
1
+ describe Joybox::Cocos2D do
2
+ describe :director do
3
+ it 'should returns shared director' do
4
+ Joybox::Cocos2D.director.should.equal(Joybox::Cocos2D::Director.sharedDirector)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,37 @@
1
+ describe Joybox::Cocos2D::Macros do
2
+ describe :jbpNeg do
3
+ it 'should returns opposite of point' do
4
+ subject = Joybox::Cocos2D::Macros.new.jbpNeg(CGPointMake(1, 2))
5
+ subject.x.should.equal(-1)
6
+ subject.y.should.equal(-2)
7
+ end
8
+ end
9
+
10
+ describe :jbpAdd do
11
+ it 'should sum of two points' do
12
+ subject = Joybox::Cocos2D::Macros.new.jbpAdd(CGPointMake(1, 2), CGPointMake(3, 4))
13
+ subject.x.should.equal(4)
14
+ subject.y.should.equal(6)
15
+ end
16
+ end
17
+
18
+ describe :jbpCompOp do
19
+ it 'should run a math operation function on each point component' do
20
+ subject = Joybox::Cocos2D::Macros.new.jbpCompOp(CGPointMake(1, 2)) {|n| n * 10 }
21
+ subject.x.should.equal(10)
22
+ subject.y.should.equal(20)
23
+ end
24
+ end
25
+
26
+ describe :jbpLineIntersect do
27
+ # TODO
28
+ end
29
+
30
+ describe :jbpSegmentIntersect do
31
+ # TODO
32
+ end
33
+
34
+ describe :jbpIntersectPoint do
35
+ # TODO
36
+ end
37
+ end
data/spec/main_spec.rb ADDED
@@ -0,0 +1,9 @@
1
+ describe "Application 'JoyBox'" do
2
+ before do
3
+ @app = UIApplication.sharedApplication
4
+ end
5
+
6
+ it "has one window" do
7
+ @app.windows.size.should == 1
8
+ end
9
+ end
Binary file
@@ -0,0 +1,166 @@
1
+ <?xml version='1.0'?>
2
+ <signatures version='1.0'>
3
+ <enum value='2' name='kDynamicBodyType'/>
4
+ <enum value='1' name='kKinematicBodyType'/>
5
+ <enum value='0' name='kStaticBodyType'/>
6
+ <class name='B2DBody'>
7
+ <method selector='addFixureForShape:friction:restitution:density:isSensor:'>
8
+ <arg name='shape' index='0' type='@' declared_type='B2DShape*'/>
9
+ <arg name='friction' index='1' type='f' declared_type='CGFloat'/>
10
+ <arg name='restitution' index='2' type='f' declared_type='CGFloat'/>
11
+ <arg name='density' index='3' type='f' declared_type='CGFloat'/>
12
+ <arg name='isSensor' index='4' type='B' declared_type='BOOL'/>
13
+ <retval type='v' declared_type='void'/>
14
+ </method>
15
+ <method selector='angle'>
16
+ <retval type='f' declared_type='CGFloat'/>
17
+ </method>
18
+ <method selector='applyForce:atLocation:asImpulse:'>
19
+ <arg name='force' index='0' type='{CGPoint=ff}' declared_type='CGPoint'/>
20
+ <arg name='location' index='1' type='{CGPoint=ff}' declared_type='CGPoint'/>
21
+ <arg name='asImpulse' index='2' type='B' declared_type='BOOL'/>
22
+ <retval type='v' declared_type='void'/>
23
+ </method>
24
+ <method selector='applyTorque:asImpulse:'>
25
+ <arg name='torque' index='0' type='f' declared_type='CGFloat'/>
26
+ <arg name='impulse' index='1' type='B' declared_type='BOOL'/>
27
+ <retval type='v' declared_type='void'/>
28
+ </method>
29
+ <method selector='body'>
30
+ <retval type='^i' declared_type='int*'/>
31
+ </method>
32
+ <method selector='center'>
33
+ <retval type='{CGPoint=ff}' declared_type='CGPoint'/>
34
+ </method>
35
+ <method selector='initWithBody:'>
36
+ <arg name='boxBody' index='0' type='@' declared_type='id'/>
37
+ <retval type='@' declared_type='id'/>
38
+ </method>
39
+ <method selector='isSleepingAllowed'>
40
+ <retval type='B' declared_type='BOOL'/>
41
+ </method>
42
+ <method selector='position'>
43
+ <retval type='{CGPoint=ff}' declared_type='CGPoint'/>
44
+ </method>
45
+ <method selector='setBody:'>
46
+ <arg name='body' index='0' type='^i' declared_type='int*'/>
47
+ <retval type='v' declared_type='void'/>
48
+ </method>
49
+ <method selector='setSleepingAllowed:'>
50
+ <arg name='isSleepingAllowed' index='0' type='B' declared_type='BOOL'/>
51
+ <retval type='v' declared_type='void'/>
52
+ </method>
53
+ </class>
54
+ <class name='B2DContactListener'>
55
+ <method selector='beginContact'>
56
+ <retval type='@?' function_pointer='true' declared_type='beginContactCallback'>
57
+ <arg type='@' declared_type='B2DBody*'/>
58
+ <arg type='@' declared_type='B2DBody*'/>
59
+ <arg type='B' declared_type='BOOL'/>
60
+ <retval type='v' declared_type='void'/>
61
+ </retval>
62
+ </method>
63
+ <method selector='contactListener'>
64
+ <retval type='^i' declared_type='int*'/>
65
+ </method>
66
+ <method selector='endContact'>
67
+ <retval type='@?' function_pointer='true' declared_type='endContactCallback'>
68
+ <arg type='@' declared_type='B2DBody*'/>
69
+ <arg type='@' declared_type='B2DBody*'/>
70
+ <retval type='v' declared_type='void'/>
71
+ </retval>
72
+ </method>
73
+ <method selector='setBeginContact:'>
74
+ <arg name='beginContact' index='0' type='@?' function_pointer='true' declared_type='beginContactCallback'>
75
+ <arg type='@' declared_type='B2DBody*'/>
76
+ <arg type='@' declared_type='B2DBody*'/>
77
+ <arg type='B' declared_type='BOOL'/>
78
+ <retval type='v' declared_type='void'/>
79
+ </arg>
80
+ <retval type='v' declared_type='void'/>
81
+ </method>
82
+ <method selector='setContactListener:'>
83
+ <arg name='contactListener' index='0' type='^i' declared_type='int*'/>
84
+ <retval type='v' declared_type='void'/>
85
+ </method>
86
+ <method selector='setEndContact:'>
87
+ <arg name='endContact' index='0' type='@?' function_pointer='true' declared_type='endContactCallback'>
88
+ <arg type='@' declared_type='B2DBody*'/>
89
+ <arg type='@' declared_type='B2DBody*'/>
90
+ <retval type='v' declared_type='void'/>
91
+ </arg>
92
+ <retval type='v' declared_type='void'/>
93
+ </method>
94
+ </class>
95
+ <class name='B2DEdgeShape'>
96
+ <method selector='initWithStartPoint:endPoint:'>
97
+ <arg name='startPoint' index='0' type='{CGPoint=ff}' declared_type='CGPoint'/>
98
+ <arg name='endPoint' index='1' type='{CGPoint=ff}' declared_type='CGPoint'/>
99
+ <retval type='@' declared_type='id'/>
100
+ </method>
101
+ </class>
102
+ <class name='B2DPolygonShape'>
103
+ <method selector='initWithBoxSize:'>
104
+ <arg name='boxSize' index='0' type='{CGSize=ff}' declared_type='CGSize'/>
105
+ <retval type='@' declared_type='id'/>
106
+ </method>
107
+ </class>
108
+ <class name='B2DShape'>
109
+ <method selector='setShape:'>
110
+ <arg name='shape' index='0' type='^i' declared_type='int*'/>
111
+ <retval type='v' declared_type='void'/>
112
+ </method>
113
+ <method selector='shape'>
114
+ <retval type='^i' declared_type='int*'/>
115
+ </method>
116
+ </class>
117
+ <class name='B2DWorld'>
118
+ <method selector='addContactListener:'>
119
+ <arg name='contactListener' index='0' type='@' declared_type='B2DContactListener*'/>
120
+ <retval type='v' declared_type='void'/>
121
+ </method>
122
+ <method selector='allowsSleeping'>
123
+ <retval type='B' declared_type='BOOL'/>
124
+ </method>
125
+ <method selector='continuosPhysics'>
126
+ <retval type='B' declared_type='BOOL'/>
127
+ </method>
128
+ <method selector='createBodyInPosition:type:'>
129
+ <arg name='position' index='0' type='{CGPoint=ff}' declared_type='CGPoint'/>
130
+ <arg name='bodyType' index='1' type='i' declared_type='B2DBodyTypes'/>
131
+ <retval type='@' declared_type='B2DBody*'/>
132
+ </method>
133
+ <method selector='gravity'>
134
+ <retval type='{CGPoint=ff}' declared_type='CGPoint'/>
135
+ </method>
136
+ <method selector='removeBody:'>
137
+ <arg name='body' index='0' type='@' declared_type='B2DBody*'/>
138
+ <retval type='v' declared_type='void'/>
139
+ </method>
140
+ <method selector='setAllowsSleeping:'>
141
+ <arg name='allowsSleeping' index='0' type='B' declared_type='BOOL'/>
142
+ <retval type='v' declared_type='void'/>
143
+ </method>
144
+ <method selector='setContinuosPhysics:'>
145
+ <arg name='continuosPhysics' index='0' type='B' declared_type='BOOL'/>
146
+ <retval type='v' declared_type='void'/>
147
+ </method>
148
+ <method selector='setGravity:'>
149
+ <arg name='gravity' index='0' type='{CGPoint=ff}' declared_type='CGPoint'/>
150
+ <retval type='v' declared_type='void'/>
151
+ </method>
152
+ <method selector='setWorld:'>
153
+ <arg name='world' index='0' type='^i' declared_type='int*'/>
154
+ <retval type='v' declared_type='void'/>
155
+ </method>
156
+ <method selector='stepWithDelta:velocityInteractions:positionInteractions:'>
157
+ <arg name='delta' index='0' type='f' declared_type='CGFloat'/>
158
+ <arg name='velocityInteractions' index='1' type='i' declared_type='int'/>
159
+ <arg name='positionInteractions' index='2' type='i' declared_type='int'/>
160
+ <retval type='v' declared_type='void'/>
161
+ </method>
162
+ <method selector='world'>
163
+ <retval type='^i' declared_type='int*'/>
164
+ </method>
165
+ </class>
166
+ </signatures>
@@ -0,0 +1,25 @@
1
+ //
2
+ // B2DContactListener.h
3
+ // Box2D
4
+ //
5
+ // Created by Juan Jose Karam on 3/6/13.
6
+ // Copyright (c) 2013 CurveBeryl. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #include "ContactListener.h"
11
+
12
+ @class B2DBody;
13
+
14
+ typedef void (^beginContactCallback)(B2DBody *firstBody, B2DBody *secondBody, BOOL isTouching);
15
+ typedef void (^endContactCallback)(B2DBody *firstBody, B2DBody *secondBody);
16
+
17
+
18
+ @interface B2DContactListener : NSObject
19
+
20
+ @property (nonatomic, assign) ContactListener *contactListener;
21
+ @property (nonatomic, copy) beginContactCallback beginContact;
22
+ @property (nonatomic, copy) endContactCallback endContact;
23
+
24
+
25
+ @end
@@ -0,0 +1,17 @@
1
+ //
2
+ // B2DEdgeShape.h
3
+ // Box2D
4
+ //
5
+ // Created by Juan Jose Karam on 2/19/13.
6
+ // Copyright (c) 2013 CurveBeryl. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import "B2DShape.h"
11
+
12
+ @interface B2DEdgeShape : B2DShape
13
+
14
+ - (id)initWithStartPoint:(CGPoint)startPoint
15
+ endPoint:(CGPoint)endPoint;
16
+
17
+ @end