summaryrefslogtreecommitdiffstats
path: root/test/test_elm_win_class.rb
blob: 5aa3491aab7d2978901c38a8032dda94c45e2c36 (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
44
45
46
47
48
49
50
51
#! /usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
require 'efl/elementary'
#
include Efl
#
DATA = FFI::MemoryPointer.from_string("my data")
#
class MyWin < Elm::ElmWin
    def initialize name, title
        super FFI::MemoryPointer::NULL, name
        title_set title
        feed
        smart_callback_add "delete,request", method(:exit), DATA
    end
    def feed
        # using block
        @bg = add 'bg' do |bg|
            bg.size_hint_weight_set 1.0, 1.0
            bg.color = 200,255,100,200 # same as bg.color_set 200,255,100,200
            bg.show
        end
        resize_object_add @bg.to_ptr
        @lb = add 'label'do |lb|
            lb.label_label_set "Hello World!"   # complete function name
            lb.size_hint_weight_set 1.0, 1.0    # implicit evas_object function name prefix
        end
        @lb.show
        resize_object_add @lb.to_ptr
    end
    def exit data, evas_object, event_info
        puts "EXIT #{data.read_string}"
        Elm.exit
    end
end
#
Elm.init
#
win = MyWin.new "App name", "Window Title" do |w,eo|
    w.alpha_set true
    eo.move 300, 300
    eo.resize 200, 100
    eo.show
end
#
Elm.run
Elm.shutdown
#
# EOF