ffi-efl 0.0.8 → 0.0.9

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.
@@ -261,6 +261,10 @@ module Efl
261
261
  Native.evas_object_size_hint_weight_set @ptr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
262
262
  end
263
263
  alias :size_hint_weight_expand :size_hint_weight_set_expand
264
+ def size_hint_weight_set_expand_fill
265
+ Native.evas_object_size_hint_weight_set @ptr, EVAS_HINT_EXPAND, EVAS_HINT_FILL
266
+ end
267
+ alias :size_hint_weight_expand_fill :size_hint_weight_set_expand_fill
264
268
  def size_hint_weight_get
265
269
  @rd0 ||= FFI::MemoryPointer.new :double
266
270
  @rd1 ||= FFI::MemoryPointer.new :double
@@ -6,21 +6,10 @@ require 'ffi'
6
6
  module Efl
7
7
  #
8
8
  module Native
9
- class VersionStruct < FFI::Struct
10
- layout :major, :int,
11
- :minor, :int,
12
- :micro, :int,
13
- :revision, :int
14
-
15
- def full
16
- [:major,:minor,:micro,:revision].collect { |e| self[e].to_s }.join '.'
17
- end
18
- end
19
- end
20
- #
21
- module FFIHelper
22
9
  #
23
- def attach_fcts fcts
10
+ extend FFI::Library
11
+ #
12
+ def self.attach_fcts fcts
24
13
  fcts.each do |func|
25
14
  begin
26
15
  attach_function(*func)
@@ -30,55 +19,67 @@ module Efl
30
19
  end
31
20
  end
32
21
  #
33
- def ffi_typedefs
34
- @ffi_typedefs
22
+ class << self
23
+ alias :ffi_lib_orig :ffi_lib
24
+ def ffi_lib *names
25
+ @all_ffi_libs||=[]
26
+ @all_ffi_libs += ffi_lib_orig(names)
27
+ @all_ffi_libs.uniq!
28
+ end
29
+ def find_variable name
30
+ @all_ffi_libs.each do |lib|
31
+ address = lib.find_variable name
32
+ return address if not address.nil?
33
+ end
34
+ return nil
35
+ end
35
36
  end
36
37
  #
37
- def steal_ffitype mod, sym
38
- typedef mod.ffi_typedefs[sym], sym
39
- end
38
+ typedef :pointer, :char_p
39
+ typedef :pointer, :short_p
40
+ typedef :pointer, :int_p
41
+ typedef :pointer, :long_p
42
+ typedef :pointer, :float_p
43
+ typedef :pointer, :double_p
44
+ typedef :pointer, :uchar_p
45
+ typedef :pointer, :ushort_p
46
+ typedef :pointer, :uint_p
47
+ typedef :pointer, :ulong_p
48
+ typedef :pointer, :ufloat_p
49
+ typedef :pointer, :udouble_p
50
+ typedef :pointer, :void_p
51
+ typedef :pointer, :string_array
52
+ typedef :pointer, :string_array_p
53
+ typedef :uint_p, :uintptr_t
40
54
  #
