oekaki 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README +13 -1
- data/lib/oekaki.rb +19 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bb8651b65f22522f8e0ae781362a842be83c3fe
|
4
|
+
data.tar.gz: 5b2618380ae75526a375a29104b9bd506dc7da96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd60b1fdb992d66a759eab9bc8d324b3f4ee1a3a616b64495e6ac57b9e3199b548d64760373104702c9357aeb7bf33eb030863ad868de9652eae5b79c599b7f9
|
7
|
+
data.tar.gz: 785d66f52b20bf89d3b6550038d536d76f972b2987557e61e622fa8e58306decaccb98b1728a20cfc3af361eb823513c1ee8a75aec464a2871956646d20c2caf
|
data/README
CHANGED
@@ -92,8 +92,20 @@
|
|
92
92
|
rectangle(true, 0, 0, L, L)
|
93
93
|
end
|
94
94
|
|
95
|
+
quit_window = proc do
|
96
|
+
make_window do
|
97
|
+
title = ""
|
98
|
+
b = button do
|
99
|
+
set_size_request(120, 40)
|
100
|
+
add(Gtk::Label.new.set_markup('<span size="x-large">Quit!</span>'))
|
101
|
+
signal_connect("clicked") {Gtk.main_quit}
|
102
|
+
end
|
103
|
+
add(b)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
95
107
|
mouse_button do |w, e|
|
96
|
-
|
108
|
+
quit_window.call if e.button != 1
|
97
109
|
color(rand(65536), rand(65536), rand(65536))
|
98
110
|
arc(true, e.x - R, e.y - R, R * 2, R * 2, 0, 64 * 360)
|
99
111
|
end
|
data/lib/oekaki.rb
CHANGED
@@ -4,12 +4,14 @@ module Oekaki
|
|
4
4
|
W = Gtk::Window.new
|
5
5
|
class Tool
|
6
6
|
def initialize
|
7
|
+
@window = W
|
7
8
|
@drawable = W.window
|
8
9
|
@gc = Gdk::GC.new(@drawable)
|
9
10
|
@colormap = Gdk::Colormap.system
|
10
11
|
@color = Gdk::Color.new(0, 0, 0)
|
11
12
|
@fontdesc = Pango::FontDescription.new
|
12
13
|
end
|
14
|
+
attr_reader :window
|
13
15
|
|
14
16
|
def color(r, g, b)
|
15
17
|
@color = Gdk::Color.new(r, g, b)
|
@@ -60,6 +62,7 @@ module Oekaki
|
|
60
62
|
@color = color if color
|
61
63
|
@gc.set_foreground(@color)
|
62
64
|
end
|
65
|
+
private :set_color
|
63
66
|
|
64
67
|
def load_pic(filename)
|
65
68
|
GdkPixbuf::Pixbuf.new(file: filename)
|
@@ -99,6 +102,13 @@ module Oekaki
|
|
99
102
|
W.add_events(Gdk::Event::BUTTON_PRESS_MASK)
|
100
103
|
W.signal_connect("button_press_event", &bk)
|
101
104
|
end
|
105
|
+
|
106
|
+
def make_window(&bk)
|
107
|
+
w = Gtk::Window.new
|
108
|
+
w.instance_eval(&bk)
|
109
|
+
w.show_all
|
110
|
+
w
|
111
|
+
end
|
102
112
|
end
|
103
113
|
|
104
114
|
def self.app(width: 300, height: 300, title: "oekaki", &bk)
|
@@ -109,7 +119,16 @@ module Oekaki
|
|
109
119
|
|
110
120
|
Event.new.instance_eval(&bk)
|
111
121
|
|
122
|
+
W.signal_connect("destroy") {Gtk.main_quit}
|
112
123
|
W.show
|
113
124
|
Gtk.main
|
114
125
|
end
|
115
126
|
end
|
127
|
+
|
128
|
+
class Gtk::Window
|
129
|
+
def button(&bk)
|
130
|
+
b = Gtk::Button.new
|
131
|
+
b.instance_eval(&bk)
|
132
|
+
b
|
133
|
+
end
|
134
|
+
end
|