1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
|