ffi-efl 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. data/Changelog +12 -0
  2. data/Rakefile +1 -1
  3. data/lib/efl/ecore.rb +17 -6
  4. data/lib/efl/ecore_evas.rb +78 -24
  5. data/lib/efl/ecore_getopt.rb +27 -23
  6. data/lib/efl/ecore_input.rb +1 -1
  7. data/lib/efl/edje.rb +11 -11
  8. data/lib/efl/eet.rb +20 -14
  9. data/lib/efl/eina.rb +1 -1
  10. data/lib/efl/eina_hash.rb +17 -30
  11. data/lib/efl/eina_list.rb +16 -25
  12. data/lib/efl/elementary.rb +8 -19
  13. data/lib/efl/evas.rb +167 -38
  14. data/lib/efl/ffi.rb +28 -17
  15. data/lib/efl/{ffi → native}/ecore.rb +9 -5
  16. data/lib/efl/{ffi → native}/ecore_evas.rb +27 -20
  17. data/lib/efl/{ffi → native}/ecore_getopt.rb +9 -5
  18. data/lib/efl/{ffi → native}/ecore_input.rb +9 -5
  19. data/lib/efl/{ffi → native}/edje.rb +14 -10
  20. data/lib/efl/{ffi → native}/eet.rb +9 -5
  21. data/lib/efl/{ffi → native}/eina.rb +9 -5
  22. data/lib/efl/{ffi → native}/eina_hash.rb +9 -5
  23. data/lib/efl/{ffi → native}/eina_list.rb +9 -5
  24. data/lib/efl/{ffi → native}/eina_types.rb +9 -5
  25. data/lib/efl/{ffi → native}/elementary.rb +70 -66
  26. data/lib/efl/{ffi → native}/evas.rb +11 -7
  27. data/lib/efl/native.rb +16 -0
  28. data/lib/efl.rb +1 -1
  29. data/spec/ecore_evas_spec.rb +325 -6
  30. data/spec/ecore_getopt_spec.rb +70 -104
  31. data/spec/ecore_input_spec.rb +6 -6
  32. data/spec/ecore_spec.rb +63 -60
  33. data/spec/edje_spec.rb +6 -6
  34. data/spec/eet_spec.rb +23 -22
  35. data/spec/eina_hash_spec.rb +53 -58
  36. data/spec/eina_list_spec.rb +28 -18
  37. data/spec/eina_spec.rb +6 -6
  38. data/spec/evas_spec.rb +371 -119
  39. data/tasks/constants.rb +4 -0
  40. data/test/test_edje.rb +1 -1
  41. data/test/test_elm_win-native.rb +38 -0
  42. data/test/test_evas.rb +4 -4
  43. metadata +32 -20
  44. data/test/test_elm_win.rb +0 -35
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module EcoreInput
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'ecore_event_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'ecore_input'
20
24
  #
21
25
  # ENUMS
@@ -6,23 +6,27 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module Edje
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'edje_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'edje'
20
24
  #
21
25
  # ENUMS
22
26
  # typedef enum _Edje_Message_Type {...} Edje_Message_Type;
23
27
  enum :edje_message_type, [ :edje_message_none, 0, :edje_message_signal, 1, :edje_message_string, 2, :edje_message_int, 3, :edje_message_float,
24
28
  4, :edje_message_string_set, 5, :edje_message_int_set, 6, :edje_message_float_set, 7, :edje_message_string_int, 8, :edje_message_string_float, 9,
25
- :edje_message_string_int_set, 1, :edje_message_string_float_set, 1 ]
29
+ :edje_message_string_int_set, 10, :edje_message_string_float_set, 11 ]
26
30
  # typedef enum _Edje_Aspect_Control {...} Edje_Aspect_Control;
27
31
  enum :edje_aspect_control, [ :edje_aspect_control_none, 0, :edje_aspect_control_neither, 1, :edje_aspect_control_horizontal, 2,
28
32
  :edje_aspect_control_vertical, 3, :edje_aspect_control_both, 4 ]
@@ -32,19 +36,19 @@ module Efl
32
36
  # typedef enum _Edje_Part_Type {...} Edje_Part_Type;
