ffi-efl 0.0.14 → 0.0.15
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.
- data/Changelog +14 -0
- data/Gemfile.lock +10 -10
- data/lib/efl.rb +1 -1
- data/lib/efl/elementary_all.rb +1 -2
- data/lib/efl/elm/{elm_map.rb → elm_inwin.rb} +4 -4
- data/lib/efl/elm/elm_win.rb +3 -3
- data/lib/efl/native/ecore.rb +8 -0
- data/lib/efl/native/eet.rb +2 -0
- data/lib/efl/native/eina_log.rb +2 -0
- data/lib/efl/native/elm/elm_cnp.rb +2 -2
- data/lib/efl/native/elm/elm_diskselector.rb +0 -8
- data/lib/efl/native/elm/elm_flip.rb +2 -0
- data/lib/efl/native/elm/elm_gengrid.rb +0 -20
- data/lib/efl/native/elm/elm_genlist.rb +0 -8
- data/lib/efl/native/elm/elm_inwin.rb +43 -0
- data/lib/efl/native/elm/elm_layout.rb +5 -0
- data/lib/efl/native/elm/elm_object.rb +1 -1
- data/lib/efl/native/elm/elm_scroller.rb +4 -0
- data/lib/efl/native/elm/elm_tooltip.rb +1 -1
- data/lib/efl/native/elm/elm_web.rb +2 -2
- data/lib/efl/native/elm/elm_win.rb +15 -0
- data/lib/efl/native/ethumb.rb +160 -0
- data/lib/efl/native/ethumb_client.rb +148 -0
- data/lib/efl/native/ethumb_plugin.rb +57 -0
- data/spec/evas_spec.rb +1 -3
- data/tools/extract-api.sh +8 -5
- data/tools/genruby.rb +26 -15
- data/tools/install-efl.sh +16 -0
- data/tools/sed-enums +13 -3
- metadata +8 -7
- data/lib/efl/elm/elm_route.rb +0 -22
- data/lib/efl/native/elm/elm_map.rb +0 -239
- data/lib/efl/native/elm/elm_route.rb +0 -42
- data/lib/efl/native/emap.rb +0 -85
@@ -0,0 +1,148 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native'
|
5
|
+
require 'efl/native/ethumb'
|
6
|
+
#
|
7
|
+
module Efl
|
8
|
+
#
|
9
|
+
module EthumbClient
|
10
|
+
#
|
11
|
+
FCT_PREFIX = 'ethumb_client_' unless const_defined? :FCT_PREFIX
|
12
|
+
#
|
13
|
+
def self.method_missing meth, *args, &block
|
14
|
+
sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
|
15
|
+
self.send sym, *args, &block
|
16
|
+
end
|
17
|
+
#
|
18
|
+
end
|
19
|
+
#
|
20
|
+
module Native
|
21
|
+
#
|
22
|
+
ffi_lib 'ethumb_client'
|
23
|
+
#
|
24
|
+
# TYPEDEFS
|
25
|
+
# typedef struct _Ethumb_Client Ethumb_Client;
|
26
|
+
typedef :pointer, :ethumb_client
|
27
|
+
# typedef struct _Ethumb_Exists Ethumb_Exists;
|
28
|
+
typedef :pointer, :ethumb_exists
|
29
|
+
# typedef struct _Ethumb_Client_Async Ethumb_Client_Async;
|
30
|
+
typedef :pointer, :ethumb_client_async
|
31
|
+
#
|
32
|
+
# CALLBACKS
|
33
|
+
# typedef void (*Ethumb_Client_Connect_Cb) (void *data, Ethumb_Client *client, Eina_Bool success);
|
34
|
+
callback :ethumb_client_connect_cb, [ :pointer, :ethumb_client, :bool ], :void
|
35
|
+
# typedef void (*Ethumb_Client_Die_Cb) (void *data, Ethumb_Client *client);
|
36
|
+
callback :ethumb_client_die_cb, [ :pointer, :ethumb_client ], :void
|
37
|
+
# typedef void (*Ethumb_Client_Generate_Cb) (void *data, Ethumb_Client *client, int id, const char *file, const char *key, const char *thumb_path, const char *thumb_key, Eina_Bool success);
|
38
|
+
callback :ethumb_client_generate_cb, [ :pointer, :ethumb_client, :int, :string, :string, :string, :string, :bool ], :void
|
39
|
+
# typedef void (*Ethumb_Client_Thumb_Exists_Cb) (void *data, Ethumb_Client *client, Ethumb_Exists *thread, Eina_Bool exists);
|
40
|
+
callback :ethumb_client_thumb_exists_cb, [ :pointer, :ethumb_client, :ethumb_exists, :bool ], :void
|
41
|
+
# typedef void (*Ethumb_Client_Generate_Cancel_Cb) (void *data, Eina_Bool success);
|
42
|
+
callback :ethumb_client_generate_cancel_cb, [ :pointer, :bool ], :void
|
43
|
+
# typedef void (*Ethumb_Client_Async_Done_Cb) (Ethumb_Client *ethumbd, const char *thumb_path, const char *thumb_key, void *data);
|
44
|
+
callback :ethumb_client_async_done_cb, [ :ethumb_client, :string, :string, :pointer ], :void
|
45
|
+
# typedef void (*Ethumb_Client_Async_Error_Cb) (Ethumb_Client *ethumbd, void *data);
|
46
|
+
callback :ethumb_client_async_error_cb, [ :ethumb_client, :pointer ], :void
|
47
|
+
#
|
48
|
+
# FUNCTIONS
|
49
|
+
fcts = [
|
50
|
+
# EAPI int ethumb_client_init(void);
|
51
|
+
[ :ethumb_client_init, [ ], :int ],
|
52
|
+
# EAPI int ethumb_client_shutdown(void);
|
53
|
+
[ :ethumb_client_shutdown, [ ], :int ],
|
54
|
+
# EAPI Ethumb_Client * ethumb_client_connect(Ethumb_Client_Connect_Cb connect_cb, const void *data, Eina_Free_Cb free_data);
|
55
|
+
[ :ethumb_client_connect, [ :ethumb_client_connect_cb, :pointer, :eina_free_cb ], :ethumb_client ],
|
56
|
+
# EAPI void ethumb_client_disconnect(Ethumb_Client *client);
|
57
|
+
[ :ethumb_client_disconnect, [ :ethumb_client ], :void ],
|
58
|
+
# EAPI void ethumb_client_on_server_die_callback_set(Ethumb_Client *client, Ethumb_Client_Die_Cb server_die_cb, const void *data, Eina_Free_Cb free_data);
|
59
|
+
[ :ethumb_client_on_server_die_callback_set, [ :ethumb_client, :ethumb_client_die_cb, :pointer, :eina_free_cb ], :void ],
|
60
|
+
# EAPI void ethumb_client_fdo_set(Ethumb_Client *client, Ethumb_Thumb_FDO_Size s);
|
61
|
+
[ :ethumb_client_fdo_set, [ :ethumb_client, :ethumb_thumb_fdo_size ], :void ],
|
62
|
+
# EAPI void ethumb_client_size_set(Ethumb_Client *client, int tw, int th);
|
63
|
+
[ :ethumb_client_size_set, [ :ethumb_client, :int, :int ], :void ],
|
64
|
+
# EAPI void ethumb_client_size_get(const Ethumb_Client *client, int *tw, int *th);
|
65
|
+
[ :ethumb_client_size_get, [ :ethumb_client, :pointer, :pointer ], :void ],
|
66
|
+
# EAPI void ethumb_client_format_set(Ethumb_Client *client, Ethumb_Thumb_Format f);
|
67
|
+
[ :ethumb_client_format_set, [ :ethumb_client, :ethumb_thumb_format ], :void ],
|
68
|
+
# EAPI Ethumb_Thumb_Format ethumb_client_format_get(const Ethumb_Client *client);
|
69
|
+
[ :ethumb_client_format_get, [ :ethumb_client ], :ethumb_thumb_format ],
|
70
|
+
# EAPI void ethumb_client_aspect_set(Ethumb_Client *client, Ethumb_Thumb_Aspect a);
|
71
|
+
[ :ethumb_client_aspect_set, [ :ethumb_client, :ethumb_thumb_aspect ], :void ],
|
72
|
+
# EAPI Ethumb_Thumb_Aspect ethumb_client_aspect_get(const Ethumb_Client *client);
|
73
|
+
[ :ethumb_client_aspect_get, [ :ethumb_client ], :ethumb_thumb_aspect ],
|
74
|
+
# EAPI void ethumb_client_orientation_set(Ethumb_Client *client, Ethumb_Thumb_Orientation o);
|
75
|
+
[ :ethumb_client_orientation_set, [ :ethumb_client, :ethumb_thumb_orientation ], :void ],
|
76
|
+
# EAPI Ethumb_Thumb_Orientation ethumb_client_orientation_get(const Ethumb_Client *client);
|
77
|
+
[ :ethumb_client_orientation_get, [ :ethumb_client ], :ethumb_thumb_orientation ],
|
78
|
+
# EAPI void ethumb_client_crop_align_set(Ethumb_Client *client, float x, float y);
|
79
|
+
[ :ethumb_client_crop_align_set, [ :ethumb_client, :float, :float ], :void ],
|
80
|
+
# EAPI void ethumb_client_crop_align_get(const Ethumb_Client *client, float *x, float *y);
|
81
|
+
[ :ethumb_client_crop_align_get, [ :ethumb_client, :pointer, :pointer ], :void ],
|
82
|
+
# EAPI void ethumb_client_quality_set(Ethumb_Client *client, int quality);
|
83
|
+
[ :ethumb_client_quality_set, [ :ethumb_client, :int ], :void ],
|
84
|
+
# EAPI int ethumb_client_quality_get(const Ethumb_Client *client);
|
85
|
+
[ :ethumb_client_quality_get, [ :ethumb_client ], :int ],
|
86
|
+
# EAPI void ethumb_client_compress_set(Ethumb_Client *client, int compress);
|
87
|
+
[ :ethumb_client_compress_set, [ :ethumb_client, :int ], :void ],
|
88
|
+
# EAPI int ethumb_client_compress_get(const Ethumb_Client *client);
|
89
|
+
[ :ethumb_client_compress_get, [ :ethumb_client ], :int ],
|
90
|
+
# EAPI Eina_Bool ethumb_client_frame_set(Ethumb_Client *client, const char *file, const char *group, const char *swallow);
|
91
|
+
[ :ethumb_client_frame_set, [ :ethumb_client, :string, :string, :string ], :bool ],
|
92
|
+
# EAPI void ethumb_client_dir_path_set(Ethumb_Client *client, const char *path);
|
93
|
+
[ :ethumb_client_dir_path_set, [ :ethumb_client, :string ], :void ],
|
94
|
+
# EAPI const char * ethumb_client_dir_path_get(const Ethumb_Client *client);
|
95
|
+
[ :ethumb_client_dir_path_get, [ :ethumb_client ], :string ],
|
96
|
+
# EAPI void ethumb_client_category_set(Ethumb_Client *client, const char *category);
|
97
|
+
[ :ethumb_client_category_set, [ :ethumb_client, :string ], :void ],
|
98
|
+
# EAPI const char * ethumb_client_category_get(const Ethumb_Client *client);
|
99
|
+
[ :ethumb_client_category_get, [ :ethumb_client ], :string ],
|
100
|
+
# EAPI void ethumb_client_video_time_set(Ethumb_Client *client, float time);
|
101
|
+
[ :ethumb_client_video_time_set, [ :ethumb_client, :float ], :void ],
|
102
|
+
# EAPI void ethumb_client_video_start_set(Ethumb_Client *client, float start);
|
103
|
+
[ :ethumb_client_video_start_set, [ :ethumb_client, :float ], :void ],
|
104
|
+
# EAPI void ethumb_client_video_interval_set(Ethumb_Client *client, float interval);
|
105
|
+
[ :ethumb_client_video_interval_set, [ :ethumb_client, :float ], :void ],
|
106
|
+
# EAPI void ethumb_client_video_ntimes_set(Ethumb_Client *client, unsigned int ntimes);
|
107
|
+
[ :ethumb_client_video_ntimes_set, [ :ethumb_client, :uint ], :void ],
|
108
|
+
# EAPI void ethumb_client_video_fps_set(Ethumb_Client *client, unsigned int fps);
|
109
|
+
[ :ethumb_client_video_fps_set, [ :ethumb_client, :uint ], :void ],
|
110
|
+
# EAPI void ethumb_client_document_page_set(Ethumb_Client *client, unsigned int page);
|
111
|
+
[ :ethumb_client_document_page_set, [ :ethumb_client, :uint ], :void ],
|
112
|
+
# EAPI void ethumb_client_ethumb_setup(Ethumb_Client *client);
|
113
|
+
[ :ethumb_client_ethumb_setup, [ :ethumb_client ], :void ],
|
114
|
+
# EAPI void ethumb_client_thumb_path_set(Ethumb_Client *client, const char *path, const char *key);
|
115
|
+
[ :ethumb_client_thumb_path_set, [ :ethumb_client, :string, :string ], :void ],
|
116
|
+
# EAPI void ethumb_client_thumb_path_get(Ethumb_Client *client, const char **path, const char **key);
|
117
|
+
[ :ethumb_client_thumb_path_get, [ :ethumb_client, :pointer, :pointer ], :void ],
|
118
|
+
# EAPI Eina_Bool ethumb_client_file_set(Ethumb_Client *client, const char *path, const char *key);
|
119
|
+
[ :ethumb_client_file_set, [ :ethumb_client, :string, :string ], :bool ],
|
120
|
+
# EAPI void ethumb_client_file_get(Ethumb_Client *client, const char **path, const char **key);
|
121
|
+
[ :ethumb_client_file_get, [ :ethumb_client, :pointer, :pointer ], :void ],
|
122
|
+
# EAPI void ethumb_client_file_free(Ethumb_Client *client);
|
123
|
+
[ :ethumb_client_file_free, [ :ethumb_client ], :void ],
|
124
|
+
# EAPI Ethumb_Exists *ethumb_client_thumb_exists(Ethumb_Client *client, Ethumb_Client_Thumb_Exists_Cb exists_cb, const void *data);
|
125
|
+
[ :ethumb_client_thumb_exists, [ :ethumb_client, :ethumb_client_thumb_exists_cb, :pointer ], :ethumb_exists ],
|
126
|
+
# EAPI void ethumb_client_thumb_exists_cancel(Ethumb_Exists *exists);
|
127
|
+
[ :ethumb_client_thumb_exists_cancel, [ :ethumb_exists ], :void ],
|
128
|
+
# EAPI Eina_Bool ethumb_client_thumb_exists_check(Ethumb_Exists *exists);
|
129
|
+
[ :ethumb_client_thumb_exists_check, [ :ethumb_exists ], :bool ],
|
130
|
+
# EAPI int ethumb_client_generate(Ethumb_Client *client, Ethumb_Client_Generate_Cb generated_cb, const void *data, Eina_Free_Cb free_data);
|
131
|
+
[ :ethumb_client_generate, [ :ethumb_client, :ethumb_client_generate_cb, :pointer, :eina_free_cb ], :int ],
|
132
|
+
# EAPI void ethumb_client_generate_cancel(Ethumb_Client *client, int id, Ethumb_Client_Generate_Cancel_Cb cancel_cb, const void *data, Eina_Free_Cb free_data);
|
133
|
+
[ :ethumb_client_generate_cancel, [ :ethumb_client, :int, :ethumb_client_generate_cancel_cb, :pointer, :eina_free_cb ], :void ],
|
134
|
+
# EAPI void ethumb_client_generate_cancel_all(Ethumb_Client *client);
|
135
|
+
[ :ethumb_client_generate_cancel_all, [ :ethumb_client ], :void ],
|
136
|
+
# EAPI Ethumb_Client_Async *ethumb_client_thumb_async_get(Ethumb_Client *client, Ethumb_Client_Async_Done_Cb done, Ethumb_Client_Async_Error_Cb error, const void *data);
|
137
|
+
[ :ethumb_client_thumb_async_get, [ :ethumb_client, :ethumb_client_async_done_cb, :ethumb_client_async_error_cb, :pointer ],
|
138
|
+
:ethumb_client_async ],
|
139
|
+
# EAPI void ethumb_client_thumb_async_cancel(Ethumb_Client *client, Ethumb_Client_Async *request);
|
140
|
+
[ :ethumb_client_thumb_async_cancel, [ :ethumb_client, :ethumb_client_async ], :void ],
|
141
|
+
]
|
142
|
+
#
|
143
|
+
attach_fcts fcts
|
144
|
+
#
|
145
|
+
end
|
146
|
+
end
|
147
|
+
#
|
148
|
+
# EOF
|
@@ -0,0 +1,57 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native'
|
5
|
+
require 'efl/native/evas'
|
6
|
+
require 'efl/native/ecore_evas'
|
7
|
+
require 'efl/native/ethumb'
|
8
|
+
#
|
9
|
+
module Efl
|
10
|
+
#
|
11
|
+
module EthumbPlugin
|
12
|
+
#
|
13
|
+
FCT_PREFIX = 'ethumb_plugin_' unless const_defined? :FCT_PREFIX
|
14
|
+
#
|
15
|
+
def self.method_missing meth, *args, &block
|
16
|
+
sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
|
17
|
+
self.send sym, *args, &block
|
18
|
+
end
|
19
|
+
#
|
20
|
+
end
|
21
|
+
#
|
22
|
+
module Native
|
23
|
+
#
|
24
|
+
ffi_lib 'ethumb'
|
25
|
+
#
|
26
|
+
# TYPEDEFS
|
27
|
+
# typedef struct _Ethumb_Plugin Ethumb_Plugin;
|
28
|
+
typedef :pointer, :ethumb_plugin
|
29
|
+
#
|
30
|
+
# FUNCTIONS
|
31
|
+
fcts = [
|
32
|
+
# EAPI void ethumb_calculate_aspect_from_ratio(Ethumb *e, float ia, int *w, int *h);
|
33
|
+
[ :ethumb_calculate_aspect_from_ratio, [ :ethumb, :float, :pointer, :pointer ], :void ],
|
34
|
+
# EAPI void ethumb_calculate_aspect(Ethumb *e, int iw, int ih, int *w, int *h);
|
35
|
+
[ :ethumb_calculate_aspect, [ :ethumb, :int, :int, :pointer, :pointer ], :void ],
|
36
|
+
# EAPI void ethumb_calculate_fill_from_ratio(Ethumb *e, float ia, int *fx, int *fy, int *fw, int *fh);
|
37
|
+
[ :ethumb_calculate_fill_from_ratio, [ :ethumb, :float, :pointer, :pointer, :pointer, :pointer ], :void ],
|
38
|
+
# EAPI void ethumb_calculate_fill(Ethumb *e, int iw, int ih, int *fx, int *fy, int *fw, int *fh);
|
39
|
+
[ :ethumb_calculate_fill, [ :ethumb, :int, :int, :pointer, :pointer, :pointer, :pointer ], :void ],
|
40
|
+
# EAPI Eina_Bool ethumb_plugin_image_resize(Ethumb *e, int w, int h);
|
41
|
+
[ :ethumb_plugin_image_resize, [ :ethumb, :int, :int ], :bool ],
|
42
|
+
# EAPI Eina_Bool ethumb_image_save(Ethumb *e);
|
43
|
+
[ :ethumb_image_save, [ :ethumb ], :bool ],
|
44
|
+
# EAPI void ethumb_finished_callback_call(Ethumb *e, int result);
|
45
|
+
[ :ethumb_finished_callback_call, [ :ethumb, :int ], :void ],
|
46
|
+
# EAPI Evas * ethumb_evas_get(const Ethumb *e);
|
47
|
+
[ :ethumb_evas_get, [ :ethumb ], :evas ],
|
48
|
+
# EAPI Ecore_Evas * ethumb_ecore_evas_get(const Ethumb *e);
|
49
|
+
[ :ethumb_ecore_evas_get, [ :ethumb ], :ecore_evas ],
|
50
|
+
]
|
51
|
+
#
|
52
|
+
attach_fcts fcts
|
53
|
+
#
|
54
|
+
end
|
55
|
+
end
|
56
|
+
#
|
57
|
+
# EOF
|
data/spec/evas_spec.rb
CHANGED
@@ -83,8 +83,7 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
83
83
|
e1.free
|
84
84
|
e1.free
|
85
85
|
e1.to_ptr.should be_nil
|
86
|
-
e2.
|
87
|
-
e2.free
|
86
|
+
e2.to_ptr.should_not be_nil # it's a reference to a freed object, no good!
|
88
87
|
e4 = Evas::REvas.new Native.evas_new
|
89
88
|
e4.address.should_not == 0
|
90
89
|
e5 = e4.dup
|
@@ -302,7 +301,6 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
302
301
|
end
|
303
302
|
after(:all) do
|
304
303
|
@e.free
|
305
|
-
@o.free
|
306
304
|
@pixels.free
|
307
305
|
end
|
308
306
|
#
|
data/tools/extract-api.sh
CHANGED
@@ -43,14 +43,15 @@ for header in \
|
|
43
43
|
"${INCLUDE}/ecore-1/Ecore_Evas.h" \
|
44
44
|
"${INCLUDE}/ecore-1/Ecore_Fb.h" \
|
45
45
|
"${INCLUDE}/ecore-1/Ecore_File.h" \
|
46
|
-
"${INCLUDE}/
|
46
|
+
"${INCLUDE}/ethumb-1/Ethumb.h" \
|
47
|
+
"${INCLUDE}/ethumb-1/Ethumb_Client.h" \
|
48
|
+
"${INCLUDE}/ethumb-1/Ethumb_Plugin.h" \
|
47
49
|
"${ELM_INCLUDE_DIR}/Elementary.h" \
|
48
50
|
"${ELM_INCLUDE_DIR}/elm_general.h" \
|
49
51
|
"${ELM_INCLUDE_DIR}/elm_tooltip.h" \
|
50
52
|
"${ELM_INCLUDE_DIR}/elm_object.h" \
|
51
53
|
"${ELM_INCLUDE_DIR}/elm_object_item.h" \
|
52
54
|
"${ELM_INCLUDE_DIR}/elc_ctxpopup.h" \
|
53
|
-
"${ELM_INCLUDE_DIR}/elm_dayselector.h" \
|
54
55
|
"${ELM_INCLUDE_DIR}/elc_fileselector_button.h" \
|
55
56
|
"${ELM_INCLUDE_DIR}/elc_fileselector_entry.h" \
|
56
57
|
"${ELM_INCLUDE_DIR}/elc_fileselector.h" \
|
@@ -75,6 +76,7 @@ for header in \
|
|
75
76
|
"${ELM_INCLUDE_DIR}/elm_conform.h" \
|
76
77
|
"${ELM_INCLUDE_DIR}/elm_cursor.h" \
|
77
78
|
"${ELM_INCLUDE_DIR}/elm_datetime.h" \
|
79
|
+
"${ELM_INCLUDE_DIR}/elm_dayselector.h" \
|
78
80
|
"${ELM_INCLUDE_DIR}/elm_debug.h" \
|
79
81
|
"${ELM_INCLUDE_DIR}/elm_diskselector.h" \
|
80
82
|
"${ELM_INCLUDE_DIR}/elm_entry.h" \
|
@@ -95,11 +97,11 @@ for header in \
|
|
95
97
|
"${ELM_INCLUDE_DIR}/elm_image.h" \
|
96
98
|
"${ELM_INCLUDE_DIR}/elm_index.h" \
|
97
99
|
"${ELM_INCLUDE_DIR}/elm_intro.h" \
|
100
|
+
"${ELM_INCLUDE_DIR}/elm_inwin.h" \
|
98
101
|
"${ELM_INCLUDE_DIR}/elm_label.h" \
|
99
102
|
"${ELM_INCLUDE_DIR}/elm_layout.h" \
|
100
103
|
"${ELM_INCLUDE_DIR}/elm_list.h" \
|
101
104
|
"${ELM_INCLUDE_DIR}/elm_mapbuf.h" \
|
102
|
-
"${ELM_INCLUDE_DIR}/elm_map.h" \
|
103
105
|
"${ELM_INCLUDE_DIR}/elm_menu.h" \
|
104
106
|
"${ELM_INCLUDE_DIR}/elm_mirroring.h" \
|
105
107
|
"${ELM_INCLUDE_DIR}/elm_need.h" \
|
@@ -111,7 +113,6 @@ for header in \
|
|
111
113
|
"${ELM_INCLUDE_DIR}/elm_plug.h" \
|
112
114
|
"${ELM_INCLUDE_DIR}/elm_progressbar.h" \
|
113
115
|
"${ELM_INCLUDE_DIR}/elm_radio.h" \
|
114
|
-
"${ELM_INCLUDE_DIR}/elm_route.h" \
|
115
116
|
"${ELM_INCLUDE_DIR}/elm_scale.h" \
|
116
117
|
"${ELM_INCLUDE_DIR}/elm_scroller.h" \
|
117
118
|
"${ELM_INCLUDE_DIR}/elm_scroll.h" \
|
@@ -134,7 +135,9 @@ for header in \
|
|
134
135
|
#
|
135
136
|
if [ ! -e "$header" ]; then
|
136
137
|
echo "$header not found, we won't generate bindings for this header."
|
137
|
-
|
138
|
+
continue
|
139
|
+
else
|
140
|
+
echo "extracting API from $header"
|
138
141
|
fi
|
139
142
|
#
|
140
143
|
DIR=$(dirname $header)
|
data/tools/genruby.rb
CHANGED
@@ -64,8 +64,12 @@ def gen_enums path, indent
|
|
64
64
|
open(path+'-enums','r').readlines.each do |l|
|
65
65
|
l.strip!
|
66
66
|
if not l=~/((?:typedef )?enum(?: \w+)?) \{(.*)\} (\w+)/
|
67
|
-
|
68
|
-
|
67
|
+
if l=~/((?:typedef )?enum(?: \w+)?) \{/
|
68
|
+
printf "\033[0;31manonymous #{$1}\033[0m\n"
|
69
|
+
else
|
70
|
+
printf "\033[0;31m#{l}\n#{indent}# FIXME\033[0m\n"
|
71
|
+
r << indent+"# #{l}\n#{indent}# FIXME"
|
72
|
+
end
|
69
73
|
next
|
70
74
|
end
|
71
75
|
typedef = $1.strip
|
@@ -325,9 +329,19 @@ libs << {
|
|
325
329
|
:requires=>["#{NATIVE}/ecore_getopt","#{NATIVE}/evas"], :constants=>[]
|
326
330
|
}
|
327
331
|
libs << {
|
328
|
-
:lib=>'
|
329
|
-
:modname=>'
|
330
|
-
:requires=>[
|
332
|
+
:lib=>'ethumb', :header=>'Ethumb.h',
|
333
|
+
:modname=>'Ethumb', :prefix=>'ethumb', :outfile=>'ethumb.rb',
|
334
|
+
:requires=>[], :constants=>[]
|
335
|
+
}
|
336
|
+
libs << {
|
337
|
+
:lib=>'ethumb_client', :header=>'Ethumb_Client.h',
|
338
|
+
:modname=>'EthumbClient', :prefix=>'ethumb_client', :outfile=>'ethumb_client.rb',
|
339
|
+
:requires=>["#{NATIVE}/ethumb"], :constants=>[]
|
340
|
+
}
|
341
|
+
libs << {
|
342
|
+
:lib=>'ethumb', :header=>'Ethumb_Plugin.h',
|
343
|
+
:modname=>'EthumbPlugin', :prefix=>'ethumb_plugin', :outfile=>'ethumb_plugin.rb',
|
344
|
+
:requires=>["#{NATIVE}/evas","#{NATIVE}/ecore_evas","#{NATIVE}/ethumb"], :constants=>[]
|
331
345
|
}
|
332
346
|
#
|
333
347
|
ELM_LIB='elementary'
|
@@ -354,11 +368,8 @@ libs << {
|
|
354
368
|
:modname=>'Elm', :prefix=>'elm', :outfile=>'elm/elm_general.rb',
|
355
369
|
:requires=>["#{NATIVE}/evas","#{NATIVE}/elementary"], :constants=>[]
|
356
370
|
}
|
357
|
-
libs <<
|
358
|
-
|
359
|
-
:modname=>'ElmTooltip', :prefix=>'elm', :outfile=>'elm/elm_tooltip.rb',
|
360
|
-
:requires=>["#{NATIVE}/elementary"], :constants=>[]
|
361
|
-
}
|
371
|
+
libs << elm_h('elm_tooltip.h', 'ElmTooltip')
|
372
|
+
libs[-1][:prefix] = 'elm_object_tooltip'
|
362
373
|
libs << elm_h('elm_object_item.h', 'ElmObjectItem')
|
363
374
|
libs << elm_h('elm_object.h', 'ElmObject', ["#{NATIVE}/edje","#{NATIVE}/elementary"])
|
364
375
|
libs << elm_h('elm_icon.h', 'ElmIcon')
|
@@ -366,7 +377,6 @@ libs << elm_h('elm_scroller.h', 'ElmScroller')
|
|
366
377
|
libs << elm_h('elm_entry.h', 'ElmEntry', ["#{NATIVE}/edje","#{NATIVE}/elementary","#{NATIVE}/elm/elm_icon","#{NATIVE}/elm/elm_scroller"])
|
367
378
|
libs << elm_h('elm_list.h', 'ElmList', ["#{NATIVE}/elementary","#{NATIVE}/elm/elm_scroller"])
|
368
379
|
libs << elm_h('elc_ctxpopup.h', 'ElmCtxPopup')
|
369
|
-
libs << elm_h('elm_dayselector.h', 'ElmDaySelector')
|
370
380
|
libs << elm_h('elc_fileselector_button.h', 'ElmFileSelectorButton')
|
371
381
|
libs << elm_h('elc_fileselector_entry.h', 'ElmFileSelectorEntry')
|
372
382
|
libs << elm_h('elc_fileselector.h', 'ElmFileSelector')
|
@@ -390,6 +400,7 @@ libs << elm_h('elm_config.h', 'ElmConfig')
|
|
390
400
|
libs << elm_h('elm_conform.h', 'ElmConform')
|
391
401
|
libs << elm_h('elm_cursor.h', 'ElmCursor')
|
392
402
|
libs << elm_h('elm_datetime.h', 'ElmDatetime')
|
403
|
+
libs << elm_h('elm_dayselector.h', 'ElmDaySelector')
|
393
404
|
libs << elm_h('elm_debug.h', 'ElmDebug')
|
394
405
|
libs << elm_h('elm_diskselector.h', 'ElmDiskSelector', ["#{NATIVE}/elementary","#{NATIVE}/elm/elm_scroller"])
|
395
406
|
libs << elm_h('elm_finger.h', 'ElmFinger')
|
@@ -406,10 +417,11 @@ libs << elm_h('elm_grid.h', 'ElmGrid')
|
|
406
417
|
libs << elm_h('elm_hover.h', 'ElmHover')
|
407
418
|
libs << elm_h('elm_image.h', 'ElmImage')
|
408
419
|
libs << elm_h('elm_index.h', 'ElmIndex')
|
420
|
+
libs << elm_h('elm_inwin.h', 'ElmInwin')
|
421
|
+
libs[-1][:prefix] = 'elm_win_inwin'
|
409
422
|
libs << elm_h('elm_label.h', 'ElmLabel', ["#{NATIVE}/elementary","#{NATIVE}/elm/elm_entry"])
|
410
|
-
libs << elm_h('elm_layout.h', 'ElmLayout', ["#{NATIVE}/edje"])
|
423
|
+
libs << elm_h('elm_layout.h', 'ElmLayout', ["#{NATIVE}/edje","#{NATIVE}/elementary"])
|
411
424
|
libs << elm_h('elm_mapbuf.h', 'ElmMapBuf')
|
412
|
-
libs << elm_h('elm_map.h', 'ElmMap', ["#{NATIVE}/emap","#{NATIVE}/elementary"])
|
413
425
|
libs << elm_h('elm_menu.h', 'ElmMenu')
|
414
426
|
libs << elm_h('elm_mirroring.h', 'ElmMirroring')
|
415
427
|
libs << elm_h('elm_need.h', 'ElmNeed')
|
@@ -421,7 +433,6 @@ libs << elm_h('elm_photo.h', 'ElmPhoto')
|
|
421
433
|
libs << elm_h('elm_plug.h', 'ElmPlug')
|
422
434
|
libs << elm_h('elm_progressbar.h', 'ElmProgressBar')
|
423
435
|
libs << elm_h('elm_radio.h', 'ElmRadio')
|
424
|
-
libs << elm_h('elm_route.h', 'ElmRoute', ["#{NATIVE}/emap","#{NATIVE}/elementary"])
|
425
436
|
libs << elm_h('elm_scale.h', 'ElmScale')
|
426
437
|
libs << elm_h('elm_scroll.h', 'ElmScroll')
|
427
438
|
libs << elm_h('elm_segment_control.h', 'ElmSegmentControl')
|
@@ -437,7 +448,7 @@ libs << elm_h('elm_toolbar.h', 'ElmToolbar', ["#{NATIVE}/elementary","#{NATIVE}/
|
|
437
448
|
libs << elm_h('elm_transit.h', 'ElmTransit')
|
438
449
|
libs << elm_h('elm_video.h', 'ElmVideo')
|
439
450
|
libs << elm_h('elm_web.h', 'ElmWeb')
|
440
|
-
libs << elm_h('elm_win.h', 'ElmWin')
|
451
|
+
libs << elm_h('elm_win.h', 'ElmWin', ["#{NATIVE}/ecore_evas","#{NATIVE}/elementary"])
|
441
452
|
|
442
453
|
Dir.mkdir lib_path unless (File.exists? lib_path)
|
443
454
|
#
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#! /bin/bash
|
2
|
+
|
3
|
+
WDIR=/tmp/efl
|
4
|
+
PREFIX="/opt/efl-stable"
|
5
|
+
VERSION=1.7.1
|
6
|
+
BASE="http://download.enlightenment.org/releases/"
|
7
|
+
|
8
|
+
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
|
9
|
+
export PATH=$PREFIX/bin:$PATH
|
10
|
+
|
11
|
+
[ -d $WDIR ] || mkdir $WDIR
|
12
|
+
for pkg in eina eet eio evas ecore embryo edje e_dbus eeze efreet ethumb emotion elementary; do
|
13
|
+
echo "install $pkg-$VERSION into $PREFIX"
|
14
|
+
curl $BASE$pkg-$VERSION.tar.gz | tar -xz -C $WDIR
|
15
|
+
cd $WDIR/$pkg-$VERSION && ./configure --prefix=$PREFIX && make && make install || exit 1
|
16
|
+
done
|
data/tools/sed-enums
CHANGED
@@ -21,14 +21,24 @@ T next;H;b attrs
|
|
21
21
|
:next
|
22
22
|
# try again if } not found
|
23
23
|
/^\s*\}/ ! b attrs
|
24
|
-
# read enumeration name
|
24
|
+
# read enumeration name if any
|
25
25
|
s/^\s*}\s*(\w+).*$/ } \1;/
|
26
26
|
t finish
|
27
27
|
:close
|
28
|
+
n
|
29
|
+
# eat all comments
|
30
|
+
/^\s*\/\*/ {
|
31
|
+
:comment2
|
32
|
+
/\*\/\s*$/ { n; b nocomment2 }
|
33
|
+
n; b comment2
|
34
|
+
}
|
35
|
+
:nocomment2
|
36
|
+
# eat empty lines
|
37
|
+
/^\s*$/ b close
|
28
38
|
# read the enum typedef
|
29
39
|
s/^\s*typedef\s+enum\s+\w+\s+(\w+)\s*;/ } \1/
|
30
|
-
#
|
31
|
-
|
40
|
+
# finish if substitution fail
|
41
|
+
T
|
32
42
|
:finish
|
33
43
|
# append pattern, exchange hold space and pattern space
|
34
44
|
H;x
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-efl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ffi
|
@@ -125,10 +125,10 @@ files:
|
|
125
125
|
- lib/efl/elm/elm_icon.rb
|
126
126
|
- lib/efl/elm/elm_image.rb
|
127
127
|
- lib/efl/elm/elm_index.rb
|
128
|
+
- lib/efl/elm/elm_inwin.rb
|
128
129
|
- lib/efl/elm/elm_label.rb
|
129
130
|
- lib/efl/elm/elm_layout.rb
|
130
131
|
- lib/efl/elm/elm_list.rb
|
131
|
-
- lib/efl/elm/elm_map.rb
|
132
132
|
- lib/efl/elm/elm_mapbuf.rb
|
133
133
|
- lib/efl/elm/elm_menu.rb
|
134
134
|
- lib/efl/elm/elm_mirroring.rb
|
@@ -145,7 +145,6 @@ files:
|
|
145
145
|
- lib/efl/elm/elm_popup.rb
|
146
146
|
- lib/efl/elm/elm_progressbar.rb
|
147
147
|
- lib/efl/elm/elm_radio.rb
|
148
|
-
- lib/efl/elm/elm_route.rb
|
149
148
|
- lib/efl/elm/elm_scale.rb
|
150
149
|
- lib/efl/elm/elm_scroll.rb
|
151
150
|
- lib/efl/elm/elm_scroller.rb
|
@@ -220,10 +219,10 @@ files:
|
|
220
219
|
- lib/efl/native/elm/elm_icon.rb
|
221
220
|
- lib/efl/native/elm/elm_image.rb
|
222
221
|
- lib/efl/native/elm/elm_index.rb
|
222
|
+
- lib/efl/native/elm/elm_inwin.rb
|
223
223
|
- lib/efl/native/elm/elm_label.rb
|
224
224
|
- lib/efl/native/elm/elm_layout.rb
|
225
225
|
- lib/efl/native/elm/elm_list.rb
|
226
|
-
- lib/efl/native/elm/elm_map.rb
|
227
226
|
- lib/efl/native/elm/elm_mapbuf.rb
|
228
227
|
- lib/efl/native/elm/elm_menu.rb
|
229
228
|
- lib/efl/native/elm/elm_mirroring.rb
|
@@ -241,7 +240,6 @@ files:
|
|
241
240
|
- lib/efl/native/elm/elm_popup.rb
|
242
241
|
- lib/efl/native/elm/elm_progressbar.rb
|
243
242
|
- lib/efl/native/elm/elm_radio.rb
|
244
|
-
- lib/efl/native/elm/elm_route.rb
|
245
243
|
- lib/efl/native/elm/elm_scale.rb
|
246
244
|
- lib/efl/native/elm/elm_scroll.rb
|
247
245
|
- lib/efl/native/elm/elm_scroller.rb
|
@@ -260,7 +258,9 @@ files:
|
|
260
258
|
- lib/efl/native/elm/elm_video.rb
|
261
259
|
- lib/efl/native/elm/elm_web.rb
|
262
260
|
- lib/efl/native/elm/elm_win.rb
|
263
|
-
- lib/efl/native/
|
261
|
+
- lib/efl/native/ethumb.rb
|
262
|
+
- lib/efl/native/ethumb_client.rb
|
263
|
+
- lib/efl/native/ethumb_plugin.rb
|
264
264
|
- lib/efl/native/evas.rb
|
265
265
|
- spec/ecore_evas_spec.rb
|
266
266
|
- spec/ecore_getopt_spec.rb
|
@@ -283,6 +283,7 @@ files:
|
|
283
283
|
- tools/check_specs
|
284
284
|
- tools/extract-api.sh
|
285
285
|
- tools/genruby.rb
|
286
|
+
- tools/install-efl.sh
|
286
287
|
- tools/sed-callbacks
|
287
288
|
- tools/sed-enums
|
288
289
|
- tools/sed-functions
|