diff options
-rw-r--r-- | lib/efl/elementary_all.rb | 4 | ||||
-rw-r--r-- | lib/efl/elm/elm_photo.rb | 22 | ||||
-rw-r--r-- | lib/efl/elm/elm_photocam.rb | 22 | ||||
-rw-r--r-- | lib/efl/native/elm/elm_photo.rb | 49 | ||||
-rw-r--r-- | lib/efl/native/elm/elm_photocam.rb | 74 | ||||
-rwxr-xr-x | tools/genruby.rb | 4 |
6 files changed, 171 insertions, 4 deletions
diff --git a/lib/efl/elementary_all.rb b/lib/efl/elementary_all.rb index 28297e0..b64ac7d 100644 --- a/lib/efl/elementary_all.rb +++ b/lib/efl/elementary_all.rb @@ -63,8 +63,8 @@ require 'efl/elm/elm_notify' require 'efl/elm/elm_pager' require 'efl/elm/elm_panel' require 'efl/elm/elm_panes' -#require 'efl/elm/elm_photocam' -#require 'efl/elm/elm_photo' +require 'efl/elm/elm_photocam' +require 'efl/elm/elm_photo' #require 'efl/elm/elm_plug' require 'efl/elm/elm_progressbar' require 'efl/elm/elm_radio' diff --git a/lib/efl/elm/elm_photo.rb b/lib/efl/elm/elm_photo.rb new file mode 100644 index 0000000..168df54 --- /dev/null +++ b/lib/efl/elm/elm_photo.rb @@ -0,0 +1,22 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/native/elm/elm_photo' +# +module Efl + # + module Elm + # + class ElmPhoto < ElmObject + # + include Helper + constructor :elm_photo_add + search_prefixes 'elm_photo_' + # + end + # + end +end +# +# EOF diff --git a/lib/efl/elm/elm_photocam.rb b/lib/efl/elm/elm_photocam.rb new file mode 100644 index 0000000..92ea9e2 --- /dev/null +++ b/lib/efl/elm/elm_photocam.rb @@ -0,0 +1,22 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/native/elm/elm_photocam' +# +module Efl + # + module Elm + # + class ElmPhotoCam < ElmObject + # + include Helper + constructor :elm_photocam_add + search_prefixes 'elm_photocam_' + # + end + # + end +end +# +# EOF diff --git a/lib/efl/native/elm/elm_photo.rb b/lib/efl/native/elm/elm_photo.rb new file mode 100644 index 0000000..7eb7546 --- /dev/null +++ b/lib/efl/native/elm/elm_photo.rb @@ -0,0 +1,49 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/native' +require 'efl/native/elementary' +# +module Efl + # + module ElmPhoto + # + FCT_PREFIX = 'elm_photo_' 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' + # + # FUNCTIONS + fcts = [ + # EAPI Evas_Object *elm_photo_add(Evas_Object *parent); + [ :elm_photo_add, [ :evas_object ], :evas_object ], + # EAPI Eina_Bool elm_photo_file_set(Evas_Object *obj, const char *file); + [ :elm_photo_file_set, [ :evas_object, :string ], :bool ], + # EAPI void elm_photo_thumb_set(const Evas_Object *obj, const char *file, const char *group); + [ :elm_photo_thumb_set, [ :evas_object, :string, :string ], :void ], + # EAPI void elm_photo_size_set(Evas_Object *obj, int size); + [ :elm_photo_size_set, [ :evas_object, :int ], :void ], + # EAPI void elm_photo_fill_inside_set(Evas_Object *obj, Eina_Bool fill); + [ :elm_photo_fill_inside_set, [ :evas_object, :bool ], :void ], + # EAPI void elm_photo_editable_set(Evas_Object *obj, Eina_Bool set); + [ :elm_photo_editable_set, [ :evas_object, :bool ], :void ], + # EAPI void elm_photo_aspect_fixed_set(Evas_Object *obj, Eina_Bool fixed); + [ :elm_photo_aspect_fixed_set, [ :evas_object, :bool ], :void ], + # EAPI Eina_Bool elm_photo_aspect_fixed_get(const Evas_Object *obj); + [ :elm_photo_aspect_fixed_get, [ :evas_object ], :bool ], + ] + # + attach_fcts fcts + # + end +end +# +# EOF diff --git a/lib/efl/native/elm/elm_photocam.rb b/lib/efl/native/elm/elm_photocam.rb new file mode 100644 index 0000000..e553746 --- /dev/null +++ b/lib/efl/native/elm/elm_photocam.rb @@ -0,0 +1,74 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/native' +require 'efl/native/elementary' +# +module Efl + # + module ElmPhotoCam + # + FCT_PREFIX = 'elm_photocam_' 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_Photocam_Zoom_Mode; + enum :elm_photocam_zoom_mode, [ :elm_photocam_zoom_mode_manual, 0, :elm_photocam_zoom_mode_auto_fit, 1, :elm_photocam_zoom_mode_auto_fill, 2, + :elm_photocam_zoom_mode_auto_fit_in, 3, :elm_photocam_zoom_mode_last, 4 ] + # + # FUNCTIONS + fcts = [ + # EAPI Evas_Object *elm_photocam_add(Evas_Object *parent); + [ :elm_photocam_add, [ :evas_object ], :evas_object ], + # EAPI Evas_Load_Error elm_photocam_file_set(Evas_Object *obj, const char *file); + [ :elm_photocam_file_set, [ :evas_object, :string ], :evas_load_error ], + # EAPI const char *elm_photocam_file_get(const Evas_Object *obj); + [ :elm_photocam_file_get, [ :evas_object ], :string ], + # EAPI void elm_photocam_zoom_set(Evas_Object *obj, double zoom); + [ :elm_photocam_zoom_set, [ :evas_object, :double ], :void ], + # EAPI double elm_photocam_zoom_get(const Evas_Object *obj); + [ :elm_photocam_zoom_get, [ :evas_object ], :double ], + # EAPI void elm_photocam_zoom_mode_set(Evas_Object *obj, Elm_Photocam_Zoom_Mode mode); + [ :elm_photocam_zoom_mode_set, [ :evas_object, :elm_photocam_zoom_mode ], :void ], + # EAPI Elm_Photocam_Zoom_Mode elm_photocam_zoom_mode_get(const Evas_Object *obj); + [ :elm_photocam_zoom_mode_get, [ :evas_object ], :elm_photocam_zoom_mode ], + # EAPI void elm_photocam_image_size_get(const Evas_Object *obj, int *w, int *h); + [ :elm_photocam_image_size_get, [ :evas_object, :pointer, :pointer ], :void ], + # EAPI void elm_photocam_image_region_get(const Evas_Object *obj, int *x, int *y, int *w, int *h); + [ :elm_photocam_image_region_get, [ :evas_object, :pointer, :pointer, :pointer, :pointer ], :void ], + # EAPI void elm_photocam_image_region_show(Evas_Object *obj, int x, int y, int w, int h); + [ :elm_photocam_image_region_show, [ :evas_object, :int, :int, :int, :int ], :void ], + # EAPI void elm_photocam_image_region_bring_in(Evas_Object *obj, int x, int y, int w, int h); + [ :elm_photocam_image_region_bring_in, [ :evas_object, :int, :int, :int, :int ], :void ], + # EAPI void elm_photocam_paused_set(Evas_Object *obj, Eina_Bool paused); + [ :elm_photocam_paused_set, [ :evas_object, :bool ], :void ], + # EAPI Eina_Bool elm_photocam_paused_get(const Evas_Object *obj); + [ :elm_photocam_paused_get, [ :evas_object ], :bool ], + # EAPI Evas_Object *elm_photocam_internal_image_get(const Evas_Object *obj); + [ :elm_photocam_internal_image_get, [ :evas_object ], :evas_object ], + # EAPI void elm_photocam_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce); + [ :elm_photocam_bounce_set, [ :evas_object, :bool, :bool ], :void ], + # EAPI void elm_photocam_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce); + [ :elm_photocam_bounce_get, [ :evas_object, :pointer, :pointer ], :void ], + # EAPI void elm_photocam_gesture_set(Evas_Object *obj, Eina_Bool gesture); + # FIXME + # EAPI Eina_Bool elm_photocam_gesture_get(const Evas_Object *obj); + # FIXME + ] + # + attach_fcts fcts + # + end +end +# +# EOF diff --git a/tools/genruby.rb b/tools/genruby.rb index 4a03459..e6b66b8 100755 --- a/tools/genruby.rb +++ b/tools/genruby.rb @@ -420,8 +420,8 @@ libs << elm_h('elm_pager.h', 'ElmPager') libs << elm_h('elm_panel.h', 'ElmPanel') libs << elm_h('elm_panes.h', 'ElmPanes') libs << elm_h('elm_password.h', 'ElmPassword') -#libs << elm_h('elm_photocam.h', 'ElmX') -#libs << elm_h('elm_photo.h', 'ElmX') +libs << elm_h('elm_photocam.h', 'ElmPhotoCam') +libs << elm_h('elm_photo.h', 'ElmPhoto') #libs << elm_h('elm_plug.h', 'ElmX') libs << elm_h('elm_progressbar.h', 'ElmProgressBar') libs << elm_h('elm_radio.h', 'ElmRadio') |