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.
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