summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-02-27 14:52:35 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2012-02-27 14:52:35 +0100
commitc858ea430f766c94b5f9ca1cb716306b8b6d7031 (patch)
tree75df90d69e1ad4f60f319b4099b34e6bdf383dd0
parentf41bbfd3a683793044361249544c8bc7bb2747ce (diff)
downloadffi-efl-c858ea430f766c94b5f9ca1cb716306b8b6d7031.zip
ffi-efl-c858ea430f766c94b5f9ca1cb716306b8b6d7031.tar.gz
parse elm_box.h, generate elm_box.rb
-rw-r--r--lib/efl/elm/elm_box.rb42
-rw-r--r--lib/efl/native/elm/elm_box.rb81
-rwxr-xr-xtools/extract-api.sh1
-rwxr-xr-xtools/genruby.rb5
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|