diff options
Diffstat (limited to 'lib/efl/elm')
| -rw-r--r-- | lib/efl/elm/elm_bg.rb | 37 | ||||
| -rw-r--r-- | lib/efl/elm/elm_label.rb | 22 | ||||
| -rw-r--r-- | lib/efl/elm/elm_object.rb | 68 | ||||
| -rw-r--r-- | lib/efl/elm/elm_win.rb | 33 | 
4 files changed, 160 insertions, 0 deletions
diff --git a/lib/efl/elm/elm_bg.rb b/lib/efl/elm/elm_bg.rb new file mode 100644 index 0000000..1eea4ce --- /dev/null +++ b/lib/efl/elm/elm_bg.rb @@ -0,0 +1,37 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/native/elm/elm_bg' +# +module Efl +    # +    module Elm +        # +        class ElmBg < ElmObject +            # +            include Helper +            constructor :elm_bg_add +            search_prefixes 'elm_bg_' +            # +            def file_get +                f = FFI::MemoryPointer.new :pointer +                g = FFI::MemoryPointer.new :pointer +                Native.elm_bg_file_get @ptr, f, g +                [ f.read_pointer.read_string, g.read_pointer.read_string ] +            end +            alias :file :file_get +            def color_get +                r = FFI::MemoryPointer.new :int +                g = FFI::MemoryPointer.new :int +                b = FFI::MemoryPointer.new :int +                Native.elm_bg_color_get @ptr, r, g, b +                [ r.read_int, g.read_int, b.read_int ] +            end +            alias :color :color_get +        end +        # +    end +end +# +# EOF diff --git a/lib/efl/elm/elm_label.rb b/lib/efl/elm/elm_label.rb new file mode 100644 index 0000000..57460c4 --- /dev/null +++ b/lib/efl/elm/elm_label.rb @@ -0,0 +1,22 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/native/elm/elm_label' +# +module Efl +    # +    module Elm +        # +        class ElmLabel < ElmObject +            # +            include Helper +            constructor :elm_label_add +            search_prefixes 'elm_label_' +            # +        end +        # +    end +end +# +# EOF diff --git a/lib/efl/elm/elm_object.rb b/lib/efl/elm/elm_object.rb new file mode 100644 index 0000000..f640da5 --- /dev/null +++ b/lib/efl/elm/elm_object.rb @@ -0,0 +1,68 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elementary' +require 'efl/native/elm/elm_object' +# +module Efl +    # +    module Elm +        # +        module Helper +            def self.included kls +                def kls.constructor meth +                    self.class_eval <<-EOF +                    def initialize ptr, &block +                        if ptr.is_a? FFI::Pointer +                            super ptr, &block +                        else +                            super Native.method(:#{meth}), ptr, &block +                        end +                    end +                    EOF +                end +            end +        end +        # +        class ElmObject < Efl::Evas::REvasObject +            # +            search_prefixes 'elm_object_' +            # +            def smart_callback_add event_str, cb, data=FFI::MemoryPointer::NULL +                Native.evas_object_smart_callback_add @ptr, event_str, cb, data +            end +            # +            def text_set label +                Native.elm_object_part_text_set @ptr, nil, label +            end +            alias :text= :text_set +            # +            def text_get +                Native.elm_object_part_text_get @ptr, nil +            end +            alias :text :text_get +            # +            def content_set content +                Native.elm_object_part_content_set @ptr, nil, content +            end +            alias :content= :content_set +            # +            def content_get +                Native.elm_object_part_content_get @ptr, nil +            end +            alias :content :content_get +            # +            def content_unset +                Native.elm_object_part_content_unset @ptr, nil +            end +            # +            def parent_widget_get +                ElmObject.new Native.elm_object_parent_widget_get @ptr +            end +            alias :parent_widget :parent_widget_get +        end +        # +    end +end +# +# EOF diff --git a/lib/efl/elm/elm_win.rb b/lib/efl/elm/elm_win.rb new file mode 100644 index 0000000..daac677 --- /dev/null +++ b/lib/efl/elm/elm_win.rb @@ -0,0 +1,33 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/native/elm/elm_win' +# +module Efl +    # +    module Elm +        # +        class ElmWin < ElmObject +            # +            search_prefixes 'elm_win_' +            # +            def initialize parent, title, type=:elm_win_basic, &block +                super Native.method(:elm_win_add), parent, title, type, &block +            end +#            def inwin_add +#                ElmInWin.new @ptr +#            end +            def screen_position_get +                x = FFI::MemoryPointer.new :int +                y = FFI::MemoryPointer.new :int +                Native.elm_win_screen_position_get @ptr, x, y +                [ x.read_int, y.read_int ] +            end +            alias :screen_position :screen_position_get +        end +        # +    end +end +# +# EOF  | 
