diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2011-04-20 17:43:48 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2011-04-20 17:43:48 +0200 |
commit | 6865df2bd776a80afc485e23b223ac1dac289b86 (patch) | |
tree | 7ec0c5a714eb0ed184cf96fe4521d05cea2d3fa6 /test | |
parent | 1e52dc26575a472fd108e187bda2cd2447a387cc (diff) | |
download | ffi-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.rb | 38 | ||||
-rw-r--r-- | test/elm_win_class.rb | 43 |
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 + |