oekaki 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README +13 -1
  3. data/lib/oekaki.rb +19 -0
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b1f321ed4c1d1b7940092cc747109a1e57b0d4d2
4
- data.tar.gz: cc7892976dd1f02c0836982a3b76fb0e1437331b
3
+ metadata.gz: 8bb8651b65f22522f8e0ae781362a842be83c3fe
4
+ data.tar.gz: 5b2618380ae75526a375a29104b9bd506dc7da96
5
5
  SHA512:
6
- metadata.gz: ffe5d45f4a564303b039b7e29cf08ec630fe1f892bc28a99f4085e030c5736f1d201ad2274ab19ae63974f1f92d6e259ea17caf8882b5bfc03069b7435ff04e0
7
- data.tar.gz: 3990ab97e9d2aa5082d616d7f977ffdec16535ee3d505d64c0ec31576de9e3b52cffbe3a4291760e7416645a64ed78032fad629d623fc585f1cd564fd35dc034
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
- Gtk.main_quit if e.button != 1
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oekaki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - obelisk