33
37
  enum :edje_part_type, [ :edje_part_type_none, 0, :edje_part_type_rectangle, 1, :edje_part_type_text, 2, :edje_part_type_image, 3,
34
38
  :edje_part_type_swallow, 4, :edje_part_type_textblock, 5, :edje_part_type_gradient, 6, :edje_part_type_group, 7, :edje_part_type_box, 8,
35
- :edje_part_type_table, 9, :edje_part_type_external, 1, :edje_part_type_proxy, 1, :edje_part_type_last, 1 ]
39
+ :edje_part_type_table, 9, :edje_part_type_external, 10, :edje_part_type_proxy, 11, :edje_part_type_last, 12 ]
36
40
  # typedef enum _Edje_Text_Effect {...} Edje_Text_Effect;
37
41
  enum :edje_text_effect, [ :edje_text_effect_none, 0, :edje_text_effect_plain, 1, :edje_text_effect_outline, 2, :edje_text_effect_soft_outline,
38
42
  3, :edje_text_effect_shadow, 4, :edje_text_effect_soft_shadow, 5, :edje_text_effect_outline_shadow, 6, :edje_text_effect_outline_soft_shadow, 7,
39
- :edje_text_effect_far_shadow, 8, :edje_text_effect_far_soft_shadow, 9, :edje_text_effect_glow, 1, :edje_text_effect_last, 1,
43
+ :edje_text_effect_far_shadow, 8, :edje_text_effect_far_soft_shadow, 9, :edje_text_effect_glow, 10, :edje_text_effect_last, 11,
40
44
  :edje_text_effect_shadow_direction_bottom_right, :edje_text_effect_shadow_direction_bottom, :edje_text_effect_shadow_direction_bottom_left,
41
45
  :edje_text_effect_shadow_direction_left, :edje_text_effect_shadow_direction_top_left, :edje_text_effect_shadow_direction_top,
42
46
  :edje_text_effect_shadow_direction_top_right, :edje_text_effect_shadow_direction_right ]
43
47
  # typedef enum _Edje_Action_Type {...} Edje_Action_Type;
44
48
  enum :edje_action_type, [ :edje_action_type_none, 0, :edje_action_type_state_set, 1, :edje_action_type_action_stop, 2,
45
49
  :edje_action_type_signal_emit, 3, :edje_action_type_drag_val_set, 4, :edje_action_type_drag_val_step, 5, :edje_action_type_drag_val_page, 6,
46
- :edje_action_type_script, 7, :edje_action_type_focus_set, 8, :edje_action_type_reserved00, 9, :edje_action_type_focus_object, 1,
47
- :edje_action_type_param_copy, 1, :edje_action_type_param_set, 1, :edje_action_type_last, 1 ]
50
+ :edje_action_type_script, 7, :edje_action_type_focus_set, 8, :edje_action_type_reserved00, 9, :edje_action_type_focus_object, 10,
51
+ :edje_action_type_param_copy, 11, :edje_action_type_param_set, 12, :edje_action_type_last, 13 ]
48
52
  # typedef enum _Edje_Tween_Mode {...} Edje_Tween_Mode;
49
53
  enum :edje_tween_mode, [ :edje_tween_mode_none, 0, :edje_tween_mode_linear, 1, :edje_tween_mode_sinusoidal, 2, :edje_tween_mode_accelerate, 3,
50
54
  :edje_tween_mode_decelerate, 4, :edje_tween_mode_last, 5 ]
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module Eet
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'eet_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'eet'
20
24
  #
21
25
  # ENUMS
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module Eina
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'eina_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'eina'
20
24
  #
21
25
  # ENUMS
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module EinaHash
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'eina_hash_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'eina'
20
24
  #
21
25
  # ENUMS
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module EinaList
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'eina_list_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'eina'
20
24
  #
21
25
  # ENUMS
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module Eina
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'eina_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'eina'
20
24
  #
21
25
  # ENUMS
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module Elm
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'elm_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'libelementary-ver-pre-svn-09.so.0'
20
24
  #
21
25
  # ENUMS
@@ -31,6 +35,8 @@ module Efl
31
35
  # typedef enum _Elm_Text_Format {...} Elm_Text_Format;
32
36
  enum :elm_text_format, [ :elm_text_format_plain_utf8, :elm_text_format_markup_utf8 ]
33
37
  typedef :pointer, :elm_text_format_p
38
+ # typedef enum _Elm_Wrap_Type {...} Elm_Wrap_Type;
39
+ enum :elm_wrap_type, [ :elm_wrap_none, 0, :elm_wrap_char, :elm_wrap_word, :elm_wrap_mixed, :elm_wrap_last ]
34
40
  # typedef enum _Elm_Win_Type {...} Elm_Win_Type;
