gtk2svg 0.2.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/gtk2svg.rb +22 -4
- data.tar.gz.sig +0 -0
- metadata +21 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f33931e9f61d6c9e991b3ee225314749df9da2f3
|
4
|
+
data.tar.gz: 5286219c0ef5102a35d1924081f76ce14dbc9119
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 577683577cedfc3c4a092aa0cbaaddcc21c1899001c1dd414832ecc1b428c57fce4bf077b75fa327608efcb23aa49493b9113ac66d0994e7cec535db61696c5c
|
7
|
+
data.tar.gz: 01688463c05b3af1bc7b7b04c32346a1ba5d478b1e9930ef61c9e25fc700c2c77fc4698d6bde7e9f1ca953df444e4efc5adebb2b4f3bd28dea8931f942015aa7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/gtk2svg.rb
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
require 'gtk2'
|
6
6
|
require 'dom_render'
|
7
|
+
require 'svgle'
|
7
8
|
|
8
9
|
|
9
10
|
# Description: Experimental gem to render SVG within an GTK2 application.
|
@@ -60,7 +61,7 @@ module Gtk2SVG
|
|
60
61
|
style = e2.style
|
61
62
|
style[:stroke_width] = style.delete(:'stroke-width') || '3'
|
62
63
|
|
63
|
-
x1, y1, x2, y2 = %i(
|
64
|
+
x1, y1, x2, y2 = %i(x1 y1 x2 y2).map{|x| h[x].to_i }
|
64
65
|
|
65
66
|
[:draw_line, [x1, y1, x2, y2], style, render_all(e)]
|
66
67
|
end
|
@@ -209,20 +210,32 @@ module Gtk2SVG
|
|
209
210
|
|
210
211
|
class Main
|
211
212
|
|
212
|
-
attr_accessor :svg
|
213
|
+
attr_accessor :doc, :svg
|
214
|
+
attr_reader :width, :height
|
213
215
|
|
214
216
|
def initialize(svg)
|
215
217
|
|
216
218
|
@svg = svg
|
219
|
+
@doc = Svgle.new(svg)
|
217
220
|
@area = area = Gtk::DrawingArea.new
|
218
221
|
|
222
|
+
window = Gtk::Window.new
|
223
|
+
width, height = %i(width height).map{|x| @doc.root.attributes[x] }
|
224
|
+
|
225
|
+
if width and height then
|
226
|
+
@width, @height = width.to_i, height.to_i
|
227
|
+
window.set_default_size(@width, @height)
|
228
|
+
end
|
229
|
+
|
219
230
|
area.signal_connect("expose_event") do
|
220
|
-
a = Render.new(@
|
231
|
+
a = Render.new(@doc).to_a
|
221
232
|
drawing = DrawingInstructions.new area
|
222
233
|
drawing.render a
|
223
234
|
end
|
224
235
|
|
225
|
-
|
236
|
+
window.add(area).show_all
|
237
|
+
window.show_all.signal_connect("destroy"){Gtk.main_quit}
|
238
|
+
|
226
239
|
Thread.new {Gtk.main }
|
227
240
|
end
|
228
241
|
|
@@ -230,6 +243,11 @@ module Gtk2SVG
|
|
230
243
|
@area.queue_draw
|
231
244
|
end
|
232
245
|
|
246
|
+
def svg=(svg)
|
247
|
+
@svg = svg
|
248
|
+
@doc = Svgle.new(svg)
|
249
|
+
end
|
250
|
+
|
233
251
|
end
|
234
252
|
end
|
235
253
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gtk2svg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -73,6 +73,26 @@ dependencies:
|
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.2.0
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: svgle
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.1'
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 0.1.0
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0.1'
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 0.1.0
|
76
96
|
description:
|
77
97
|
email: james@r0bertson.co.uk
|
78
98
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|