ffi-efl 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog +12 -0
- data/Rakefile +1 -1
- data/lib/efl/ecore.rb +17 -6
- data/lib/efl/ecore_evas.rb +78 -24
- data/lib/efl/ecore_getopt.rb +27 -23
- data/lib/efl/ecore_input.rb +1 -1
- data/lib/efl/edje.rb +11 -11
- data/lib/efl/eet.rb +20 -14
- data/lib/efl/eina.rb +1 -1
- data/lib/efl/eina_hash.rb +17 -30
- data/lib/efl/eina_list.rb +16 -25
- data/lib/efl/elementary.rb +8 -19
- data/lib/efl/evas.rb +167 -38
- data/lib/efl/ffi.rb +28 -17
- data/lib/efl/{ffi → native}/ecore.rb +9 -5
- data/lib/efl/{ffi → native}/ecore_evas.rb +27 -20
- data/lib/efl/{ffi → native}/ecore_getopt.rb +9 -5
- data/lib/efl/{ffi → native}/ecore_input.rb +9 -5
- data/lib/efl/{ffi → native}/edje.rb +14 -10
- data/lib/efl/{ffi → native}/eet.rb +9 -5
- data/lib/efl/{ffi → native}/eina.rb +9 -5
- data/lib/efl/{ffi → native}/eina_hash.rb +9 -5
- data/lib/efl/{ffi → native}/eina_list.rb +9 -5
- data/lib/efl/{ffi → native}/eina_types.rb +9 -5
- data/lib/efl/{ffi → native}/elementary.rb +70 -66
- data/lib/efl/{ffi → native}/evas.rb +11 -7
- data/lib/efl/native.rb +16 -0
- data/lib/efl.rb +1 -1
- data/spec/ecore_evas_spec.rb +325 -6
- data/spec/ecore_getopt_spec.rb +70 -104
- data/spec/ecore_input_spec.rb +6 -6
- data/spec/ecore_spec.rb +63 -60
- data/spec/edje_spec.rb +6 -6
- data/spec/eet_spec.rb +23 -22
- data/spec/eina_hash_spec.rb +53 -58
- data/spec/eina_list_spec.rb +28 -18
- data/spec/eina_spec.rb +6 -6
- data/spec/evas_spec.rb +371 -119
- data/tasks/constants.rb +4 -0
- data/test/test_edje.rb +1 -1
- data/test/test_elm_win-native.rb +38 -0
- data/test/test_evas.rb +4 -4
- metadata +32 -20
- data/test/test_elm_win.rb +0 -35
data/tasks/constants.rb
CHANGED
@@ -104,6 +104,10 @@ end
|
|
104
104
|
HAVE_SVN = (Dir.entries(Dir.pwd).include?('.svn') and system("svn --version 2>&1 > #{DEV_NULL}"))
|
105
105
|
HAVE_GIT = (Dir.entries(Dir.pwd).include?('.git') and system("git --version 2>&1 > #{DEV_NULL}"))
|
106
106
|
|
107
|
+
# Add rake as a development dependency
|
108
|
+
#
|
109
|
+
PROJ.gem.development_dependencies << ['rake', '>=0.8.7']
|
110
|
+
|
107
111
|
# Add bones as a development dependency
|
108
112
|
#
|
109
113
|
if HAVE_BONES
|
data/test/test_edje.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native' # requires efl/native/* which populates Efl::Native
|
5
|
+
require 'efl/elementary' # for Efl::Elm.init convenience
|
6
|
+
#
|
7
|
+
include Efl::Native
|
8
|
+
#
|
9
|
+
Efl::Elm.init
|
10
|
+
#
|
11
|
+
win_del = Proc.new { |data,evas_object,event_info|
|
12
|
+
elm_exit();
|
13
|
+
}
|
14
|
+
#
|
15
|
+
win = elm_win_add nil, "App name", :elm_win_basic
|
16
|
+
elm_win_title_set win, "Window title"
|
17
|
+
evas_object_smart_callback_add win, "delete,request", win_del, nil
|
18
|
+
#
|
19
|
+
bg = elm_bg_add win
|
20
|
+
evas_object_size_hint_weight_set bg, 1.0, 1.0
|
21
|
+
elm_win_resize_object_add win, bg
|
22
|
+
evas_object_show bg
|
23
|
+
#
|
24
|
+
lb = elm_label_add win
|
25
|
+
elm_label_label_set lb, "Hello World!"
|
26
|
+
evas_object_size_hint_weight_set lb, 1.0, 1.0
|
27
|
+
elm_win_resize_object_add win, lb
|
28
|
+
evas_object_show lb
|
29
|
+
#
|
30
|
+
evas_object_move win, 300, 300
|
31
|
+
evas_object_resize win, 200, 100
|
32
|
+
#
|
33
|
+
evas_object_show win
|
34
|
+
#
|
35
|
+
elm_run
|
36
|
+
elm_shutdown
|
37
|
+
#
|
38
|
+
# EOF
|
data/test/test_evas.rb
CHANGED
@@ -13,8 +13,8 @@ def create_canvas w, h
|
|
13
13
|
e.output_method_set Evas::render_method_lookup("buffer")
|
14
14
|
e.output_viewport_set 0, 0, w, h
|
15
15
|
e.output_size_set w, h
|
16
|
-
einfo =
|
17
|
-
einfo[:info][:depth_type] =
|
16
|
+
einfo = Native::EngineInfoBufferStruct.new e.engine_info_get
|
17
|
+
einfo[:info][:depth_type] = Evas::EVAS_ENGINE_BUFFER_DEPTH_ARGB32
|
18
18
|
einfo[:info][:dest_buffer] = pixels
|
19
19
|
einfo[:info][:dest_buffer_row_bytes] = w * FFI::type_size(:int);
|
20
20
|
einfo[:info][:use_color_key] = 0;
|
@@ -32,7 +32,7 @@ end
|
|
32
32
|
#
|
33
33
|
def draw_scene c
|
34
34
|
updates = c.render_updates
|
35
|
-
Evas
|
35
|
+
Evas.render_updates_free updates
|
36
36
|
# FIXME needs EinaRectangle
|
37
37
|
# require 'efl/eina/eina_list'
|
38
38
|
# updates = Eina::EinaList.new c.render_updates
|
@@ -44,7 +44,7 @@ def draw_scene c
|
|
44
44
|
end
|
45
45
|
#
|
46
46
|
def save_scene canvas, dest
|
47
|
-
einfo =
|
47
|
+
einfo = Native::EngineInfoBufferStruct.new canvas.engine_info_get
|
48
48
|
w, h = canvas.output_size_get
|
49
49
|
# PPM P6 format is dead simple to write:
|
50
50
|
p = FFI::Pointer.new :int, einfo[:info][:dest_buffer]
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: ffi-efl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- "J\xC3\xA9r\xC3\xA9my Zurcher"
|
@@ -10,31 +10,42 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-05 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
17
|
+
name: ffi
|
18
18
|
prerelease: false
|
19
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ">="
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version: 0.
|
24
|
+
version: 1.0.7
|
25
25
|
type: :runtime
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rake
|
29
29
|
prerelease: false
|
30
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
35
|
+
version: 0.8.7
|
36
36
|
type: :development
|
37
37
|
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: bones
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 3.6.5
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id003
|
38
49
|
description: A ruby-ffi binding to efl libraries (Enlightenment Foundation Libraries).
|
39
50
|
email: jeremy@asynk.ch
|
40
51
|
executables: []
|
@@ -61,18 +72,19 @@ files:
|
|
61
72
|
- lib/efl/elementary.rb
|
62
73
|
- lib/efl/evas.rb
|
63
74
|
- lib/efl/ffi.rb
|
64
|
-
- lib/efl/
|
65
|
-
- lib/efl/
|
66
|
-
- lib/efl/
|
67
|
-
- lib/efl/
|
68
|
-
- lib/efl/
|
69
|
-
- lib/efl/
|
70
|
-
- lib/efl/
|
71
|
-
- lib/efl/
|
72
|
-
- lib/efl/
|
73
|
-
- lib/efl/
|
74
|
-
- lib/efl/
|
75
|
-
- lib/efl/
|
75
|
+
- lib/efl/native.rb
|
76
|
+
- lib/efl/native/ecore.rb
|
77
|
+
- lib/efl/native/ecore_evas.rb
|
78
|
+
- lib/efl/native/ecore_getopt.rb
|
79
|
+
- lib/efl/native/ecore_input.rb
|
80
|
+
- lib/efl/native/edje.rb
|
81
|
+
- lib/efl/native/eet.rb
|
82
|
+
- lib/efl/native/eina.rb
|
83
|
+
- lib/efl/native/eina_hash.rb
|
84
|
+
- lib/efl/native/eina_list.rb
|
85
|
+
- lib/efl/native/eina_types.rb
|
86
|
+
- lib/efl/native/elementary.rb
|
87
|
+
- lib/efl/native/evas.rb
|
76
88
|
- spec/ecore_evas_spec.rb
|
77
89
|
- spec/ecore_getopt_spec.rb
|
78
90
|
- spec/ecore_input_spec.rb
|
@@ -98,7 +110,7 @@ files:
|
|
98
110
|
- tasks/svn.rake
|
99
111
|
- tasks/test.rake
|
100
112
|
- test/test_edje.rb
|
101
|
-
- test/test_elm_win.rb
|
113
|
+
- test/test_elm_win-native.rb
|
102
114
|
- test/test_elm_win_class.rb
|
103
115
|
- test/test_evas.rb
|
104
116
|
has_rdoc: true
|
@@ -134,6 +146,6 @@ specification_version: 3
|
|
134
146
|
summary: A ruby-ffi binding to efl libraries (Enlightenment Foundation Libraries)
|
135
147
|
test_files:
|
136
148
|
- test/test_evas.rb
|
149
|
+
- test/test_elm_win-native.rb
|
137
150
|
- test/test_edje.rb
|
138
151
|
- test/test_elm_win_class.rb
|
139
|
-
- test/test_elm_win.rb
|
data/test/test_elm_win.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
|
-
# -*- coding: UTF-8 -*-
|
3
|
-
#
|
4
|
-
require 'efl/elementary'
|
5
|
-
#
|
6
|
-
Efl::Elm.init
|
7
|
-
#
|
8
|
-
win_del = Proc.new { |data,evas_object,event_info|
|
9
|
-
Efl::Elm.elm_exit();
|
10
|
-
}
|
11
|
-
#
|
12
|
-
win = Efl::Elm.elm_win_add FFI::MemoryPointer::NULL, "App name", :elm_win_basic
|
13
|
-
Efl::Elm.elm_win_title_set win, "Window title"
|
14
|
-
Efl::Evas.evas_object_smart_callback_add win, "delete,request", win_del, FFI::MemoryPointer::NULL
|
15
|
-
#
|
16
|
-
bg = Efl::Elm.elm_bg_add win
|
17
|
-
Efl::Evas.evas_object_size_hint_weight_set bg, 1.0, 1.0
|
18
|
-
Efl::Elm.elm_win_resize_object_add win, bg
|
19
|
-
Efl::Evas.evas_object_show bg
|
20
|
-
#
|
21
|
-
lb = Efl::Elm.elm_label_add win
|
22
|
-
Efl::Elm.elm_label_label_set lb, "Hello World!"
|
23
|
-
Efl::Evas.evas_object_size_hint_weight_set lb, 1.0, 1.0
|
24
|
-
Efl::Elm.elm_win_resize_object_add win, lb
|
25
|
-
Efl::Evas.evas_object_show lb
|
26
|
-
#
|
27
|
-
Efl::Evas.evas_object_move win, 300, 300
|
28
|
-
Efl::Evas.evas_object_resize win, 200, 100
|
29
|
-
#
|
30
|
-
Efl::Evas.evas_object_show win
|
31
|
-
#
|
32
|
-
Efl::Elm.run
|
33
|
-
Efl::Elm.shutdown
|
34
|
-
#
|
35
|
-
# EOF
|