35
41
  enum :elm_win_type, [ :elm_win_basic, :elm_win_dialog_basic, :elm_win_desktop, :elm_win_dock, :elm_win_toolbar, :elm_win_menu,
36
42
  :elm_win_utility, :elm_win_splash, :elm_win_dropdown_menu, :elm_win_popup_menu, :elm_win_tooltip, :elm_win_notification, :elm_win_combo, :elm_win_dnd,
@@ -84,18 +90,11 @@ module Efl
84
90
  :elm_photocam_zoom_mode_last ]
85
91
  # typedef enum _Elm_Map_Zoom_Mode {...} Elm_Map_Zoom_Mode;
86
92
  enum :elm_map_zoom_mode, [ :elm_map_zoom_mode_manual, :elm_map_zoom_mode_auto_fit, :elm_map_zoom_mode_auto_fill, :elm_map_zoom_mode_last ]
87
- # typedef enum _Elm_Map_Sources {...} Elm_Map_Sources;
88
- enum :elm_map_sources, [ :elm_map_source_mapnik, :elm_map_source_osmarender, :elm_map_source_cyclemap, :elm_map_source_maplint,
89
- :elm_map_source_custom_1, :elm_map_source_custom_2, :elm_map_source_custom_3, :elm_map_source_custom_4, :elm_map_source_custom_5,
90
- :elm_map_source_custom_6, :elm_map_source_module, :elm_map_source_last ]
91
93
  # typedef enum _Elm_Map_Route_Sources {...} Elm_Map_Route_Sources;
92
- enum :elm_map_route_sources, [ :elm_map_route_source_yours, :elm_map_route_source_monav, :elm_map_route_source_ors,
93
- :elm_map_route_source_custom_1, :elm_map_route_source_custom_2, :elm_map_route_source_custom_3, :elm_map_route_source_custom_4,
94
- :elm_map_route_source_custom_5, :elm_map_route_source_custom_6, :elm_map_route_source_module, :elm_map_route_source_last ]
94
+ enum :elm_map_route_sources, [ :elm_map_route_source_yours, :elm_map_route_source_monav, :elm_map_route_source_ors, :elm_map_route_source_last
95
+ ]
95
96
  # typedef enum _Elm_Map_Name_Sources {...} Elm_Map_Name_Sources;
96
- enum :elm_map_name_sources, [ :elm_map_name_source_nominatim, :elm_map_name_source_custom_1, :elm_map_name_source_custom_2,
97
- :elm_map_name_source_custom_3, :elm_map_name_source_custom_4, :elm_map_name_source_custom_5, :elm_map_name_source_custom_6,
98
- :elm_map_name_source_module, :elm_map_name_source_last ]
97
+ enum :elm_map_name_sources, [ :elm_map_name_source_nominatim, :elm_map_name_source_last ]
99
98
  # typedef enum _Elm_Map_Route_Type {...} Elm_Map_Route_Type;
100
99
  enum :elm_map_route_type, [ :elm_map_route_type_motocar, :elm_map_route_type_bicycle, :elm_map_route_type_foot, :elm_map_route_type_last ]
101
100
  # typedef enum _Elm_Map_Route_Method {...} Elm_Map_Route_Method;
@@ -299,12 +298,24 @@ module Efl
299
298
  callback :elmmapmarkericongetfunc, [ :evas_object_p, :elm_map_marker_p, :void_p ], :evas_object_p
300
299
  # typedef Evas_Object *(*ElmMapGroupIconGetFunc) (Evas_Object *obj, void *data);
301
300
  callback :elmmapgroupicongetfunc, [ :evas_object_p, :void_p ], :evas_object_p
