diff options
Diffstat (limited to 'lib/efl/elementary.rb')
-rw-r--r-- | lib/efl/elementary.rb | 33 |
1 files changed, 23 insertions, 10 deletions
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 # |