41
- def self.extended mod
42
- #
43
- mod.extend FFI::Library
44
- #
45
- mod.typedef :pointer, :char_p
46
- mod.typedef :pointer, :short_p
47
- mod.typedef :pointer, :int_p
48
- mod.typedef :pointer, :long_p
49
- mod.typedef :pointer, :float_p
50
- mod.typedef :pointer, :double_p
51
- mod.typedef :pointer, :uchar_p
52
- mod.typedef :pointer, :ushort_p
53
- mod.typedef :pointer, :uint_p
54
- mod.typedef :pointer, :ulong_p
55
- mod.typedef :pointer, :ufloat_p
56
- mod.typedef :pointer, :udouble_p
57
- mod.typedef :pointer, :void_p
58
- mod.typedef :pointer, :string_array
59
- mod.typedef :pointer, :string_array_p
60
- mod.typedef :uint_p, :uintptr_t
61
- #
62
- mod.typedef :bool, :eina_bool
63
- mod.typedef :pointer, :eina_bool_p
64
- mod.typedef :pointer, :eina_list_p
65
- mod.typedef :pointer, :eina_hash_p
66
- mod.typedef :pointer, :eina_iterator_p
67
- mod.typedef :pointer, :eina_accessor_p
68
- mod.typedef :pointer, :evas_p
69
- mod.typedef :pointer, :evas_object_p
70
- mod.typedef :pointer, :evas_object_pp
71
- mod.typedef :pointer, :evas_gl_api_p
72
- mod.typedef :pointer, :ecore_getopt_p
73
- mod.typedef :pointer, :ecore_getopt_desc_p
74
- mod.typedef :pointer, :ecore_getopt_value_p
75
- #
76
- mod.callback :eina_compare_cb, [ :void_p, :void_p ], :int
77
- mod.callback :eina_each_cb, [ :void_p, :void_p, :void_p ], :eina_bool
78
- mod.callback :eina_free_cb, [ :void_p ], :void
79
- #
80
- end
55
+ typedef :bool, :eina_bool
56
+ typedef :pointer, :eina_bool_p
57
+ typedef :pointer, :eina_list_p
58
+ typedef :pointer, :eina_hash_p
59
+ typedef :pointer, :eina_iterator_p
60
+ typedef :pointer, :eina_accessor_p
61
+ typedef :pointer, :evas_p
62
+ typedef :pointer, :evas_object_p
63
+ typedef :pointer, :evas_object_pp
64
+ typedef :pointer, :evas_gl_api_p
65
+ typedef :pointer, :ecore_getopt_p
66
+ typedef :pointer, :ecore_getopt_desc_p
67
+ typedef :pointer, :ecore_getopt_value_p
68
+ #
69
+ callback :eina_compare_cb, [ :void_p, :void_p ], :int
70
+ callback :eina_each_cb, [ :void_p, :void_p, :void_p ], :eina_bool
71
+ callback :eina_free_cb, [ :void_p ], :void
81
72
  #
73
+ class VersionStruct < FFI::Struct
74
+ layout :major, :int,
75
+ :minor, :int,
76
+ :micro, :int,
77
+ :revision, :int
78
+
79
+ def full
80
+ [:major,:minor,:micro,:revision].collect { |e| self[e].to_s }.join '.'
81
+ end
82
+ end
82
83
  end
83
84
  #
84
85
  module ModuleHelper
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'ecore'
25
23
  #
@@ -186,10 +184,10 @@ module Efl
186
184
  [ :ecore_main_loop_thread_safe_call_async, [ :ecore_cb, :void_p ], :void ],
187
185
  # EAPI void *ecore_main_loop_thread_safe_call_sync(Ecore_Data_Cb callback, void *data);
188
186
  [ :ecore_main_loop_thread_safe_call_sync, [ :ecore_data_cb, :void_p ], :void_p ],
189
- # EAPI Eina_Bool ecore_thread_main_loop_begin(void);
190
- [ :ecore_thread_main_loop_begin, [ ], :eina_bool ],
191
- # EAPI void ecore_thread_main_loop_end(void);
192
- [ :ecore_thread_main_loop_end, [ ], :void ],
187
+ # EAPI int ecore_thread_main_loop_begin(void);
188
+ [ :ecore_thread_main_loop_begin, [ ], :int ],
189
+ # EAPI int ecore_thread_main_loop_end(void);
190
+ [ :ecore_thread_main_loop_end, [ ], :int ],
193
191
  # EAPI Ecore_Event_Handler *ecore_event_handler_add(int type, Ecore_Event_Handler_Cb func, const void *data);
194
192
  [ :ecore_event_handler_add, [ :int, :ecore_event_handler_cb, :void_p ], :ecore_event_handler_p ],
195
193
  # EAPI void *ecore_event_handler_del(Ecore_Event_Handler *event_handler);
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'ecore_evas'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'ecore'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'ecore_input'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'edje'
25
23
  #
