opal-pixi 0.2.1 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/README.md +22 -30
- data/Rakefile +45 -0
- data/lib/opal/pixi.rb +1 -8
- data/lib/opal/pixi/base.rb +14 -0
- data/lib/opal/pixi/container.rb +32 -4
- data/lib/opal/pixi/core/display/container.rb +38 -0
- data/lib/opal/pixi/core/display/display_object.rb +44 -0
- data/lib/opal/pixi/core/files.rb +18 -0
- data/lib/opal/pixi/core/graphics/graphics.rb +42 -0
- data/lib/opal/pixi/core/graphics/graphics_data.rb +19 -0
- data/lib/opal/pixi/core/graphics/webgl/graphics_renderer.rb +0 -0
- data/lib/opal/pixi/core/graphics/webgl/web_gl_graphics_data.rb +11 -0
- data/lib/opal/pixi/core/math/matrix.rb +40 -0
- data/lib/opal/pixi/core/math/point.rb +24 -0
- data/lib/opal/pixi/core/math/shapes/circle.rb +26 -0
- data/lib/opal/pixi/core/math/shapes/ellipse.rb +28 -0
- data/lib/opal/pixi/core/math/shapes/polygon.rb +23 -0
- data/lib/opal/pixi/core/math/shapes/rectangle.rb +27 -0
- data/lib/opal/pixi/core/math/shapes/rounded_rectangle.rb +29 -0
- data/lib/opal/pixi/core/renderers/canvas/canvas_renderer.rb +19 -0
- data/lib/opal/pixi/core/renderers/system_renderer.rb +9 -0
- data/lib/opal/pixi/core/renderers/webgl/filters/abstract_filter.rb +16 -0
- data/lib/opal/pixi/core/renderers/webgl/webgl_renderer.rb +20 -0
- data/lib/opal/pixi/core/sprites/sprite.rb +47 -0
- data/lib/opal/pixi/core/text/text.rb +28 -0
- data/lib/opal/pixi/core/textures/render_texture.rb +17 -0
- data/lib/opal/pixi/core/textures/texture.rb +18 -0
- data/lib/opal/pixi/display_object.rb +41 -0
- data/lib/opal/pixi/extras/movie_clip.rb +16 -0
- data/lib/opal/pixi/extras/tiling_sprite.rb +18 -0
- data/lib/opal/pixi/interaction/interactive_target.rb +16 -0
- data/lib/opal/pixi/mesh/mesh.rb +9 -0
- data/lib/opal/pixi/mesh/rope.rb +14 -0
- data/lib/opal/pixi/point.rb +10 -6
- data/lib/opal/pixi/setup.rb +13 -0
- data/lib/opal/pixi/sprite.rb +37 -11
- data/lib/opal/pixi/texture.rb +7 -1
- data/lib/opal/pixi/version.rb +1 -1
- data/lib/opal/pixi/web_gl_renderer.rb +18 -7
- data/opal-pixi.gemspec +11 -9
- data/spec/spec_helper.rb +2 -0
- metadata +70 -18
- data/demo/Gemfile +0 -3
- data/demo/app/main.rb +0 -49
- data/demo/bunny.png +0 -0
- data/demo/config.ru +0 -11
- data/demo/index.html +0 -19
- data/demo/pixi.js +0 -27488
- data/demo/pixi.js.map +0 -1
- data/demo/pixi.min.js +0 -11
- data/demo/pixi.min.js.map +0 -1
- data/demo/pixi_main.js +0 -36
- data/demo/style.css +0 -5
@@ -0,0 +1,26 @@
|
|
1
|
+
module PIXI
|
2
|
+
class Circle
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def self.new(x_or_native, y, radius)
|
6
|
+
if native?(x_or_native)
|
7
|
+
super(x_or_native)
|
8
|
+
else
|
9
|
+
super(`new PIXI.Circle(x_or_native, y, radius)`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_native :x
|
14
|
+
alias_native :x=
|
15
|
+
alias_native :y
|
16
|
+
alias_native :y=
|
17
|
+
alias_native :radius
|
18
|
+
alias_native :radius=
|
19
|
+
alias_native :type
|
20
|
+
|
21
|
+
alias_native :clone
|
22
|
+
alias_native :contains
|
23
|
+
alias_native :get_bounds, :getBounds
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module PIXI
|
2
|
+
class Ellipse
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def self.new(x_or_native, y, width, height)
|
6
|
+
if native?(x_or_native)
|
7
|
+
super(x_or_native)
|
8
|
+
else
|
9
|
+
super(`new PIXI.Ellipse(x_or_native, y, width, height)`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_native :x
|
14
|
+
alias_native :x=
|
15
|
+
alias_native :y
|
16
|
+
alias_native :y=
|
17
|
+
alias_native :width
|
18
|
+
alias_native :width=
|
19
|
+
alias_native :height
|
20
|
+
alias_native :height=
|
21
|
+
alias_native :type
|
22
|
+
|
23
|
+
alias_native :clone
|
24
|
+
alias_native :contains
|
25
|
+
alias_native :get_bounds, :getBounds
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module PIXI
|
2
|
+
class Polygon
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def self.new(points_or_native)
|
6
|
+
if native?(points_or_native)
|
7
|
+
super(points_or_native)
|
8
|
+
else
|
9
|
+
super(`new PIXI.Polygon(points_or_native)`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_native :points
|
14
|
+
alias_native :points=
|
15
|
+
alias_native :closed
|
16
|
+
alias_native :closed=
|
17
|
+
alias_native :type
|
18
|
+
|
19
|
+
alias_native :clone
|
20
|
+
alias_native :contains
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module PIXI
|
2
|
+
class Rectange
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def self.new(x_or_native, y, width, height)
|
6
|
+
if native?(x_or_native)
|
7
|
+
super(x_or_native)
|
8
|
+
else
|
9
|
+
super(`new PIXI.Rectangle(x_or_native, y, width, height)`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_native :x
|
14
|
+
alias_native :x=
|
15
|
+
alias_native :y
|
16
|
+
alias_native :y=
|
17
|
+
alias_native :width
|
18
|
+
alias_native :width=
|
19
|
+
alias_native :height
|
20
|
+
alias_native :height=
|
21
|
+
alias_native :type
|
22
|
+
|
23
|
+
alias_native :clone
|
24
|
+
alias_native :contains
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module PIXI
|
2
|
+
class RoundedRectangle < Rectange
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def self.new(x_or_native, y, width, height, radius)
|
6
|
+
if native?(x_or_native)
|
7
|
+
super(x_or_native)
|
8
|
+
else
|
9
|
+
super(`new PIXI.Rectangle(x_or_native, y, width, height, radius)`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_native :x
|
14
|
+
alias_native :x=
|
15
|
+
alias_native :y
|
16
|
+
alias_native :y=
|
17
|
+
alias_native :width
|
18
|
+
alias_native :width=
|
19
|
+
alias_native :height
|
20
|
+
alias_native :height=
|
21
|
+
alias_native :radius
|
22
|
+
alias_native :radius=
|
23
|
+
alias_native :type
|
24
|
+
|
25
|
+
alias_native :clone
|
26
|
+
alias_native :contains
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module PIXI
|
2
|
+
class CanvasRenderer
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def initialize(w_or_native, height, options={})
|
6
|
+
if native?(w_or_native)
|
7
|
+
super(w_or_native)
|
8
|
+
else
|
9
|
+
super(`new PIXI.CanvasRenderer(w_or_native, height, #{ options.to_n })`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_native :render
|
14
|
+
alias_native :view
|
15
|
+
alias_native :width
|
16
|
+
alias_native :height
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module PIXI
|
2
|
+
class AbstractFilter
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def initialize(vertexSrc, fragmentSrc, uniforms={})
|
6
|
+
super(`new PIXI.AbstractFilter(vertexSrc, fragmentSrc, #{uniforms.to_n})`)
|
7
|
+
end
|
8
|
+
|
9
|
+
alias_native :padding
|
10
|
+
alias_native :uniforms
|
11
|
+
alias_native :get_shader, :getShader
|
12
|
+
alias_native :apply_filter, :applyFilter
|
13
|
+
alias_native :sync_uniform, :syncUniform
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module PIXI
|
2
|
+
class WebGLRenderer
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def initialize(w_or_native, height, options={})
|
6
|
+
if native?(w_or_native)
|
7
|
+
super(w_or_native)
|
8
|
+
else
|
9
|
+
super(`new PIXI.WebGLRenderer(w_or_native, height, #{ options.to_n })`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
alias_native :render
|
14
|
+
alias_native :destroy
|
15
|
+
alias_native :view
|
16
|
+
alias_native :width
|
17
|
+
alias_native :height
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'opal/pixi/core/display/container'
|
2
|
+
require 'opal/pixi/core/math/point'
|
3
|
+
require 'opal/pixi/core/textures/texture'
|
4
|
+
require 'opal/pixi/interaction/interactive_target'
|
5
|
+
|
6
|
+
module PIXI
|
7
|
+
class Sprite #< Container
|
8
|
+
include Native
|
9
|
+
include PIXI::DisplayObject
|
10
|
+
include PIXI::InteractiveTarget
|
11
|
+
|
12
|
+
def self.from_image(imageId, crossorigin=false, scaleMode='')
|
13
|
+
new(`PIXI.Sprite.fromImage(imageId, crossorigin, scaleMode)`)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.from_frame(frameId)
|
17
|
+
new(`PIXI.Sprite.fromFrame(frameId)`)
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(native_or_texture)
|
21
|
+
if native?(native_or_texture)
|
22
|
+
super
|
23
|
+
else
|
24
|
+
super(`new PIXI.Sprite(#{native_or_texture.to_n})`)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
alias_native :anchor, :anchor, as: Point
|
29
|
+
alias_native :anchor=
|
30
|
+
alias_native :tint
|
31
|
+
alias_native :tint=
|
32
|
+
alias_native :blend_mode, :blendMode
|
33
|
+
alias_native :blend_mode=
|
34
|
+
alias_native :shader
|
35
|
+
alias_native :shader=
|
36
|
+
alias_native :cached_tint, :cachedTint
|
37
|
+
alias_native :cached_tint=
|
38
|
+
alias_native :texture, :texture, as: Texture
|
39
|
+
alias_native :texture=
|
40
|
+
|
41
|
+
alias_native :width
|
42
|
+
alias_native :width=
|
43
|
+
alias_native :height
|
44
|
+
alias_native :height=
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'opal/pixi/core/sprites/sprite'
|
2
|
+
|
3
|
+
module PIXI
|
4
|
+
class Text < PIXI::Sprite
|
5
|
+
include Native
|
6
|
+
|
7
|
+
def initialize(text_or_native, style={}, resolution=1)
|
8
|
+
if native?(text_or_native)
|
9
|
+
super(text_or_native)
|
10
|
+
else
|
11
|
+
super(`new PIXI.Text(text_or_native, #{style.to_n}, resolution)`)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
alias_native :canvas
|
16
|
+
alias_native :context
|
17
|
+
alias_native :resolution
|
18
|
+
alias_native :text
|
19
|
+
alias_native :text=
|
20
|
+
alias_native :style
|
21
|
+
alias_native :style=
|
22
|
+
|
23
|
+
alias_native :render_webGL, :renderWebGL
|
24
|
+
alias_native :getBounds, :getBounds
|
25
|
+
alias_native :destroy
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module PIXI
|
2
|
+
class RenderTexture
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def initialize(native_or_renderer, width=100, height=100, scaleMode=`CONST.SCALE_MODES.DEFAULT`, resolution=1)
|
6
|
+
if native?(native_or_renderer)
|
7
|
+
super
|
8
|
+
else
|
9
|
+
super(`new PIXI.RenderTexture(#{native_or_renderer.to_n}, width, height, scaleMode, resolution)`)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
alias_native :render
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module PIXI
|
2
|
+
class Texture
|
3
|
+
include Native
|
4
|
+
|
5
|
+
def self.from_image(name)
|
6
|
+
new(`PIXI.Texture.fromImage(name)`)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.from_frame(name)
|
10
|
+
new(`PIXI.Texture.fromFrame(name)`)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.from_video(name)
|
14
|
+
new(`PIXI.Texture.fromVideo(name)`)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require './base'
|
2
|
+
|
3
|
+
module PIXI
|
4
|
+
class DisplayObject
|
5
|
+
#include PIXI::Base
|
6
|
+
# class_name = self.name.split('::').last || ''
|
7
|
+
# code = "self._proto = window.PIXI.#{class_name}.prototype, def = self._proto; window.PIXI.#{class_name}.prototype._klass = self"
|
8
|
+
# # %x{ alert(code) }
|
9
|
+
# %x{ eval(code) }
|
10
|
+
|
11
|
+
%x{
|
12
|
+
self._proto = window.PIXI.DisplayObject.prototype, def = self._proto;
|
13
|
+
window.PIXI.DisplayObject.prototype._klass = self;
|
14
|
+
}
|
15
|
+
|
16
|
+
def position
|
17
|
+
`self.position`
|
18
|
+
end
|
19
|
+
|
20
|
+
def position=(point)
|
21
|
+
`self.position = point`
|
22
|
+
end
|
23
|
+
|
24
|
+
def rotation
|
25
|
+
`self.rotation`
|
26
|
+
end
|
27
|
+
|
28
|
+
def rotation=(r)
|
29
|
+
`self.rotation = r`
|
30
|
+
end
|
31
|
+
|
32
|
+
def anchor=(a)
|
33
|
+
`self.anchor = a`
|
34
|
+
end
|
35
|
+
|
36
|
+
def anchor
|
37
|
+
Point.new `self.anchor.x`,`self.anchor.y`
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'opal/pixi/core/sprites/sprite'
|
2
|
+
|
3
|
+
module PIXI::Extras
|
4
|
+
class MovieClip < PIXI::Sprite
|
5
|
+
include Native
|
6
|
+
|
7
|
+
def initialize(textures)
|
8
|
+
super(`new PIXI.extras.MovieClip(#{textures.to_n})`)
|
9
|
+
end
|
10
|
+
|
11
|
+
alias_native :animation_speed, :animationSpeed
|
12
|
+
alias_native :animation_speed=, :animationSpeed=
|
13
|
+
alias_native :play
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'opal/pixi/core/sprites/sprite'
|
2
|
+
require 'opal/pixi/core/math/point'
|
3
|
+
|
4
|
+
module PIXI::Extras
|
5
|
+
class TilingSprite < PIXI::Sprite
|
6
|
+
include Native
|
7
|
+
|
8
|
+
def initialize(texture, width, height)
|
9
|
+
super(`new PIXI.extras.TilingSprite(#{texture.to_n},#{width},#{height})`)
|
10
|
+
end
|
11
|
+
|
12
|
+
alias_native :tile_scale, :tileScale, as: Point
|
13
|
+
alias_native :tile_scale=, :tileScale=
|
14
|
+
alias_native :tile_position, :tilePosition, as: Point
|
15
|
+
alias_native :tile_position=, :tilePosition=
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'opal/pixi/core/math/point'
|
2
|
+
|
3
|
+
module PIXI
|
4
|
+
module InteractiveTarget
|
5
|
+
include Native
|
6
|
+
|
7
|
+
alias_native :interactive
|
8
|
+
alias_native :interactive=
|
9
|
+
alias_native :interactive_children, :interactiveChildren
|
10
|
+
alias_native :interactive_children=, :interactiveChildren=
|
11
|
+
alias_native :default_cursor, :defaultCursor
|
12
|
+
alias_native :default_cursor=, :defaultCursor=
|
13
|
+
|
14
|
+
alias_native :on
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'opal/pixi/core/math/point'
|
2
|
+
|
3
|
+
module PIXI::Mesh
|
4
|
+
class Rope < PIXI::Mesh::Mesh
|
5
|
+
include Native
|
6
|
+
|
7
|
+
def initialize(texture, points)
|
8
|
+
super(`new PIXI.mesh.Rope(#{texture.to_n}, #{points.to_n})`)
|
9
|
+
end
|
10
|
+
|
11
|
+
alias_native :position
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|