302
- # typedef char *(*ElmMapSourceURLFunc) (Evas_Object *obj, int x, int y, int zoom);
303
- callback :elmmapsourceurlfunc, [ :evas_object_p, :int, :int, :int ], :string
304
- # typedef char *(*ElmMapRouteSourceURLFunc) (Evas_Object *obj, char *type_name, int method, double flon, double flat, double tlon, double tlat);
305
- callback :elmmaproutesourceurlfunc, [ :evas_object_p, :string, :int, :double, :double, :double, :double ], :string
306
- # typedef char *(*ElmMapNameSourceURLFunc) (Evas_Object *obj, int method, char *name, double lon, double lat);
307
- callback :elmmapnamesourceurlfunc, [ :evas_object_p, :int, :string, :double, :double ], :string
301
+ # typedef char *(*ElmMapModuleSourceFunc) (void);
302
+ callback :elmmapmodulesourcefunc, [ ], :string
303
+ # typedef int (*ElmMapModuleZoomMinFunc) (void);
304
+ callback :elmmapmodulezoomminfunc, [ ], :int
305
+ # typedef int (*ElmMapModuleZoomMaxFunc) (void);
306
+ callback :elmmapmodulezoommaxfunc, [ ], :int
307
+ # typedef char *(*ElmMapModuleUrlFunc) (Evas_Object *obj, int x, int y, int zoom);
308
+ callback :elmmapmoduleurlfunc, [ :evas_object_p, :int, :int, :int ], :string
309
+ # typedef int (*ElmMapModuleRouteSourceFunc) (void);
310
+ callback :elmmapmoduleroutesourcefunc, [ ], :int
311
+ # typedef char *(*ElmMapModuleRouteUrlFunc) (Evas_Object *obj, char *type_name, int method, double flon, double flat, double tlon, double tlat);
312
+ callback :elmmapmodulerouteurlfunc, [ :evas_object_p, :string, :int, :double, :double, :double, :double ], :string
313
+ # typedef char *(*ElmMapModuleNameUrlFunc) (Evas_Object *obj, int method, char *name, double lon, double lat);
314
+ callback :elmmapmodulenameurlfunc, [ :evas_object_p, :int, :string, :double, :double ], :string
315
+ # typedef Eina_Bool (*ElmMapModuleGeoIntoCoordFunc) (const Evas_Object *obj, int zoom, double lon, double lat, int size, int *x, int *y);
316
+ callback :elmmapmodulegeointocoordfunc, [ :evas_object_p, :int, :double, :double, :int, :int_p, :int_p ], :eina_bool
317
+ # typedef Eina_Bool (*ElmMapModuleCoordIntoGeoFunc) (const Evas_Object *obj, int zoom, int x, int y, int size, double *lon, double *lat);
318
+ callback :elmmapmodulecoordintogeofunc, [ :evas_object_p, :int, :int, :int, :int, :double_p, :double_p ], :eina_bool
308
319
  # typedef void (*Elm_Animator_Operation_Cb) (void *data, Elm_Animator *animator, double frame);
309
320
  callback :elm_animator_operation_cb, [ :void_p, :elm_animator_p, :double ], :void
310
321
  # typedef void (*Elm_Animator_Completion_Cb) (void *data);
@@ -912,10 +923,10 @@ module Efl
912
923
  [ :elm_box_horizontal_set, [ :evas_object_p, :eina_bool ], :void ],
913
924
  # EAPI Eina_Bool elm_box_horizontal_get(const Evas_Object *obj);
914
925
  [ :elm_box_horizontal_get, [ :evas_object_p ], :eina_bool ],
915
- # EAPI void elm_box_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
916
- [ :elm_box_homogenous_set, [ :evas_object_p, :eina_bool ], :void ],
917
- # EAPI Eina_Bool elm_box_homogenous_get(const Evas_Object *obj);
918
- [ :elm_box_homogenous_get, [ :evas_object_p ], :eina_bool ],
926
+ # EAPI void elm_box_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
927
+ [ :elm_box_homogeneous_set, [ :evas_object_p, :eina_bool ], :void ],
928
+ # EAPI Eina_Bool elm_box_homogeneous_get(const Evas_Object *obj);
929
+ [ :elm_box_homogeneous_get, [ :evas_object_p ], :eina_bool ],
919
930
  # EAPI void elm_box_pack_start(Evas_Object *obj, Evas_Object *subobj);
920
931
  [ :elm_box_pack_start, [ :evas_object_p, :evas_object_p ], :void ],
921
932
  # EAPI void elm_box_pack_end(Evas_Object *obj, Evas_Object *subobj);
@@ -1098,10 +1109,10 @@ module Efl
1098
1109
  [ :elm_label_label_set, [ :evas_object_p, :string ], :void ],
1099
1110
  # EAPI const char *elm_label_label_get(const Evas_Object *obj);
1100
1111
  [ :elm_label_label_get, [ :evas_object_p ], :string ],
