diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efl/evas.rb | 36 | 
1 files changed, 22 insertions, 14 deletions
diff --git a/lib/efl/evas.rb b/lib/efl/evas.rb index 258efa6..942fc4e 100644 --- a/lib/efl/evas.rb +++ b/lib/efl/evas.rb @@ -71,20 +71,23 @@ module Efl                  REvas.release @ptr                  @ptr=nil              end -            def object_add t -                ts = t.to_s -                o =  ( -                    case ts -                    when 'rectangle' -                        Evas::REvasRectangle.new Native.evas_object_rectangle_add @ptr -                    when 'line' -                        Evas::REvasLine.new Native.evas_object_line_add @ptr -                    when 'polygon' -                        Evas::REvasPolygon.new Native.evas_object_polygon_add @ptr -                    else -                        raise NameError.new "unknown or not implemented yet evas_object type #{ts}" -                    end -                ) +            def object_rectangle_add +                o = Evas::REvasRectangle.new FFI::AutoPointer.new Native.evas_object_rectangle_add(@ptr), REvasObject.method(:release) +                yield o if block_given? +                o +            end +            def object_line_add +                o = Evas::REvasLine.new FFI::AutoPointer.new Native.evas_object_line_add(@ptr), REvasObject.method(:release) +                yield o if block_given? +                o +            end +            def object_polygon_add +                o = Evas::REvasPolygon.new FFI::AutoPointer.new Native.evas_object_polygon_add(@ptr), REvasObject.method(:release) +                yield o if block_given? +                o +            end +            def object_text_add +                o = Evas::REvasText.new FFI::AutoPointer.new Native.evas_object_text_add(@ptr), REvasObject.method(:release)                  yield o if block_given?                  o              end @@ -273,6 +276,11 @@ module Efl              #          end          # +        class REvasText < REvasObject +            # +            search_prefixes 'evas_object_text_' +            # +        end      end  end  #  | 