@@ -71,6 +69,9 @@ module Efl
71
69
  enum :edje_external_param_flags, [ :edje_external_param_flags_none, 0, :edje_external_param_flags_get, :edje_external_param_flags_set,
72
70
  :edje_external_param_flags_state, :edje_external_param_flags_constructor, :edje_external_param_flags_regular, :edje_external_param_flags_set,
73
71
  :edje_external_param_flags_state ]
72
+ # typedef enum {...} Edje_Input_Panel_Layout;
73
+ enum :edje_input_panel_layout, [ :edje_input_panel_layout_normal, :edje_input_panel_layout_number, :edje_input_panel_layout_email, :edje_input_panel_layout_url,
74
+ :edje_input_panel_layout_phonenumber, :edje_input_panel_layout_ip, :edje_input_panel_layout_month, :edje_input_panel_layout_numberonly, :edje_input_panel_layout_invalid ]
74
75
  #
75
76
  # TYPEDEFS
76
77
  # typedef struct _Edje_Version Edje_Version;
@@ -337,6 +338,10 @@ module Efl
337
338
  [ :edje_object_part_text_cursor_pos_set, [ :evas_object_p, :string, :edje_cursor, :int ], :void ],
338
339
  # EAPI int edje_object_part_text_cursor_pos_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);
339
340
  [ :edje_object_part_text_cursor_pos_get, [ :evas_object_p, :string, :edje_cursor ], :int ],
341
+ # EAPI void edje_object_part_text_input_panel_layout_set (const Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout);
342
+ [ :edje_object_part_text_input_panel_layout_set, [ :evas_object_p, :string, :edje_input_panel_layout ], :void ],
343
+ # EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const Evas_Object *obj, const char *part);
344
+ [ :edje_object_part_text_input_panel_layout_get, [ :evas_object_p, :string ], :edje_input_panel_layout ],
340
345
  # EAPI void edje_object_text_insert_filter_callback_add (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
341
346
  [ :edje_object_text_insert_filter_callback_add, [ :evas_object_p, :string, :edje_text_filter_cb, :void_p ], :void ],
342
347
  # EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func);
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'eet'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'eina'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'eina'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'eina'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'eina'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'eina'
25
23
  #
@@ -19,8 +19,6 @@ module Efl
19
19
  end
20
20
  #
21
21
  module Native
22
- #
23
- extend Efl::FFIHelper
24
22
  #
25
23
  ffi_lib 'libelementary-ver-pre-svn-09.so.0'
26
24
  #
@@ -39,6 +37,9 @@ module Efl
39
37
  typedef :pointer, :elm_text_format_p
40
38
  # typedef enum _Elm_Wrap_Type {...} Elm_Wrap_Type;
41
39
  enum :elm_wrap_type, [ :elm_wrap_none, 0, :elm_wrap_char, :elm_wrap_word, :elm_wrap_mixed, :elm_wrap_last ]
40
+ # typedef enum {...} Elm_Input_Panel_Layout;
41
+ enum :elm_input_panel_layout, [ :elm_input_panel_layout_normal, :elm_input_panel_layout_number, :elm_input_panel_layout_email, :elm_input_panel_layout_url,
42
+ :elm_input_panel_layout_phonenumber, :elm_input_panel_layout_ip, :elm_input_panel_layout_month, :elm_input_panel_layout_numberonly, :elm_input_panel_layout_invalid ]
42
43
  # typedef enum _Elm_Win_Type {...} Elm_Win_Type;