1101
- # EAPI void elm_label_line_wrap_set(Evas_Object *obj, Eina_Bool wrap);
1102
- [ :elm_label_line_wrap_set, [ :evas_object_p, :eina_bool ], :void ],
1103
- # EAPI Eina_Bool elm_label_line_wrap_get(const Evas_Object *obj);
1104
- [ :elm_label_line_wrap_get, [ :evas_object_p ], :eina_bool ],
1112
+ # EAPI void elm_label_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type wrap);
1113
+ [ :elm_label_line_wrap_set, [ :evas_object_p, :elm_wrap_type ], :void ],
1114
+ # EAPI Elm_Wrap_Type elm_label_line_wrap_get(const Evas_Object *obj);
1115
+ [ :elm_label_line_wrap_get, [ :evas_object_p ], :elm_wrap_type ],
1105
1116
  # EAPI void elm_label_wrap_width_set(Evas_Object *obj, Evas_Coord w);
1106
1117
  [ :elm_label_wrap_width_set, [ :evas_object_p, :int ], :void ],
1107
1118
  # EAPI Evas_Coord elm_label_wrap_width_get(const Evas_Object *obj);
@@ -1160,10 +1171,10 @@ module Efl
1160
1171
  [ :elm_frame_content_unset, [ :evas_object_p ], :evas_object_p ],
1161
1172
  # EAPI Evas_Object *elm_table_add(Evas_Object *parent);
1162
1173
  [ :elm_table_add, [ :evas_object_p ], :evas_object_p ],
1163
- # EAPI void elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
1164
- [ :elm_table_homogenous_set, [ :evas_object_p, :eina_bool ], :void ],
1165
- # EAPI Eina_Bool elm_table_homogenous_get(const Evas_Object *obj);
1166
- [ :elm_table_homogenous_get, [ :evas_object_p ], :eina_bool ],
1174
+ # EAPI void elm_table_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
1175
+ [ :elm_table_homogeneous_set, [ :evas_object_p, :eina_bool ], :void ],
1176
+ # EAPI Eina_Bool elm_table_homogeneous_get(const Evas_Object *obj);
1177
+ [ :elm_table_homogeneous_get, [ :evas_object_p ], :eina_bool ],
1167
1178
  # EAPI void elm_table_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical);
1168
1179
  [ :elm_table_padding_set, [ :evas_object_p, :int, :int ], :void ],
1169
1180
  # EAPI void elm_table_padding_get(const Evas_Object *obj, Evas_Coord *horizontal, Evas_Coord *vertical);
@@ -1318,7 +1329,7 @@ module Efl
1318
1329
  [ :elm_layout_theme_set, [ :evas_object_p, :string, :string, :string ], :eina_bool ],
1319
1330
  # EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content);
1320
1331
  [ :elm_layout_content_set, [ :evas_object_p, :string, :evas_object_p ], :void ],
1321
- # EAPI const Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow);
1332
+ # EAPI Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow);
1322
1333
  [ :elm_layout_content_get, [ :evas_object_p, :string ], :evas_object_p ],
1323
1334
  # EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow);
1324
1335
  [ :elm_layout_content_unset, [ :evas_object_p, :string ], :evas_object_p ],
@@ -1426,10 +1437,8 @@ module Efl
1426
1437
  [ :elm_entry_selection_get, [ :evas_object_p ], :string ],
1427
1438
  # EAPI void elm_entry_entry_insert(Evas_Object *obj, const char *entry);
1428
1439
  [ :elm_entry_entry_insert, [ :evas_object_p, :string ], :void ],
1429
- # EAPI void elm_entry_line_wrap_set(Evas_Object *obj, Eina_Bool wrap);
1430
- [ :elm_entry_line_wrap_set, [ :evas_object_p, :eina_bool ], :void ],
1431
- # EAPI void elm_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap);
1432
- [ :elm_entry_line_char_wrap_set, [ :evas_object_p, :eina_bool ], :void ],
1440
+ # EAPI void elm_entry_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type wrap);
1441
+ [ :elm_entry_line_wrap_set, [ :evas_object_p, :elm_wrap_type ], :void ],
1433
1442
  # EAPI void elm_entry_editable_set(Evas_Object *obj, Eina_Bool editable);
1434
1443
  [ :elm_entry_editable_set, [ :evas_object_p, :eina_bool ], :void ],
1435
1444
  # EAPI Eina_Bool elm_entry_editable_get(const Evas_Object *obj);
@@ -1740,10 +1749,10 @@ module Efl
1740
1749
  [ :elm_toolbar_mode_shrink_set, [ :evas_object_p, :elm_toolbar_shrink_mode ], :void ],
