summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2011-04-20 17:43:48 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2011-04-20 17:43:48 +0200
commit6865df2bd776a80afc485e23b223ac1dac289b86 (patch)
tree7ec0c5a714eb0ed184cf96fe4521d05cea2d3fa6 /test
parent1e52dc26575a472fd108e187bda2cd2447a387cc (diff)
downloadffi-efl-6865df2bd776a80afc485e23b223ac1dac289b86.zip
ffi-efl-6865df2bd776a80afc485e23b223ac1dac289b86.tar.gz
add elementary ffi + quick and dirty test window
Diffstat (limited to 'test')
-rw-r--r--test/elm_win.rb38
-rw-r--r--test/elm_win_class.rb43
2 files changed, 81 insertions, 0 deletions
diff --git a/test/elm_win.rb b/test/elm_win.rb
new file mode 100644
index 0000000..58c9462
--- /dev/null
+++ b/test/elm_win.rb
@@ -0,0 +1,38 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'efl/elementary'
+#
+include Efl
+#
+puts Elm.init
+
+win_del = Proc.new { |data,evas_object,event_info|
+ Efl::API.elm_exit();
+}
+
+win = Efl::API.elm_win_add FFI::MemoryPointer::NULL, "App name", :elm_win_basic
+Efl::API.elm_win_title_set win, "Window title"
+Efl::API.evas_object_smart_callback_add win, "delete,request", win_del, FFI::MemoryPointer::NULL
+
+bg = Efl::API.elm_bg_add win
+Efl::API.evas_object_size_hint_weight_set bg, 1.0, 1.0
+Efl::API.elm_win_resize_object_add win, bg
+Efl::API.evas_object_show bg
+
+lb = Efl::API.elm_label_add win
+Efl::API.elm_label_label_set lb, "Hello World!"
+Efl::API.evas_object_size_hint_weight_set lb, 1.0, 1.0
+Efl::API.elm_win_resize_object_add win, lb
+Efl::API.evas_object_show lb
+
+Efl::API.evas_object_move win, 300, 300
+Efl::API.evas_object_resize win, 200, 100
+
+Efl::API.evas_object_show win
+
+Elm.run
+puts Elm.shutdown
+#
+# EOF
+
diff --git a/test/elm_win_class.rb b/test/elm_win_class.rb
new file mode 100644
index 0000000..dad9b4e
--- /dev/null
+++ b/test/elm_win_class.rb
@@ -0,0 +1,43 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'efl/elementary'
+#
+include Efl
+#
+puts Elm.init
+
+class MyWin < Elm::ElmWin
+ def initialize name, title
+ super FFI::MemoryPointer::NULL, name
+ win_title_set title
+ feed
+ Efl::API.evas_object_smart_callback_add @ptr, "delete,request", method(:exit), FFI::MemoryPointer::NULL
+ end
+ def feed
+ @bg = add 'bg'
+ Efl::API.evas_object_size_hint_weight_set @bg, 1.0, 1.0
+ resize_object_add @bg
+ Efl::API.evas_object_show @bg
+ @lb = add 'label'
+ Efl::API.elm_label_label_set @lb, "Hello World!"
+ Efl::API.evas_object_size_hint_weight_set @lb, 1.0, 1.0
+ resize_object_add @lb
+ Efl::API.evas_object_show @lb
+ end
+ def exit *args
+ Efl::API.elm_exit();
+ end
+end
+#
+win = MyWin.new "App name", "Window Title" do |w|
+ Efl::API.evas_object_move w.ptr, 300, 300
+ Efl::API.evas_object_resize w.ptr, 200, 100
+ Efl::API.evas_object_show w.ptr
+end
+
+Elm.run
+puts Elm.shutdown
+#
+# EOF
+