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
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