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.
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
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
@@ -1,4 +1,4 @@
1
- #! /usr/bin/env ruby
1
+ #! /usr/bin/env ruby
2
2
  # -*- coding: UTF-8 -*-
3
3
  #
4
4
  require 'efl/eina'
@@ -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 = Efl::Evas::EngineInfoBufferStruct.new e.engine_info_get
17
- einfo[:info][:depth_type] = Efl::Evas::EVAS_ENGINE_BUFFER_DEPTH_ARGB32
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::render_updates_free updates
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 = Efl::Evas::EngineInfoBufferStruct.new canvas.engine_info_get
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.3
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-01 00:00:00 +02:00
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: rake
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.8.7
24
+ version: 1.0.7
25
25
  type: :runtime
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
28
- name: bones
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: 3.6.5
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/ffi/ecore.rb
65
- - lib/efl/ffi/ecore_evas.rb
66
- - lib/efl/ffi/ecore_getopt.rb
67
- - lib/efl/ffi/ecore_input.rb
68
- - lib/efl/ffi/edje.rb
69
- - lib/efl/ffi/eet.rb
70
- - lib/efl/ffi/eina.rb
71
- - lib/efl/ffi/eina_hash.rb
72
- - lib/efl/ffi/eina_list.rb
73
- - lib/efl/ffi/eina_types.rb
74
- - lib/efl/ffi/elementary.rb
75
- - lib/efl/ffi/evas.rb
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