43
44
  enum :elm_win_type, [ :elm_win_basic, :elm_win_dialog_basic, :elm_win_desktop, :elm_win_dock, :m, :elm_win_toolbar, :elm_win_menu, :elm_win_utility,
44
45
  :elm_win_splash, :elm_win_dropdown_menu, :elm_win_popup_menu, :elm_win_tooltip, :t, :elm_win_notification, :elm_win_combo, :elm_win_dnd, :elm_win_inlined_image, :t, :e,
@@ -87,7 +88,7 @@ module Efl
87
88
  # typedef enum _Elm_List_Mode {...} Elm_List_Mode;
88
89
  enum :elm_list_mode, [ :elm_list_compress, 0, :elm_list_scroll, :elm_list_limit, :elm_list_expand, :elm_list_last ]
89
90
  # typedef enum _Elm_Actionslider_Pos {...} Elm_Actionslider_Pos;
90
- enum :elm_actionslider_pos, [ :elm_actionslider_none, 0, :elm_actionslider_left, 1, :elm_actionslider_center, 1, :elm_actionslider_right, 1, :elm_actionslider_all
91
+ enum :elm_actionslider_pos, [ :elm_actionslider_none, 0, :elm_actionslider_left, 1, :elm_actionslider_center, 2, :elm_actionslider_right, 4, :elm_actionslider_all, 7
91
92
  ]
92
93
  # typedef enum _Elm_Genlist_Item_Flags {...} Elm_Genlist_Item_Flags;
93
94
  enum :elm_genlist_item_flags, [ :elm_genlist_item_none, 0, :elm_genlist_item_subitems, :elm_genlist_item_group ]
@@ -120,7 +121,8 @@ module Efl
120
121
  # typedef enum _Elm_Calendar_Mark_Repeat {...} Elm_Calendar_Mark_Repeat;
121
122
  enum :elm_calendar_mark_repeat, [ :elm_calendar_unique, :elm_calendar_daily, :elm_calendar_weekly, :elm_calendar_monthly, :elm_calendar_annually ]
122
123
  # typedef enum _Elm_Ctxpopup_Direction {...} Elm_Ctxpopup_Direction;
123
- enum :elm_ctxpopup_direction, [ :elm_ctxpopup_direction_down, :elm_ctxpopup_direction_right, :elm_ctxpopup_direction_left, :elm_ctxpopup_direction_up ]
124
+ enum :elm_ctxpopup_direction, [ :elm_ctxpopup_direction_down, :elm_ctxpopup_direction_right, :elm_ctxpopup_direction_left, :elm_ctxpopup_direction_up,
125
+ :elm_ctxpopup_direction_dont_know ]
124
126
  typedef :pointer, :elm_ctxpopup_direction_p
125
127
  # typedef enum {...} Elm_Transit_Tween_Mode;
126
128
  enum :elm_transit_tween_mode, [ :elm_transit_tween_mode_linear, :elm_transit_tween_mode_sinusoidal, :elm_transit_tween_mode_decelerate,
@@ -157,6 +159,7 @@ module Efl
157
159
  typedef :pointer, :elm_theme_p
158
160
  # typedef struct _Elm_Box_Transition Elm_Box_Transition;
159
161
  typedef :pointer, :elm_box_transition
162
+ typedef :pointer, :elm_box_transition_p
160
163
  # typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class;
161
164
  typedef :pointer, :elm_gengrid_item_class
162
165
  typedef :pointer, :elm_gengrid_item_class_p
@@ -371,6 +374,8 @@ module Efl
371
374
  callback :elm_store_item_unfetch_cb, [ :void_p, :elm_store_item_p ], :void
372
375
  # typedef void *(*Elm_Store_Item_Mapping_Cb) (void *data, Elm_Store_Item *sti, const char *part);
373
376
  callback :elm_store_item_mapping_cb, [ :void_p, :elm_store_item_p, :string ], :void_p
377
+ # void(*transition_end_cb)(void *data)
378
+ callback :elm_box_transition_end_cb, [ :void_p ], :void
374
379
  #
375
380
  # VARIABLES
376
381
  # EAPI extern Elm_Version *elm_version;
@@ -466,6 +471,10 @@ module Efl
466
471
  [ :elm_object_item_text_part_set, [ :elm_object_item_p, :string, :string ], :void ],
467
472
  # EAPI const char *elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part);
468
473
  [ :elm_object_item_text_part_get, [ :elm_object_item_p, :string ], :string ],
474
+ # EAPI void elm_object_access_info_set(Evas_Object *obj, const char *txt);
475
+ [ :elm_object_access_info_set, [ :evas_object_p, :string ], :void ],
476
+ # EAPI void elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt);
477
+ [ :elm_object_item_access_info_set, [ :elm_object_item_p, :string ], :void ],
469
478
  # EAPI void elm_all_flush(void);
470
479
  [ :elm_all_flush, [ ], :void ],
471
480
  # EAPI int elm_cache_flush_interval_get(void);
@@ -514,6 +523,14 @@ module Efl
514
523
  [ :elm_object_scale_set, [ :evas_object_p, :double ], :void ],
515
524
  # EAPI double elm_object_scale_get(const Evas_Object *obj);
516
525
  [ :elm_object_scale_get, [ :evas_object_p ], :double ],
526
+ # EAPI Eina_Bool elm_password_show_last_get(void);
527
+ [ :elm_password_show_last_get, [ ], :eina_bool ],
528
+ # EAPI void elm_password_show_last_set(Eina_Bool password_show_last);
529
+ [ :elm_password_show_last_set, [ :eina_bool ], :void ],
530
+ # EAPI double elm_password_show_last_timeout_get(void);
531
+ [ :elm_password_show_last_timeout_get, [ ], :double ],
532
+ # EAPI void elm_password_show_last_timeout_set(double password_show_last_timeout);
533
+ [ :elm_password_show_last_timeout_set, [ :double ], :void ],
517
534
  # EAPI Eina_Bool elm_mirrored_get(void);
518
535
  [ :elm_mirrored_get, [ ], :eina_bool ],
519
536
  # EAPI void elm_mirrored_set(Eina_Bool mirrored);
@@ -1063,11 +1080,11 @@ module Efl
1063
1080
  # EAPI void elm_box_align_get(const Evas_Object *obj, double *horizontal, double *vertical);
1064
1081
  [ :elm_box_align_get, [ :evas_object_p, :double_p, :double_p ], :void ],
1065
1082
  # EAPI void elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data));
1066
- # FIXME
1083
+ [ :elm_box_layout_set, [ :evas_object_p, :evas_object_box_layout, :void_p, :evas_free_data_cb ], :void ],
1067
1084
  # EAPI void elm_box_layout_transition(Evas_Object *obj, Evas_Object_Box_Data *priv, void *data);
1068
1085
  [ :elm_box_layout_transition, [ :evas_object_p, :evas_object_box_data_p, :void_p ], :void ],
1069
1086
  # 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);
1070
- # FIXME
1087
+ [ :elm_box_transition_new, [ :double, :evas_object_box_layout, :void_p, :evas_free_data_cb, :evas_object_box_layout, :void_p, :evas_free_data_cb, :elm_box_transition_end_cb, :void_p ], :elm_box_transition_p ],
1071
1088
  # EAPI void elm_box_transition_free(void *data);
1072
1089
  [ :elm_box_transition_free, [ :void_p ], :void ],
1073
1090
  # EAPI Evas_Object *elm_button_add(Evas_Object *parent);
@@ -1671,6 +1688,10 @@ module Efl
1671
1688
  [ :elm_entry_filter_limit_size, [ :void_p, :evas_object_p, :string_array ], :void ],
1672
1689
  # EAPI void elm_entry_filter_accept_set(void *data, Evas_Object *entry, char **text);
1673
1690
  [ :elm_entry_filter_accept_set, [ :void_p, :evas_object_p, :string_array ], :void ],
1691
+ # EAPI void elm_entry_input_panel_layout_set(Evas_Object *obj, Elm_Input_Panel_Layout layout);
1692
+ [ :elm_entry_input_panel_layout_set, [ :evas_object_p, :elm_input_panel_layout ], :void ],
1693
+ # EAPI Elm_Input_Panel_Layout elm_entry_input_panel_layout_get(Evas_Object *obj);
1694
+ [ :elm_entry_input_panel_layout_get, [ :evas_object_p ], :elm_input_panel_layout ],
1674
1695
  # EAPI Evas_Object *elm_anchorview_add(Evas_Object *parent);
1675
1696
  [ :elm_anchorview_add, [ :evas_object_p ], :evas_object_p ],
1676
1697
  # EAPI void elm_anchorview_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
@@ -2123,8 +2144,8 @@ module Efl
2123
2144
  [ :elm_list_item_end_get, [ :elm_list_item_p ], :evas_object_p ],
2124
2145
  # EAPI void elm_list_item_end_set(Elm_List_Item *item, Evas_Object *end);
2125
2146
  [ :elm_list_item_end_set, [ :elm_list_item_p, :evas_object_p ], :void ],
2126
- # EAPI Evas_Object *elm_list_item_base_get(const Elm_List_Item *item);
2127
- [ :elm_list_item_base_get, [ :elm_list_item_p ], :evas_object_p ],
2147
+ # EAPI Evas_Object *elm_list_item_object_get(const Elm_List_Item *item);
2148
+ [ :elm_list_item_object_get, [ :elm_list_item_p ], :evas_object_p ],
2128
2149
  # EAPI const char *elm_list_item_label_get(const Elm_List_Item *item);
2129
2150
  [ :elm_list_item_label_get, [ :elm_list_item_p ], :string ],
2130
2151
  # EAPI void elm_list_item_label_set(Elm_List_Item *item, const char *text);
@@ -3113,6 +3134,8 @@ module Efl
3113
3134
  # EAPI void elm_ctxpopup_direction_priority_get(Evas_Object *obj, Elm_Ctxpopup_Direction *first, Elm_Ctxpopup_Direction *second, Elm_Ctxpopup_Direction *third, Elm_Ctxpopup_Direction *fourth);
3114
3135
  [ :elm_ctxpopup_direction_priority_get, [ :evas_object_p, :elm_ctxpopup_direction_p, :elm_ctxpopup_direction_p, :elm_ctxpopup_direction_p,
3115
3136
  :elm_ctxpopup_direction_p ], :void ],
3137
+ # EAPI Elm_Ctxpopup_Direction elm_ctxpopup_direction_get(const Evas_Object *obj);
3138
+ [ :elm_ctxpopup_direction_get, [ :evas_object_p ], :elm_ctxpopup_direction ],
3116
3139
  # EAPI Elm_Transit *elm_transit_add(void);
3117
3140
  [ :elm_transit_add, [ ], :elm_transit_p ],
3118
3141
  # EAPI void elm_transit_del(Elm_Transit *transit);
@@ -3279,6 +3302,12 @@ module Efl
3279
3302
  [ :elm_factory_content_set, [ :evas_object_p, :evas_object_p ], :void ],
3280
3303
  # EAPI Evas_Object *elm_factory_content_get(const Evas_Object *obj);
3281
3304
  [ :elm_factory_content_get, [ :evas_object_p ], :evas_object_p ],
3305
+ # EAPI void elm_factory_maxmin_mode_set(Evas_Object *obj, Eina_Bool enabled);
3306
+ [ :elm_factory_maxmin_mode_set, [ :evas_object_p, :eina_bool ], :void ],
3307
+ # EAPI Eina_Bool elm_factory_maxmin_mode_get(const Evas_Object *obj);
3308
+ [ :elm_factory_maxmin_mode_get, [ :evas_object_p ], :eina_bool ],
3309
+ # EAPI void elm_factory_maxmin_reset_set(Evas_Object *obj);
3310
+ [ :elm_factory_maxmin_reset_set, [ :evas_object_p ], :void ],
3282
3311
  # EAPI Evas_Object *elm_video_add(Evas_Object *parent);
3283
3312
  [ :elm_video_add, [ :evas_object_p ], :evas_object_p ],
3284
3313
  # EAPI void elm_video_file_set(Evas_Object *video, const char *filename);
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'emap'
25
23
  #
@@ -18,8 +18,6 @@ module Efl
18
18
  end
19
19
  #
20
20
  module Native
21
- #
22
- extend Efl::FFIHelper
23
21
  #
24
22
  ffi_lib 'evas'
25
23
  #
@@ -42,7 +40,7 @@ module Efl
42
40
  enum :evas_font_hinting_flags, [ :evas_font_hinting_none, :evas_font_hinting_auto, :evas_font_hinting_bytecode ]
43
41
  # typedef enum _Evas_Colorspace {...} Evas_Colorspace;
44
42
  enum :evas_colorspace, [ :evas_colorspace_argb8888, :evas_colorspace_ycbcr422p601_pl, :evas_colorspace_ycbcr422p709_pl, :evas_colorspace_rgb565_a5p,
45
- :evas_colorspace_gry8, :evas_colorspace_ycbcr422601_pl ]
43
+ :evas_colorspace_gry8, :evas_colorspace_ycbcr422601_pl, :evas_colorspace_ycbcr420nv12601_pl, :evas_colorspace_ycbcr420tm12601_pl ]
46
44
  # typedef enum _Evas_Object_Table_Homogeneous_Mode {...} Evas_Object_Table_Homogeneous_Mode;
47
45
  enum :evas_object_table_homogeneous_mode, [ :evas_object_table_homogeneous_none, 0, :evas_object_table_homogeneous_table, 1, :evas_object_table_homogeneous_item,
48
46
  2 ]
@@ -253,6 +251,8 @@ module Efl
253
251
  callback :evas_object_image_pixels_get_cb, [ :void_p, :evas_object_p ], :void
254
252
  # typedef void (*Evas_Object_Box_Layout) (Evas_Object *o, Evas_Object_Box_Data *priv, void *user_data);
255
253
  callback :evas_object_box_layout, [ :evas_object_p, :evas_object_box_data_p, :void_p ], :void
254
+ # void (*free_data)(void *data)
255
+ callback :evas_free_data_cb, [ :void_p ], :void
256
256
  #
257
257
  # VARIABLES
258
258
  # EAPI extern Evas_Version *evas_version;
@@ -1118,6 +1118,8 @@ module Efl
1118
1118
  [ :evas_object_smart_calculate, [ :evas_object_p ], :void ],
1119
1119
  # EAPI void evas_smart_objects_calculate (Evas *e);
1120
1120
  [ :evas_smart_objects_calculate, [ :evas_p ], :void ],
1121
+ # EAPI int evas_smart_objects_calculate_count_get (const Evas *e);
1122
+ [ :evas_smart_objects_calculate_count_get, [ :evas_p ], :int ],
1121
1123
  # EAPI void evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy);
1122
1124
  [ :evas_object_smart_move_children_relative, [ :evas_object_p, :int, :int ], :void ],
1123
1125
  # EAPI Evas_Object *evas_object_smart_clipped_clipper_get (Evas_Object *obj);
@@ -1131,7 +1133,7 @@ module Efl
1131
1133
  # EAPI const Evas_Object_Box_Api *evas_object_box_smart_class_get (void);
1132
1134
  [ :evas_object_box_smart_class_get, [ ], :evas_object_box_api_p ],
1133
1135
  # EAPI void evas_object_box_layout_set (Evas_Object *o, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data));
1134
- # FIXME
1136
+ [ :evas_object_box_layout_set, [ :evas_object_p, :evas_object_box_layout, :void_p, :evas_free_data_cb ], :void ],
1135
1137
  # EAPI Evas_Object *evas_object_box_add (Evas *evas);
1136
1138
  [ :evas_object_box_add, [ :evas_p ], :evas_object_p ],
1137
1139
  # EAPI Evas_Object *evas_object_box_add_to (Evas_Object *parent);