summaryrefslogtreecommitdiffstats
path: root/test/elm_win_class.rb
blob: dad9b4ea779c74a634f62cb26775b05db6c275dc (plain)
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