1741
1750
  # EAPI Elm_Toolbar_Shrink_Mode elm_toolbar_mode_shrink_get(const Evas_Object *obj);
1742
1751
  [ :elm_toolbar_mode_shrink_get, [ :evas_object_p ], :elm_toolbar_shrink_mode ],
1743
- # EAPI void elm_toolbar_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
1744
- [ :elm_toolbar_homogenous_set, [ :evas_object_p, :eina_bool ], :void ],
1745
- # EAPI Eina_Bool elm_toolbar_homogenous_get(const Evas_Object *obj);
1746
- [ :elm_toolbar_homogenous_get, [ :evas_object_p ], :eina_bool ],
1752
+ # EAPI void elm_toolbar_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
1753
+ [ :elm_toolbar_homogeneous_set, [ :evas_object_p, :eina_bool ], :void ],
1754
+ # EAPI Eina_Bool elm_toolbar_homogeneous_get(const Evas_Object *obj);
1755
+ [ :elm_toolbar_homogeneous_get, [ :evas_object_p ], :eina_bool ],
1747
1756
  # EAPI void elm_toolbar_menu_parent_set(Evas_Object *obj, Evas_Object *parent);
1748
1757
  [ :elm_toolbar_menu_parent_set, [ :evas_object_p, :evas_object_p ], :void ],
1749
1758
  # EAPI Evas_Object *elm_toolbar_menu_parent_get(const Evas_Object *obj);
@@ -2585,26 +2594,23 @@ module Efl
2585
2594
  [ :elm_map_marker_class_get_cb_set, [ :elm_map_marker_class_p, :elmmapmarkergetfunc ], :void ],
2586
2595
  # EAPI void elm_map_marker_class_del_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerDelFunc del);
2587
2596
  [ :elm_map_marker_class_del_cb_set, [ :elm_map_marker_class_p, :elmmapmarkerdelfunc ], :void ],
2588
- # EAPI void elm_map_source_set(Evas_Object *obj, Elm_Map_Sources source);
2589
- [ :elm_map_source_set, [ :evas_object_p, :elm_map_sources ], :void ],
2597
+ # EAPI const char **elm_map_source_names_get(const Evas_Object *obj);
2598
+ [ :elm_map_source_names_get, [ :evas_object_p ], :string_array ],
2599
+ # EAPI void elm_map_source_name_set(Evas_Object *obj, const char *source_name);
2600
+ [ :elm_map_source_name_set, [ :evas_object_p, :string ], :void ],
2601
+ # EAPI const char *elm_map_source_name_get(const Evas_Object *obj);
2602
+ [ :elm_map_source_name_get, [ :evas_object_p ], :string ],
2590
2603
  # EAPI void elm_map_route_source_set(Evas_Object *obj, Elm_Map_Route_Sources source);
2591
2604
  [ :elm_map_route_source_set, [ :evas_object_p, :elm_map_route_sources ], :void ],
2592
- # EAPI Elm_Map_Sources elm_map_source_get(const Evas_Object *obj);
2593
- [ :elm_map_source_get, [ :evas_object_p ], :elm_map_sources ],
2594
2605
  # EAPI Elm_Map_Route_Sources elm_map_route_source_get(const Evas_Object *obj);
2595
2606
  [ :elm_map_route_source_get, [ :evas_object_p ], :elm_map_route_sources ],
2596
- # EAPI void elm_map_source_custom_api_set(Elm_Map_Sources source, const char *label, int zoom_min, int zoom_max, ElmMapSourceURLFunc url_cb, ElmMapRouteSourceURLFunc route_url_cb, ElmMapNameSourceURLFunc name_url_cb);
2597
- [ :elm_map_source_custom_api_set, [ :elm_map_sources, :string, :int, :int, :elmmapsourceurlfunc, :elmmaproutesourceurlfunc,
2598
- :elmmapnamesourceurlfunc ], :void ],
2599
- # EAPI int elm_map_source_zoom_min_get(Elm_Map_Sources source);
2600
- [ :elm_map_source_zoom_min_get, [ :elm_map_sources ], :int ],
2601
- # EAPI int elm_map_source_zoom_max_get(Elm_Map_Sources source);
2602
- [ :elm_map_source_zoom_max_get, [ :elm_map_sources ], :int ],
2603
- # EAPI const char *elm_map_source_name_get(Elm_Map_Sources source);
2604
- [ :elm_map_source_name_get, [ :elm_map_sources ], :string ],
2607
+ # EAPI int elm_map_source_zoom_min_get(const Evas_Object *obj);
2608
+ [ :elm_map_source_zoom_min_get, [ :evas_object_p ], :int ],
2609
+ # EAPI int elm_map_source_zoom_max_get(const Evas_Object *obj);
2610
+ [ :elm_map_source_zoom_max_get, [ :evas_object_p ], :int ],
2605
2611
  # EAPI void elm_map_user_agent_set(Evas_Object *obj, const char *user_agent);
