diff options
| -rw-r--r-- | lib/efl/eet.rb | 2 | ||||
| -rw-r--r-- | lib/efl/eina_hash.rb | 2 | ||||
| -rw-r--r-- | lib/efl/eina_list.rb | 2 | ||||
| -rw-r--r-- | lib/efl/elementary.rb | 33 | ||||
| -rw-r--r-- | lib/efl/evas.rb | 4 | ||||
| -rw-r--r-- | lib/efl/ffi/elementary.rb | 4 | ||||
| -rw-r--r-- | test/test_elm_win.rb | 47 | ||||
| -rw-r--r-- | test/test_elm_win_class.rb | 8 | 
8 files changed, 57 insertions, 45 deletions
| diff --git a/lib/efl/eet.rb b/lib/efl/eet.rb index 2e5bf0b..9073a73 100644 --- a/lib/efl/eet.rb +++ b/lib/efl/eet.rb @@ -10,7 +10,7 @@ module Efl          class REetFile              #              include Efl::ClassHelper -            @search_paths = [ [Efl::Eet,'eet_'] ].freeze +            @search_paths = [ [Efl::Eet,'eet_'].freeze ]              #              def initialize ptr                  @ptr=ptr diff --git a/lib/efl/eina_hash.rb b/lib/efl/eina_hash.rb index 03619dc..dcbafa2 100644 --- a/lib/efl/eina_hash.rb +++ b/lib/efl/eina_hash.rb @@ -20,7 +20,7 @@ module Efl          class REinaHash              include Enumerable              include Efl::ClassHelper -            @func_prefixes = [ [Efl::EinaHash,'eina_hash_'] ].freeze +            @search_paths = [ [Efl::EinaHash,'eina_hash_'].freeze ]              def initialize o=nil, &block                  cstr = ( block_given? ? block : Proc.new { Efl::EinaHash.eina_hash_string_djb2_new FFI::Pointer::NULL } )                  @ptr = ( diff --git a/lib/efl/eina_list.rb b/lib/efl/eina_list.rb index ecd0e20..e67c037 100644 --- a/lib/efl/eina_list.rb +++ b/lib/efl/eina_list.rb @@ -28,7 +28,7 @@ module Efl          class REinaList              include Enumerable              include Efl::ClassHelper -            @search_paths = [ [Efl::EinaList,'eina_list_'] ].freeze +            @search_paths = [ [Efl::EinaList,'eina_list_'].freeze ]              def initialize o=nil                  @ptr = (                      case o diff --git a/lib/efl/elementary.rb b/lib/efl/elementary.rb index 6008618..96a3d2d 100644 --- a/lib/efl/elementary.rb +++ b/lib/efl/elementary.rb @@ -2,38 +2,51 @@  # -*- coding: UTF-8 -*-  #  require 'efl/evas' +# +module Efl +    module Elm +        extend Efl::FFIHelper +        steal_ffitype Efl::Evas, :evas_smart_cb +        steal_ffitype Efl::Evas, :evas_load_error +        steal_ffitype Efl::Evas, :evas_callback_type +        steal_ffitype Efl::Evas, :evas_object_box_data_p +    end +end +#  require 'efl/ffi/elementary'  # +Efl::Evas::REvasObject.search_paths << [Efl::Elm,'elm_'].freeze +#  module Efl      module Elm          #          class << self              def init *args                  a = args.select { |e| e.is_a? String } -                return Efl::FFI.elm_init 0, ::FFI::MemoryPointer::NULL if a.length==0 -                ptr = ::FFI::MemoryPointer.new :pointer, a.length +                return Efl::Elm.elm_init 0, FFI::MemoryPointer::NULL if a.length==0 +                ptr = FFI::MemoryPointer.new :pointer, a.length                  a.each_with_index do |s,i| -                    ptr[i].write_pointer ::FFI::MemoryPointer.from_string(s) +                    ptr[i].write_pointer FFI::MemoryPointer.from_string(s)                  end -                Efl::FFI.elm_init a.length, ptr +                Efl::Elm.elm_init a.length, ptr              end          end          #          class ElmWin -            include Efl::Helper -            @func_prefixes = [ 'elm_win_', 'elm_' ].freeze +            include Efl::ClassHelper +            @search_paths = [ [Efl::Elm,'elm_win_'].freeze, [Efl::Elm,'elm_'].freeze ]              def initialize parent, title, type=:elm_win_basic -                @evas_object = Evas::EvasObject.new Efl::FFI.elm_win_add parent, title, type -                @ptr = @evas_object.ptr +                @evas_object = Efl::Evas::REvasObject.new Efl::Elm.elm_win_add parent, title, type +                @ptr = @evas_object.to_ptr                  yield self,@evas_object if block_given?              end              def add e -                eo = Evas::EvasObject.new Efl::FFI.send "elm_#{e}_add", @ptr +                eo = Efl::Evas::REvasObject.new Efl::Elm.send "elm_#{e}_add", @ptr                  yield eo if block_given?                  eo              end              def smart_callback_add event_str, cb, data=FFI::MemoryPointer::NULL -                Efl::FFI.evas_object_smart_callback_add @ptr, event_str, cb, data +                Efl::Evas.evas_object_smart_callback_add @ptr, event_str, cb, data              end          end          # diff --git a/lib/efl/evas.rb b/lib/efl/evas.rb index 22db560..2b4e61d 100644 --- a/lib/efl/evas.rb +++ b/lib/efl/evas.rb @@ -44,7 +44,7 @@ module Efl          class REvas              #              include Efl::ClassHelper -            @search_paths = [ [Efl::Evas,'evas_'] ].freeze +            @search_paths = [ [Efl::Evas,'evas_'].freeze ]              #              def initialize o=nil                  @ptr = ( @@ -101,7 +101,7 @@ module Efl          class REvasObject              #              include Efl::ClassHelper -            @search_paths = [ [Efl::Evas,'evas_object_'],[Efl::Evas,'evas_'] ].freeze +            @search_paths = [ [Efl::Evas,'evas_object_'].freeze, [Efl::Evas,'evas_'].freeze ]              #              def initialize o=nil                  @ptr = ( diff --git a/lib/efl/ffi/elementary.rb b/lib/efl/ffi/elementary.rb index dabc667..c0e1215 100644 --- a/lib/efl/ffi/elementary.rb +++ b/lib/efl/ffi/elementary.rb @@ -1162,8 +1162,8 @@ module Efl          [ :elm_table_add, [ :evas_object_p ], :evas_object_p ],          # EAPI void elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);          [ :elm_table_homogenous_set, [ :evas_object_p, :eina_bool ], :void ], -        # EAPI Eina_Bool elm_table_homogeneous_get(const Evas_Object *obj); -        [ :elm_table_homogeneous_get, [ :evas_object_p ], :eina_bool ], +        # EAPI Eina_Bool elm_table_homogenous_get(const Evas_Object *obj); +        [ :elm_table_homogenous_get, [ :evas_object_p ], :eina_bool ],          # EAPI void elm_table_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical);          [ :elm_table_padding_set, [ :evas_object_p, :int, :int ], :void ],          # EAPI void elm_table_padding_get(const Evas_Object *obj, Evas_Coord *horizontal, Evas_Coord *vertical); diff --git a/test/test_elm_win.rb b/test/test_elm_win.rb index 1fe5e9b..24c4d6c 100644 --- a/test/test_elm_win.rb +++ b/test/test_elm_win.rb @@ -4,33 +4,32 @@  require 'efl/elementary'  #  Efl::Elm.init - +#  win_del = Proc.new { |data,evas_object,event_info| -    Efl::FFI.elm_exit(); +    Efl::Elm.elm_exit();  } - -win = Efl::FFI.elm_win_add ::FFI::MemoryPointer::NULL, "App name", :elm_win_basic -Efl::FFI.elm_win_title_set win, "Window title" -Efl::FFI.evas_object_smart_callback_add win, "delete,request", win_del, ::FFI::MemoryPointer::NULL - -bg = Efl::FFI.elm_bg_add win -Efl::FFI.evas_object_size_hint_weight_set bg, 1.0, 1.0 -Efl::FFI.elm_win_resize_object_add win, bg -Efl::FFI.evas_object_show bg - -lb = Efl::FFI.elm_label_add win -Efl::FFI.elm_label_label_set lb, "Hello World!" -Efl::FFI.evas_object_size_hint_weight_set lb, 1.0, 1.0 -Efl::FFI.elm_win_resize_object_add win, lb -Efl::FFI.evas_object_show lb - -Efl::FFI.evas_object_move win, 300, 300 -Efl::FFI.evas_object_resize win, 200, 100 - -Efl::FFI.evas_object_show win - +# +win = Efl::Elm.elm_win_add FFI::MemoryPointer::NULL, "App name", :elm_win_basic +Efl::Elm.elm_win_title_set win, "Window title" +Efl::Evas.evas_object_smart_callback_add win, "delete,request", win_del, FFI::MemoryPointer::NULL +# +bg = Efl::Elm.elm_bg_add win +Efl::Evas.evas_object_size_hint_weight_set bg, 1.0, 1.0 +Efl::Elm.elm_win_resize_object_add win, bg +Efl::Evas.evas_object_show bg +# +lb = Efl::Elm.elm_label_add win +Efl::Elm.elm_label_label_set lb, "Hello World!" +Efl::Evas.evas_object_size_hint_weight_set lb, 1.0, 1.0 +Efl::Elm.elm_win_resize_object_add win, lb +Efl::Evas.evas_object_show lb +# +Efl::Evas.evas_object_move win, 300, 300 +Efl::Evas.evas_object_resize win, 200, 100 +# +Efl::Evas.evas_object_show win +#  Efl::Elm.run  Efl::Elm.shutdown  #  # EOF - diff --git a/test/test_elm_win_class.rb b/test/test_elm_win_class.rb index fee0265..5aa3491 100644 --- a/test/test_elm_win_class.rb +++ b/test/test_elm_win_class.rb @@ -21,13 +21,13 @@ class MyWin < Elm::ElmWin              bg.color = 200,255,100,200 # same as bg.color_set 200,255,100,200              bg.show          end -        resize_object_add @bg.ptr +        resize_object_add @bg.to_ptr          @lb = add 'label'do |lb| -            lb.elm_label_label_set "Hello World!"   # complete function name -            lb.size_hint_weight_set 1.0, 1.0        # implicit evas_object function name prefix +            lb.label_label_set "Hello World!"   # complete function name +            lb.size_hint_weight_set 1.0, 1.0    # implicit evas_object function name prefix          end          @lb.show -        resize_object_add @lb.ptr +        resize_object_add @lb.to_ptr      end      def exit data, evas_object, event_info          puts "EXIT #{data.read_string}" | 
