summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-02-27 10:04:30 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2012-02-27 10:04:30 +0100
commitdebba5aaff32de4ba857ad4f177fc6c2c21bec46 (patch)
tree9cc559eec327fadd77b086bc088ae711a1770619
parent863fce3d0c74445ab4be4b69b998970f33fa076a (diff)
downloadffi-efl-debba5aaff32de4ba857ad4f177fc6c2c21bec46.zip
ffi-efl-debba5aaff32de4ba857ad4f177fc6c2c21bec46.tar.gz
parse elm_icon.h and generate elm_icon.rb
-rw-r--r--lib/efl/native/elm/elm_icon.rb97
-rwxr-xr-xtools/extract-api.sh1
-rwxr-xr-xtools/genruby.rb5
3 files changed, 103 insertions, 0 deletions
diff --git a/lib/efl/native/elm/elm_icon.rb b/lib/efl/native/elm/elm_icon.rb
new file mode 100644
index 0000000..dabfeb4
--- /dev/null
+++ b/lib/efl/native/elm/elm_icon.rb
@@ -0,0 +1,97 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'efl/native'
+require 'efl/native/elementary'
+#
+module Efl
+ #
+ module ElmIcon
+ #
+ FCT_PREFIX = 'elm_icon_' 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'
+ #
+ # ENUMS
+ # typedef enum {...} Elm_Icon_Type;
+ enum :elm_icon_type, [ :elm_icon_none, :elm_icon_file, :elm_icon_standard ]
+ # typedef enum {...} Elm_Icon_Lookup_Order;
+ enum :elm_icon_lookup_order, [ :elm_icon_lookup_fdo_theme, :elm_icon_lookup_theme_fdo, :elm_icon_lookup_fdo, :elm_icon_lookup_theme ]
+ #
+ # FUNCTIONS
+ fcts = [
+ # EAPI Evas_Object *elm_icon_add(Evas_Object *parent);
+ [ :elm_icon_add, [ :evas_object ], :evas_object ],
+ # EAPI Eina_Bool elm_icon_file_set(Evas_Object *obj, const char *file, const char *group);
+ [ :elm_icon_file_set, [ :evas_object, :string, :string ], :bool ],
+ # EAPI Eina_Bool elm_icon_memfile_set(Evas_Object *obj, const void *img, size_t size, const char *format, const char *key);
+ [ :elm_icon_memfile_set, [ :evas_object, :pointer, :ulong, :string, :string ], :bool ],
+ # EAPI void elm_icon_file_get(const Evas_Object *obj, const char **file, const char **group);
+ [ :elm_icon_file_get, [ :evas_object, :pointer, :pointer ], :void ],
+ # EAPI void elm_icon_thumb_set(Evas_Object *obj, const char *file, const char *group);
+ [ :elm_icon_thumb_set, [ :evas_object, :string, :string ], :void ],
+ # EAPI Eina_Bool elm_icon_standard_set(Evas_Object *obj, const char *name);
+ [ :elm_icon_standard_set, [ :evas_object, :string ], :bool ],
+ # EAPI const char *elm_icon_standard_get(const Evas_Object *obj);
+ [ :elm_icon_standard_get, [ :evas_object ], :string ],
+ # EAPI void elm_icon_smooth_set(Evas_Object *obj, Eina_Bool smooth);
+ [ :elm_icon_smooth_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_icon_smooth_get(const Evas_Object *obj);
+ [ :elm_icon_smooth_get, [ :evas_object ], :bool ],
+ # EAPI void elm_icon_no_scale_set(Evas_Object *obj, Eina_Bool no_scale);
+ [ :elm_icon_no_scale_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_icon_no_scale_get(const Evas_Object *obj);
+ [ :elm_icon_no_scale_get, [ :evas_object ], :bool ],
+ # EAPI void elm_icon_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down);
+ [ :elm_icon_scale_set, [ :evas_object, :bool, :bool ], :void ],
+ # EAPI void elm_icon_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down);
+ [ :elm_icon_scale_get, [ :evas_object, :pointer, :pointer ], :void ],
+ # EAPI void elm_icon_size_get(const Evas_Object *obj, int *w, int *h);
+ [ :elm_icon_size_get, [ :evas_object, :pointer, :pointer ], :void ],
+ # EAPI void elm_icon_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside);
+ [ :elm_icon_fill_outside_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_icon_fill_outside_get(const Evas_Object *obj);
+ [ :elm_icon_fill_outside_get, [ :evas_object ], :bool ],
+ # EAPI void elm_icon_prescale_set(Evas_Object *obj, int size);
+ [ :elm_icon_prescale_set, [ :evas_object, :int ], :void ],
+ # EAPI int elm_icon_prescale_get(const Evas_Object *obj);
+ [ :elm_icon_prescale_get, [ :evas_object ], :int ],
+ # EAPI Evas_Object *elm_icon_object_get(Evas_Object *obj);
+ [ :elm_icon_object_get, [ :evas_object ], :evas_object ],
+ # EAPI void elm_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order);
+ [ :elm_icon_order_lookup_set, [ :evas_object, :elm_icon_lookup_order ], :void ],
+ # EAPI Elm_Icon_Lookup_Order elm_icon_order_lookup_get(const Evas_Object *obj);
+ [ :elm_icon_order_lookup_get, [ :evas_object ], :elm_icon_lookup_order ],
+ # EAPI void elm_icon_preload_set(Evas_Object *obj, Eina_Bool disable);
+ [ :elm_icon_preload_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_icon_animated_available_get(const Evas_Object *obj);
+ [ :elm_icon_animated_available_get, [ :evas_object ], :bool ],
+ # EAPI void elm_icon_animated_set(Evas_Object *obj, Eina_Bool animated);
+ [ :elm_icon_animated_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_icon_animated_get(const Evas_Object *obj);
+ [ :elm_icon_animated_get, [ :evas_object ], :bool ],
+ # EAPI void elm_icon_animated_play_set(Evas_Object *obj, Eina_Bool play);
+ [ :elm_icon_animated_play_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_icon_animated_play_get(const Evas_Object *obj);
+ [ :elm_icon_animated_play_get, [ :evas_object ], :bool ],
+ # EAPI void elm_icon_aspect_fixed_set(Evas_Object *obj, Eina_Bool fixed);
+ [ :elm_icon_aspect_fixed_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_icon_aspect_fixed_get(const Evas_Object *obj);
+ [ :elm_icon_aspect_fixed_get, [ :evas_object ], :bool ],
+ ]
+ #
+ attach_fcts fcts
+ #
+ end
+end
+#
+# EOF
diff --git a/tools/extract-api.sh b/tools/extract-api.sh
index f17a0fe..ba30448 100755
--- a/tools/extract-api.sh
+++ b/tools/extract-api.sh
@@ -46,6 +46,7 @@ for header in \
"${INCLUDE}/elementary-0/elm_general.h" \
"${INCLUDE}/elementary-0/elm_tooltip.h" \
"${INCLUDE}/elementary-0/elm_object_item.h" \
+ "${INCLUDE}/elementary-0/elm_icon.h" \
; do
#
if [ ! -e "$header" ]; then
diff --git a/tools/genruby.rb b/tools/genruby.rb
index 96f50c6..52a174a 100755
--- a/tools/genruby.rb
+++ b/tools/genruby.rb
@@ -350,6 +350,11 @@ libs << {
:modname=>'ElmObjectItem', :prefix=>'elm_object_item', :outfile=>'elm/elm_object_item.rb',
:requires=>["#{NATIVE}/elementary"], :constants=>[]
}
+libs << {
+ :lib=>ELM_LIB,:header=>'elm_icon.h',
+ :modname=>'ElmIcon', :prefix=>'elm_icon', :outfile=>'elm/elm_icon.rb',
+ :requires=>["#{NATIVE}/elementary"], :constants=>[]
+}
Dir.mkdir lib_path unless (File.exists? lib_path)
#
libs.each do |lib|