2606
2612
  [ :elm_map_user_agent_set, [ :evas_object_p, :string ], :void ],
2607
- # EAPI const char *elm_map_user_agent_get(Evas_Object *obj);
2613
+ # EAPI const char *elm_map_user_agent_get(const Evas_Object *obj);
2608
2614
  [ :elm_map_user_agent_get, [ :evas_object_p ], :string ],
2609
2615
  # EAPI Elm_Map_Route *elm_map_route_add(Evas_Object *obj, Elm_Map_Route_Type type, Elm_Map_Route_Method method, double flon, double flat, double tlon, double tlat);
2610
2616
  [ :elm_map_route_add, [ :evas_object_p, :elm_map_route_type, :elm_map_route_method, :double, :double, :double, :double ], :elm_map_route_p ],
@@ -2612,17 +2618,17 @@ module Efl
2612
2618
  [ :elm_map_route_remove, [ :elm_map_route_p ], :void ],
2613
2619
  # EAPI void elm_map_route_color_set(Elm_Map_Route *route, int r, int g , int b, int a);
2614
2620
  [ :elm_map_route_color_set, [ :elm_map_route_p, :int, :int, :int, :int ], :void ],
2615
- # EAPI void elm_map_route_color_get(Elm_Map_Route *route, int *r, int *g , int *b, int *a);
2621
+ # EAPI void elm_map_route_color_get(const Elm_Map_Route *route, int *r, int *g , int *b, int *a);
2616
2622
  [ :elm_map_route_color_get, [ :elm_map_route_p, :int_p, :int_p, :int_p, :int_p ], :void ],
2617
- # EAPI double elm_map_route_distance_get(Elm_Map_Route *route);
2623
+ # EAPI double elm_map_route_distance_get(const Elm_Map_Route *route);
2618
2624
  [ :elm_map_route_distance_get, [ :elm_map_route_p ], :double ],
2619
- # EAPI const char *elm_map_route_node_get(Elm_Map_Route *route);
2625
+ # EAPI const char *elm_map_route_node_get(const Elm_Map_Route *route);
2620
2626
  [ :elm_map_route_node_get, [ :elm_map_route_p ], :string ],
2621
- # EAPI const char *elm_map_route_waypoint_get(Elm_Map_Route *route);
2627
+ # EAPI const char *elm_map_route_waypoint_get(const Elm_Map_Route *route);
2622
2628
  [ :elm_map_route_waypoint_get, [ :elm_map_route_p ], :string ],
2623
- # EAPI const char *elm_map_name_address_get(Elm_Map_Name *name);
2629
+ # EAPI const char *elm_map_name_address_get(const Elm_Map_Name *name);
2624
2630
  [ :elm_map_name_address_get, [ :elm_map_name_p ], :string ],
2625
- # EAPI void elm_map_name_region_get(Elm_Map_Name *name, double *lon, double *lat);
2631
+ # EAPI void elm_map_name_region_get(const Elm_Map_Name *name, double *lon, double *lat);
2626
2632
  [ :elm_map_name_region_get, [ :elm_map_name_p, :double_p, :double_p ], :void ],
2627
2633
  # EAPI void elm_map_name_remove(Elm_Map_Name *name);
2628
2634
  [ :elm_map_name_remove, [ :elm_map_name_p ], :void ],
@@ -2714,10 +2720,8 @@ module Efl
2714
2720
  [ :elm_scrolled_entry_selection_get, [ :evas_object_p ], :string ],
2715
2721
  # EAPI void elm_scrolled_entry_entry_insert(Evas_Object *obj, const char *entry);
2716
2722
  [ :elm_scrolled_entry_entry_insert, [ :evas_object_p, :string ], :void ],
