diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-02-27 14:52:35 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-02-27 14:52:35 +0100 |
commit | c858ea430f766c94b5f9ca1cb716306b8b6d7031 (patch) | |
tree | 75df90d69e1ad4f60f319b4099b34e6bdf383dd0 | |
parent | f41bbfd3a683793044361249544c8bc7bb2747ce (diff) | |
download | ffi-efl-c858ea430f766c94b5f9ca1cb716306b8b6d7031.zip ffi-efl-c858ea430f766c94b5f9ca1cb716306b8b6d7031.tar.gz |
parse elm_box.h, generate elm_box.rb
-rw-r--r-- | lib/efl/elm/elm_box.rb | 42 | ||||
-rw-r--r-- | lib/efl/native/elm/elm_box.rb | 81 | ||||
-rwxr-xr-x | tools/extract-api.sh | 1 | ||||
-rwxr-xr-x | tools/genruby.rb | 5 |
4 files changed, 129 insertions, 0 deletions
diff --git a/lib/efl/elm/elm_box.rb b/lib/efl/elm/elm_box.rb new file mode 100644 index 0000000..b0539a2 --- /dev/null +++ b/lib/efl/elm/elm_box.rb @@ -0,0 +1,42 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/native/elm/elm_box' +# +module Efl + # + module Elm + # + class ElmBox < ElmObject + # + include Helper + constructor :elm_box_add + search_prefixes 'elm_box_' + # + def padding_get + x = FFI::MemoryPointer.new :int + y = FFI::MemoryPointer.new :int + Native::elm_box_padding_get @ptr, x, y + [ x.read_int, y.read_int ] + end + alias :padding :padding_get + # + def align_get + x = FFI::MemoryPointer.new :float + y = FFI::MemoryPointer.new :float + Native::elm_box_align_get @ptr, x, y + [ x.read_float, y.read_float ] + end + alias :align :padding_get + # + def children_get + Efl::EinaList::REinaList.new Native.elm_box_children_get @ptr + end + alias :children :children_get + end + # + end +end +# +# EOF diff --git a/lib/efl/native/elm/elm_box.rb b/lib/efl/native/elm/elm_box.rb new file mode 100644 index 0000000..4b776cd --- /dev/null +++ b/lib/efl/native/elm/elm_box.rb @@ -0,0 +1,81 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/native' +require 'efl/native/elementary' +# +module Efl + # + module ElmBox + # + FCT_PREFIX = 'elm_box_' unless const_defined? :FCT_PREFIX + # + def self.method_missing meth, *args, &block + sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX + self.send sym, *args, &block + end + # + end + # + module Native + # + ffi_lib 'elementary-ver-pre-svn-09.so.0' + # + # TYPEDEFS + # typedef struct _Elm_Box_Transition Elm_Box_Transition; + typedef :pointer, :elm_box_transition + # + # FUNCTIONS + fcts = [ + # EAPI Evas_Object *elm_box_add(Evas_Object *parent); + [ :elm_box_add, [ :evas_object ], :evas_object ], + # EAPI void elm_box_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); + [ :elm_box_horizontal_set, [ :evas_object, :bool ], :void ], + # EAPI Eina_Bool elm_box_horizontal_get(const Evas_Object *obj); + [ :elm_box_horizontal_get, [ :evas_object ], :bool ], + # EAPI void elm_box_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous); + [ :elm_box_homogeneous_set, [ :evas_object, :bool ], :void ], + # EAPI Eina_Bool elm_box_homogeneous_get(const Evas_Object *obj); + [ :elm_box_homogeneous_get, [ :evas_object ], :bool ], + # EAPI void elm_box_pack_start(Evas_Object *obj, Evas_Object *subobj); + [ :elm_box_pack_start, [ :evas_object, :evas_object ], :void ], + # EAPI void elm_box_pack_end(Evas_Object *obj, Evas_Object *subobj); + [ :elm_box_pack_end, [ :evas_object, :evas_object ], :void ], + # EAPI void elm_box_pack_before(Evas_Object *obj, Evas_Object *subobj, Evas_Object *before); + [ :elm_box_pack_before, [ :evas_object, :evas_object, :evas_object ], :void ], + # EAPI void elm_box_pack_after(Evas_Object *obj, Evas_Object *subobj, Evas_Object *after); + [ :elm_box_pack_after, [ :evas_object, :evas_object, :evas_object ], :void ], + # EAPI void elm_box_clear(Evas_Object *obj); + [ :elm_box_clear, [ :evas_object ], :void ], + # EAPI void elm_box_unpack(Evas_Object *obj, Evas_Object *subobj); + [ :elm_box_unpack, [ :evas_object, :evas_object ], :void ], + # EAPI void elm_box_unpack_all(Evas_Object *obj); + [ :elm_box_unpack_all, [ :evas_object ], :void ], + # EAPI Eina_List *elm_box_children_get(const Evas_Object *obj); + [ :elm_box_children_get, [ :evas_object ], :eina_list ], + # EAPI void elm_box_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical); + [ :elm_box_padding_set, [ :evas_object, :int, :int ], :void ], + # EAPI void elm_box_padding_get(const Evas_Object *obj, Evas_Coord *horizontal, Evas_Coord *vertical); + [ :elm_box_padding_get, [ :evas_object, :pointer, :pointer ], :void ], + # EAPI void elm_box_align_set(Evas_Object *obj, double horizontal, double vertical); + [ :elm_box_align_set, [ :evas_object, :double, :double ], :void ], + # EAPI void elm_box_align_get(const Evas_Object *obj, double *horizontal, double *vertical); + [ :elm_box_align_get, [ :evas_object, :pointer, :pointer ], :void ], + # EAPI void elm_box_recalculate(Evas_Object *obj); + [ :elm_box_recalculate, [ :evas_object ], :void ], + # EAPI void elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data)); + # FIXME + # EAPI void elm_box_layout_transition(Evas_Object *obj, Evas_Object_Box_Data *priv, void *data); + [ :elm_box_layout_transition, [ :evas_object, :evas_object_box_data, :pointer ], :void ], + # EAPI Elm_Box_Transition *elm_box_transition_new(const double duration, Evas_Object_Box_Layout start_layout, void *start_layout_data, void (*start_layout_free_data)(void *data), Evas_Object_Box_Layout end_layout, void *end_layout_data, void (*end_layout_free_data)(void *data), void (*transition_end_cb)(void *data), void *transition_end_data); + # FIXME + # EAPI void elm_box_transition_free(void *data); + [ :elm_box_transition_free, [ :pointer ], :void ], + ] + # + attach_fcts fcts + # + end +end +# +# EOF diff --git a/tools/extract-api.sh b/tools/extract-api.sh index de52d7d..adf3a67 100755 --- a/tools/extract-api.sh +++ b/tools/extract-api.sh @@ -54,6 +54,7 @@ for header in \ "${INCLUDE}/elementary-0/elm_bg.h" \ "${INCLUDE}/elementary-0/elm_label.h" \ "${INCLUDE}/elementary-0/elm_object.h" \ + "${INCLUDE}/elementary-0/elm_box.h" \ ; do # if [ ! -e "$header" ]; then diff --git a/tools/genruby.rb b/tools/genruby.rb index b044f62..a706e5e 100755 --- a/tools/genruby.rb +++ b/tools/genruby.rb @@ -390,6 +390,11 @@ libs << { :modname=>'ElmObject', :prefix=>'elm_object', :outfile=>'elm/elm_object.rb', :requires=>["#{NATIVE}/edje","#{NATIVE}/elementary"], :constants=>[] } +libs << { + :lib=>ELM_LIB,:header=>'elm_box.h', + :modname=>'ElmBox', :prefix=>'elm_box', :outfile=>'elm/elm_box.rb', + :requires=>["#{NATIVE}/edje","#{NATIVE}/elementary"], :constants=>[] +} Dir.mkdir lib_path unless (File.exists? lib_path) # libs.each do |lib| |