diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/evas_spec.rb | 91 |
1 files changed, 61 insertions, 30 deletions
diff --git a/spec/evas_spec.rb b/spec/evas_spec.rb index d437619..8936cfe 100644 --- a/spec/evas_spec.rb +++ b/spec/evas_spec.rb @@ -5,6 +5,24 @@ require 'efl/ecore' require 'efl/evas' # describe Efl::Evas do + def realize_evas + @width = 800 + @height = 600 + @pixels = FFI::MemoryPointer.new :int, @width*@height + @e = Evas::REvas.new + @e.output_method_set Evas::render_method_lookup("buffer") + @e.output_viewport_set 0, 0, @width, @height + @e.output_size_set @width, @height + einfo = Native::EngineInfoBufferStruct.new @e.engine_info + einfo[:info][:depth_type] = Efl::Evas::EVAS_ENGINE_BUFFER_DEPTH_ARGB32 + einfo[:info][:dest_buffer] = @pixels + einfo[:info][:dest_buffer_row_bytes] = @width * FFI::type_size(:int); + einfo[:info][:use_color_key] = 0; + einfo[:info][:alpha_threshold] = 0; + einfo[:info][:func][:new_update_region] = nil #FFI::Pointer::NULL; + einfo[:info][:func][:free_update_region] = nil #FFI::Pointer::NULL; + @e.engine_info_set einfo + end # before(:all) { Evas = Efl::Evas @@ -59,22 +77,7 @@ describe Efl::Evas do describe Efl::Evas::REvas do before(:all) do Evas.init - @width = 800 - @height = 600 - @pixels = FFI::MemoryPointer.new :int, @width*@height - @e = Evas::REvas.new - @e.output_method_set Evas::render_method_lookup("buffer") - @e.output_viewport_set 0, 0, @width, @height - @e.output_size_set @width, @height - einfo = Native::EngineInfoBufferStruct.new @e.engine_info - einfo[:info][:depth_type] = Efl::Evas::EVAS_ENGINE_BUFFER_DEPTH_ARGB32 - einfo[:info][:dest_buffer] = @pixels - einfo[:info][:dest_buffer_row_bytes] = @width * FFI::type_size(:int); - einfo[:info][:use_color_key] = 0; - einfo[:info][:alpha_threshold] = 0; - einfo[:info][:func][:new_update_region] = nil #FFI::Pointer::NULL; - einfo[:info][:func][:free_update_region] = nil #FFI::Pointer::NULL; - @e.engine_info_set einfo + realize_evas end after(:all) do @e.free @@ -306,20 +309,7 @@ describe Efl::Evas do # before(:all) do Evas.init - @pixels = FFI::MemoryPointer.new :int, 100*100 - @e = Evas::REvas.new - @e.output_method_set Evas.render_method_lookup("buffer") - @e.output_viewport_set 0, 0, 100, 100 - @e.output_size_set 100, 100 - einfo = Native::EngineInfoBufferStruct.new @e.engine_info - einfo[:info][:depth_type] = Efl::Evas::EVAS_ENGINE_BUFFER_DEPTH_ARGB32 - einfo[:info][:dest_buffer] = @pixels - einfo[:info][:dest_buffer_row_bytes] = 100 * FFI::type_size(:int); - einfo[:info][:use_color_key] = 0; - einfo[:info][:alpha_threshold] = 0; - einfo[:info][:func][:new_update_region] = nil #FFI::Pointer::NULL; - einfo[:info][:func][:free_update_region] = nil #FFI::Pointer::NULL; - @e.engine_info_set einfo + realize_evas @o = @e.object_add(:rectangle) { |o| o.color = 200,200,200,200 o.move 0, 0 @@ -567,6 +557,47 @@ describe Efl::Evas do @o.static_clip?.should be_false @o.static_clip.should be_false end + # + end + # + describe Efl::Evas::REvasLine do + # + before(:all) do + Evas.init + realize_evas + @l = @e.object_add 'line' + end + after(:all) do + @e.free + Evas.shutdown + end + it "xy get/set should work" do + @l.line_xy_set 10, 20, 30, 40 + @l.line_xy_get.should == [10, 20, 30, 40] + end + end + # + describe Efl::Evas::REvasPolygon do + # + before(:all) do + Evas.init + realize_evas + @p = @e.object_add 'polygon' + end + after(:all) do + @e.free + Evas.shutdown + end + it "xy point_add should work" do + @p.point_add 10, 20 + @p.point_add 30, 40 + @p.point_add 50, 60 + @p.point_add 80, 80 + end + # + it "point clear shold work" do + @p.points_clear + end end # end |