2717
- # EAPI void elm_scrolled_entry_line_wrap_set(Evas_Object *obj, Eina_Bool wrap);
2718
- [ :elm_scrolled_entry_line_wrap_set, [ :evas_object_p, :eina_bool ], :void ],
2719
- # EAPI void elm_scrolled_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap);
2720
- [ :elm_scrolled_entry_line_char_wrap_set, [ :evas_object_p, :eina_bool ], :void ],
2723
+ # EAPI void elm_scrolled_entry_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type wrap);
2724
+ [ :elm_scrolled_entry_line_wrap_set, [ :evas_object_p, :elm_wrap_type ], :void ],
2721
2725
  # EAPI void elm_scrolled_entry_editable_set(Evas_Object *obj, Eina_Bool editable);
2722
2726
  [ :elm_scrolled_entry_editable_set, [ :evas_object_p, :eina_bool ], :void ],
2723
2727
  # EAPI Eina_Bool elm_scrolled_entry_editable_get(const Evas_Object *obj);
@@ -6,16 +6,20 @@ require 'efl/ffi'
6
6
  module Efl
7
7
  #
8
8
  module Evas
9
- #
10
- extend Efl::FFIHelper
11
9
  #
12
10
  def self.method_missing m, *args, &block
13
11
  sym = 'evas_'+m.to_s
14
- raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym
15
- self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end"
16
- self.send sym, *args, &block
12
+ raise NameError.new "#{self.name}.#{sym} (#{m})" if not Efl::Native.respond_to? sym
13
+ self.module_eval "def self.#{m} *args, █ r=Efl::Native.#{sym}(*args); yield r if block_given?; r; end"
14
+ self.send m, *args, &block
17
15
  end
18
16
  #
17
+ end
18
+ #
19
+ module Native
20
+ #
21
+ extend Efl::FFIHelper
22
+ #
19
23
  ffi_lib 'evas'
20
24
  #
21
25
  # ENUMS
@@ -61,8 +65,8 @@ module Efl
61
65
  enum :evas_native_surface_type, [ :evas_native_surface_none, :evas_native_surface_x11, :evas_native_surface_opengl ]
62
66
  # typedef enum _Evas_Render_Op {...} Evas_Render_Op;
63
67
  enum :evas_render_op, [ :evas_render_blend, 0, :evas_render_blend_rel, 1, :evas_render_copy, 2, :evas_render_copy_rel, 3, :evas_render_add, 4,
64
- :evas_render_add_rel, 5, :evas_render_sub, 6, :evas_render_sub_rel, 7, :evas_render_tint, 8, :evas_render_tint_rel, 9, :evas_render_mask, 1,
65
- :evas_render_mul, 1 ]
68
+ :evas_render_add_rel, 5, :evas_render_sub, 6, :evas_render_sub_rel, 7, :evas_render_tint, 8, :evas_render_tint_rel, 9, :evas_render_mask, 10,
69
+ :evas_render_mul, 11 ]
66
70
  # typedef enum _Evas_Border_Fill_Mode {...} Evas_Border_Fill_Mode;
67
71
  enum :evas_border_fill_mode, [ :evas_border_fill_none, 0, :evas_border_fill_default, 1, :evas_border_fill_solid, 2 ]
68
72
  # typedef enum _Evas_Image_Scale_Hint {...} Evas_Image_Scale_Hint;
data/lib/efl/native.rb ADDED
@@ -0,0 +1,16 @@
1
+ #! /usr/bin/env ruby
2
+ # -*- coding: UTF-8 -*-
3
+ #
4
+ require 'efl/native/eet'
5
+ require 'efl/native/eina'
6
+ require 'efl/native/eina_hash'
7
+ require 'efl/native/eina_list'
8
+ require 'efl/native/evas'
9
+ require 'efl/native/ecore'
10
+ require 'efl/native/ecore_evas'
11
+ require 'efl/native/ecore_getopt'
12
+ require 'efl/native/ecore_input'
13
+ require 'efl/native/edje'
14
+ require 'efl/native/elementary'
15
+ #
16
+ # EOF
data/lib/efl.rb CHANGED
@@ -4,7 +4,7 @@
4
4
  #
5
5
  module Efl
6
6
  #
7
- VERSION = '0.0.3'
7
+ VERSION = '0.0.4'
8
8
  #
9
9
  autoload :EcoreEvas, './lib/efl/ecore_evas.rb'
10
10
  autoload :EcoreGetopt, './lib/efl/ecore_getopt.rb'