glimmer-dsl-gtk 0.0.4 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +36 -0
- data/README.md +767 -28
- data/VERSION +1 -1
- data/glimmer-dsl-gtk.gemspec +0 -0
- data/lib/glimmer/gtk/shape/arc_negative.rb +70 -0
- data/lib/glimmer/gtk/shape/path.rb +55 -0
- data/lib/glimmer/gtk/shape.rb +71 -21
- data/lib/glimmer/gtk/transformable.rb +93 -0
- data/lib/glimmer/gtk/widget_proxy/drawing_area_proxy.rb +16 -0
- data/samples/cairo/arc.rb +44 -0
- data/samples/cairo/arc_negative.rb +44 -0
- data/samples/cairo/clip.rb +34 -0
- data/samples/cairo/clip_image.rb +33 -0
- data/samples/cairo/curve_to.rb +39 -0
- data/samples/cairo/dashes.rb +30 -0
- data/samples/cairo/fill_and_stroke2.rb +36 -0
- data/samples/cairo/fill_style.rb +43 -0
- data/samples/cairo/gradient.rb +31 -0
- data/samples/cairo/image.rb +28 -0
- data/samples/cairo/image_gradient.rb +37 -0
- data/samples/cairo/multi_segment_caps.rb +27 -0
- data/samples/cairo/rounded_rectangle.rb +20 -0
- data/samples/cairo/set_line_cap.rb +53 -0
- data/samples/cairo/set_line_join.rb +43 -0
- data/samples/cairo/text.rb +46 -0
- data/samples/hello/hello_drawing_area.rb +1 -3
- data/samples/hello/hello_drawing_area_manual.rb +20 -21
- metadata +22 -3
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Fill and Stroke 2'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
path {
|
13
|
+
move_to 128.0, 25.6
|
14
|
+
line_to 230.4, 230.4
|
15
|
+
rel_line_to -102.4, 0.0
|
16
|
+
curve_to 51.2, 230.4, 51.2, 128.0, 128.0, 128.0
|
17
|
+
close_path
|
18
|
+
|
19
|
+
fill 0, 0, 255
|
20
|
+
stroke 0, 0, 0
|
21
|
+
line_width 10
|
22
|
+
}
|
23
|
+
|
24
|
+
path {
|
25
|
+
move_to 64.0, 25.6
|
26
|
+
rel_line_to 51.2, 51.2
|
27
|
+
rel_line_to -51.2, 51.2
|
28
|
+
rel_line_to -51.2, -51.2
|
29
|
+
close_path
|
30
|
+
|
31
|
+
fill 0, 0, 255
|
32
|
+
stroke 0, 0, 0
|
33
|
+
line_width 10
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}.show
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Fill Style'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
path {
|
13
|
+
rectangle 12, 12, 232, 70
|
14
|
+
path { # sub-path
|
15
|
+
arc 64, 64, 40, 0, 2*Math::PI
|
16
|
+
}
|
17
|
+
path { # sub-path
|
18
|
+
arc_negative 192, 64, 40, 0, -2*Math::PI
|
19
|
+
}
|
20
|
+
|
21
|
+
fill_rule Cairo::FILL_RULE_EVEN_ODD
|
22
|
+
line_width 6
|
23
|
+
fill 0, 178.5, 0
|
24
|
+
stroke 0, 0, 0
|
25
|
+
}
|
26
|
+
|
27
|
+
path {
|
28
|
+
rectangle 12, 12, 232, 70
|
29
|
+
path { # sub-path
|
30
|
+
arc 64, 64, 40, 0, 2*Math::PI
|
31
|
+
}
|
32
|
+
path { # sub-path
|
33
|
+
arc_negative 192, 64, 40, 0, -2*Math::PI
|
34
|
+
}
|
35
|
+
|
36
|
+
translate 0, 128
|
37
|
+
fill_rule Cairo::FILL_RULE_WINDING
|
38
|
+
line_width 6
|
39
|
+
fill 0, 0, 229.5
|
40
|
+
stroke 0, 0, 0
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}.show
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Gradient'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
# Create the Linear Pattern
|
13
|
+
rectangle(0, 0, 256, 256) {
|
14
|
+
pat = Cairo::LinearPattern.new(0.0, 0.0, 0.0, 256.0)
|
15
|
+
pat.add_color_stop_rgba(1, 0, 0, 0, 1)
|
16
|
+
pat.add_color_stop_rgba(0, 1, 1, 1, 1)
|
17
|
+
|
18
|
+
fill pat
|
19
|
+
}
|
20
|
+
|
21
|
+
# Create the radial pattern
|
22
|
+
arc(128.0, 128.0, 76.8, 0, 2 * Math::PI) {
|
23
|
+
pat = Cairo::RadialPattern.new(115.2, 102.4, 25.6,
|
24
|
+
102.4, 102.4, 128.0)
|
25
|
+
pat.add_color_stop_rgba(0, 1, 1, 1, 1)
|
26
|
+
pat.add_color_stop_rgba(1, 0, 0, 0, 1)
|
27
|
+
|
28
|
+
fill pat
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}.show
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
require 'net/http'
|
3
|
+
|
4
|
+
image_content = Net::HTTP.get(URI('https://raw.githubusercontent.com/AndyObtiva/glimmer-dsl-gtk/master/images/breaking-blue-wave.png'))
|
5
|
+
image_file = File.join(Dir.home, 'breaking-blue-wave.png')
|
6
|
+
File.write(image_file, image_content)
|
7
|
+
|
8
|
+
include Glimmer
|
9
|
+
|
10
|
+
window {
|
11
|
+
title 'Image'
|
12
|
+
default_size 256, 256
|
13
|
+
|
14
|
+
drawing_area {
|
15
|
+
paint 242.25, 242.25, 242.25
|
16
|
+
|
17
|
+
image = Cairo::ImageSurface.from_png(image_file)
|
18
|
+
w = image.width
|
19
|
+
h = image.height
|
20
|
+
|
21
|
+
translate 128.0, 128.0
|
22
|
+
rotate 45*Math::PI/180
|
23
|
+
scale 256.0/w, 256.0/h
|
24
|
+
translate -0.5*w, -0.5*h
|
25
|
+
|
26
|
+
paint image, 0, 0
|
27
|
+
}
|
28
|
+
}.show
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
require 'net/http'
|
3
|
+
|
4
|
+
image_content = Net::HTTP.get(URI('https://raw.githubusercontent.com/AndyObtiva/glimmer-dsl-gtk/master/images/breaking-blue-wave.png'))
|
5
|
+
image_file = File.join(Dir.home, 'breaking-blue-wave.png')
|
6
|
+
File.write(image_file, image_content)
|
7
|
+
|
8
|
+
include Glimmer
|
9
|
+
|
10
|
+
window {
|
11
|
+
title 'Image Gradient'
|
12
|
+
default_size 256, 256
|
13
|
+
|
14
|
+
drawing_area {
|
15
|
+
paint 242.25, 242.25, 242.25
|
16
|
+
|
17
|
+
image = Cairo::ImageSurface.from_png(image_file)
|
18
|
+
w = image.width
|
19
|
+
h = image.height
|
20
|
+
|
21
|
+
# Load the image as a surface pattern
|
22
|
+
pattern = Cairo::SurfacePattern.new(image)
|
23
|
+
pattern.extend = Cairo::EXTEND_REPEAT
|
24
|
+
|
25
|
+
# Set up the scale matrix
|
26
|
+
pattern.matrix = Cairo::Matrix.scale(w/256.0 * 5.0, h/256.0 * 5.0)
|
27
|
+
|
28
|
+
rectangle(0, 0, 256, 256) {
|
29
|
+
translate 128.0, 128.0
|
30
|
+
rotate Math::PI / 4
|
31
|
+
scale 1/Math.sqrt(2), 1/Math.sqrt(2)
|
32
|
+
translate -128.0, -128.0
|
33
|
+
|
34
|
+
fill pattern
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}.show
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Multi Segment Caps'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
path {
|
13
|
+
move_to 50.0, 75.0
|
14
|
+
line_to 200.0, 75.0
|
15
|
+
|
16
|
+
move_to 50.0, 125.0
|
17
|
+
line_to 200.0, 125.0
|
18
|
+
|
19
|
+
move_to 50.0, 175.0
|
20
|
+
line_to 200.0, 175.0
|
21
|
+
|
22
|
+
line_width 30
|
23
|
+
line_cap Cairo::LINE_CAP_ROUND
|
24
|
+
stroke 0, 0, 0
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}.show
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Rounded Rectangle'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
path {
|
13
|
+
rounded_rectangle(25.6, 25.6, 204.8, 204.8, 20)
|
14
|
+
|
15
|
+
fill 127.5, 127.5, 255
|
16
|
+
line_width 10.0
|
17
|
+
stroke 127.5, 0, 0, 0.5
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}.show
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Set line cap'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
# The main code
|
13
|
+
path {
|
14
|
+
move_to 64.0, 50.0
|
15
|
+
line_to 64.0, 200.0
|
16
|
+
|
17
|
+
line_cap Cairo::LINE_CAP_BUTT # default
|
18
|
+
line_width 30
|
19
|
+
stroke 0, 0, 0
|
20
|
+
}
|
21
|
+
|
22
|
+
path {
|
23
|
+
move_to 128.0, 50.0
|
24
|
+
line_to 128.0, 200.0
|
25
|
+
|
26
|
+
line_cap Cairo::LINE_CAP_ROUND
|
27
|
+
line_width 30
|
28
|
+
stroke 0, 0, 0
|
29
|
+
}
|
30
|
+
|
31
|
+
path {
|
32
|
+
move_to 192.0, 50.0
|
33
|
+
line_to 192.0, 200.0
|
34
|
+
|
35
|
+
line_cap Cairo::LINE_CAP_SQUARE
|
36
|
+
line_width 30
|
37
|
+
stroke 0, 0, 0
|
38
|
+
}
|
39
|
+
|
40
|
+
# draw helping lines */
|
41
|
+
path {
|
42
|
+
move_to 64.0, 50.0
|
43
|
+
line_to 64.0, 200.0
|
44
|
+
move_to 128.0, 50.0
|
45
|
+
line_to 128.0, 200.0
|
46
|
+
move_to 192.0, 50.0
|
47
|
+
line_to 192.0, 200.0
|
48
|
+
|
49
|
+
line_width 2.56
|
50
|
+
stroke 255, 51, 51
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}.show
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Set line join'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
# The main code
|
13
|
+
path {
|
14
|
+
move_to 76.8, 84.48
|
15
|
+
rel_line_to 51.2, -51.2
|
16
|
+
rel_line_to 51.2, 51.2
|
17
|
+
|
18
|
+
line_join Cairo::LINE_JOIN_MITER # default
|
19
|
+
line_width 40.96
|
20
|
+
stroke 0, 0, 0
|
21
|
+
}
|
22
|
+
|
23
|
+
path {
|
24
|
+
move_to 76.8, 161.28
|
25
|
+
rel_line_to 51.2, -51.2
|
26
|
+
rel_line_to 51.2, 51.2
|
27
|
+
|
28
|
+
line_join Cairo::LINE_JOIN_BEVEL
|
29
|
+
line_width 40.96
|
30
|
+
stroke 0, 0, 0
|
31
|
+
}
|
32
|
+
|
33
|
+
path {
|
34
|
+
move_to 76.8, 238.08
|
35
|
+
rel_line_to 51.2, -51.2
|
36
|
+
rel_line_to 51.2, 51.2
|
37
|
+
|
38
|
+
line_join Cairo::LINE_JOIN_ROUND
|
39
|
+
line_width 40.96
|
40
|
+
stroke 0, 0, 0
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}.show
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'glimmer-dsl-gtk'
|
2
|
+
|
3
|
+
include Glimmer
|
4
|
+
|
5
|
+
window {
|
6
|
+
title 'Text'
|
7
|
+
default_size 256, 256
|
8
|
+
|
9
|
+
drawing_area {
|
10
|
+
paint 242.25, 242.25, 242.25
|
11
|
+
|
12
|
+
font_family = OS.linux? ? 'Sans' : (OS.mac? ? 'Helvetica' : 'Arial')
|
13
|
+
|
14
|
+
# The main code
|
15
|
+
path {
|
16
|
+
move_to 10.0, 135.0
|
17
|
+
show_text 'Hello'
|
18
|
+
|
19
|
+
font_face font_family, Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_BOLD
|
20
|
+
font_size 90.0
|
21
|
+
line_width 2.56
|
22
|
+
fill 0, 0, 0
|
23
|
+
stroke 0, 0, 0
|
24
|
+
}
|
25
|
+
|
26
|
+
path {
|
27
|
+
move_to 70.0, 165.0
|
28
|
+
text_path 'void'
|
29
|
+
|
30
|
+
font_face font_family, Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_BOLD
|
31
|
+
font_size 90.0
|
32
|
+
line_width 2.56
|
33
|
+
fill 127.5, 127.5, 255
|
34
|
+
stroke 0, 0, 0
|
35
|
+
}
|
36
|
+
|
37
|
+
# draw helping lines
|
38
|
+
path {
|
39
|
+
arc 10.0, 135.0, 5.12, 0, 2*Math::PI
|
40
|
+
close_path
|
41
|
+
arc 70.0, 165.0, 5.12, 0, 2*Math::PI
|
42
|
+
|
43
|
+
fill 255, 51, 51, 0.6
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}.show
|
@@ -8,61 +8,60 @@ window {
|
|
8
8
|
|
9
9
|
drawing_area {
|
10
10
|
on(:draw) do |drawing_area_widget, cairo_context|
|
11
|
-
cairo_context.
|
12
|
-
cairo_context.
|
13
|
-
cairo_context.fill
|
11
|
+
cairo_context.set_source_rgb(255/255.0, 255/255.0, 255/255.0)
|
12
|
+
cairo_context.paint
|
14
13
|
|
15
14
|
cairo_context.arc(85, 85, 45, (Math::PI/180)*90, -(Math::PI/180)*90)
|
16
15
|
cairo_context.set_source_rgb(255, 0, 0)
|
17
16
|
cairo_context.fill
|
18
17
|
|
19
18
|
cairo_context.arc(85, 85, 45, (Math::PI/180)*90, -(Math::PI/180)*90)
|
20
|
-
cairo_context.set_source_rgb(0, 128, 255)
|
19
|
+
cairo_context.set_source_rgb(0, 128/255.0, 255/255.0)
|
21
20
|
cairo_context.set_line_width(3)
|
22
21
|
cairo_context.stroke
|
23
22
|
|
24
23
|
cairo_context.arc(85, 185, 45, (Math::PI/180)*100, -(Math::PI/180)*30)
|
25
|
-
cairo_context.set_source_rgb(255, 0, 0)
|
24
|
+
cairo_context.set_source_rgb(255/255.0, 0, 0)
|
26
25
|
cairo_context.fill
|
27
26
|
|
28
27
|
cairo_context.arc(85, 185, 45, (Math::PI/180)*100, -(Math::PI/180)*30)
|
29
|
-
cairo_context.set_source_rgb(0, 128, 255)
|
28
|
+
cairo_context.set_source_rgb(0, 128/255.0, 255/255.0)
|
30
29
|
cairo_context.set_line_width(3)
|
31
30
|
cairo_context.stroke
|
32
31
|
|
33
32
|
cairo_context.circle(85, 285, 45)
|
34
|
-
cairo_context.set_source_rgb(255, 0, 0)
|
33
|
+
cairo_context.set_source_rgb(255/255.0, 0, 0)
|
35
34
|
cairo_context.fill
|
36
35
|
|
37
36
|
cairo_context.circle(85, 285, 45)
|
38
|
-
cairo_context.set_source_rgb(0, 128, 255)
|
37
|
+
cairo_context.set_source_rgb(0, 128/255.0, 255/255.0)
|
39
38
|
cairo_context.set_line_width(3)
|
40
39
|
cairo_context.stroke
|
41
40
|
|
42
41
|
cairo_context.rectangle(140, 40, 180, 90)
|
43
|
-
cairo_context.set_source_rgb(255, 255, 0)
|
42
|
+
cairo_context.set_source_rgb(255/255.0, 255/255.0, 0)
|
44
43
|
cairo_context.fill
|
45
44
|
|
46
45
|
cairo_context.rectangle(140, 40, 180, 90)
|
47
|
-
cairo_context.set_source_rgb(255, 0, 0)
|
46
|
+
cairo_context.set_source_rgb(255/255.0, 0, 0)
|
48
47
|
cairo_context.set_line_width(3)
|
49
48
|
cairo_context.stroke
|
50
49
|
|
51
50
|
cairo_context.rounded_rectangle(140, 140, 180, 90, 30, 20)
|
52
|
-
cairo_context.set_source_rgb(255, 255, 0)
|
51
|
+
cairo_context.set_source_rgb(255/255.0, 255/255.0, 0)
|
53
52
|
cairo_context.fill
|
54
53
|
|
55
54
|
cairo_context.rounded_rectangle(140, 140, 180, 90, 30, 20)
|
56
|
-
cairo_context.set_source_rgb(255, 0, 0)
|
55
|
+
cairo_context.set_source_rgb(255/255.0, 0, 0)
|
57
56
|
cairo_context.set_line_width(3)
|
58
57
|
cairo_context.stroke
|
59
58
|
|
60
59
|
cairo_context.triangle(140, 240, 320, 240, 230, 330)
|
61
|
-
cairo_context.set_source_rgb(255, 255, 0)
|
60
|
+
cairo_context.set_source_rgb(255/255.0, 255/255.0, 0)
|
62
61
|
cairo_context.fill
|
63
62
|
|
64
63
|
cairo_context.triangle(140, 240, 320, 240, 230, 330)
|
65
|
-
cairo_context.set_source_rgb(255, 0, 0)
|
64
|
+
cairo_context.set_source_rgb(255/255.0, 0, 0)
|
66
65
|
cairo_context.set_line_width(3)
|
67
66
|
cairo_context.stroke
|
68
67
|
|
@@ -71,7 +70,7 @@ window {
|
|
71
70
|
cairo_context.curve_to 190, 60, 200, 80, 210, 70
|
72
71
|
cairo_context.curve_to 240, 80, 250, 100, 260, 90
|
73
72
|
cairo_context.curve_to 290, 90, 300, 110, 310, 100
|
74
|
-
cairo_context.set_source_rgb(0, 255, 0)
|
73
|
+
cairo_context.set_source_rgb(0, 255/255.0, 0)
|
75
74
|
cairo_context.fill
|
76
75
|
|
77
76
|
cairo_context.new_path
|
@@ -79,7 +78,7 @@ window {
|
|
79
78
|
cairo_context.curve_to 190, 60, 200, 80, 210, 70
|
80
79
|
cairo_context.curve_to 240, 80, 250, 100, 260, 90
|
81
80
|
cairo_context.curve_to 290, 90, 300, 110, 310, 100
|
82
|
-
cairo_context.set_source_rgb(0, 0, 255)
|
81
|
+
cairo_context.set_source_rgb(0, 0, 255/255.0)
|
83
82
|
cairo_context.stroke
|
84
83
|
|
85
84
|
cairo_context.new_path
|
@@ -90,7 +89,7 @@ window {
|
|
90
89
|
cairo_context.line_to 200, 200
|
91
90
|
cairo_context.line_to 180, 170
|
92
91
|
cairo_context.close_path
|
93
|
-
cairo_context.set_source_rgb(0, 255, 0)
|
92
|
+
cairo_context.set_source_rgb(0, 255/255.0, 0)
|
94
93
|
cairo_context.fill
|
95
94
|
|
96
95
|
cairo_context.new_path
|
@@ -101,7 +100,7 @@ window {
|
|
101
100
|
cairo_context.line_to 200, 200
|
102
101
|
cairo_context.line_to 180, 170
|
103
102
|
cairo_context.close_path
|
104
|
-
cairo_context.set_source_rgb(0, 0, 255)
|
103
|
+
cairo_context.set_source_rgb(0, 0, 255/255.0)
|
105
104
|
cairo_context.stroke
|
106
105
|
|
107
106
|
cairo_context.new_path
|
@@ -112,7 +111,7 @@ window {
|
|
112
111
|
cairo_context.line_to 200, 280
|
113
112
|
cairo_context.line_to 180, 270
|
114
113
|
cairo_context.close_path
|
115
|
-
cairo_context.set_source_rgb(0, 255, 0)
|
114
|
+
cairo_context.set_source_rgb(0, 255/255.0, 0)
|
116
115
|
cairo_context.fill
|
117
116
|
|
118
117
|
cairo_context.new_path
|
@@ -123,7 +122,7 @@ window {
|
|
123
122
|
cairo_context.line_to 200, 280
|
124
123
|
cairo_context.line_to 180, 270
|
125
124
|
cairo_context.close_path
|
126
|
-
cairo_context.set_source_rgb(0, 0, 255)
|
125
|
+
cairo_context.set_source_rgb(0, 0, 255/255.0)
|
127
126
|
cairo_context.stroke
|
128
127
|
|
129
128
|
cairo_context.new_path
|
@@ -133,7 +132,7 @@ window {
|
|
133
132
|
cairo_context.line_to 220, 340
|
134
133
|
cairo_context.line_to 200, 330
|
135
134
|
cairo_context.line_to 180, 320
|
136
|
-
cairo_context.set_source_rgb(0, 0, 255)
|
135
|
+
cairo_context.set_source_rgb(0, 0, 255/255.0)
|
137
136
|
cairo_context.stroke
|
138
137
|
end
|
139
138
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-gtk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -142,7 +142,8 @@ dependencies:
|
|
142
142
|
- - ">"
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
|
-
description: Glimmer DSL for GTK - Ruby-GNOME Desktop Development GUI Library
|
145
|
+
description: Glimmer DSL for GTK - Ruby-GNOME Desktop Development GUI Library - Supports
|
146
|
+
all GTK widgets and Cairo graphics
|
146
147
|
email: andy.am@gmail.com
|
147
148
|
executables:
|
148
149
|
- girb
|
@@ -170,6 +171,7 @@ files:
|
|
170
171
|
- lib/glimmer/gtk.rb
|
171
172
|
- lib/glimmer/gtk/shape.rb
|
172
173
|
- lib/glimmer/gtk/shape/arc.rb
|
174
|
+
- lib/glimmer/gtk/shape/arc_negative.rb
|
173
175
|
- lib/glimmer/gtk/shape/circle.rb
|
174
176
|
- lib/glimmer/gtk/shape/path.rb
|
175
177
|
- lib/glimmer/gtk/shape/polygon.rb
|
@@ -178,12 +180,29 @@ files:
|
|
178
180
|
- lib/glimmer/gtk/shape/rounded_rectangle.rb
|
179
181
|
- lib/glimmer/gtk/shape/square.rb
|
180
182
|
- lib/glimmer/gtk/shape/triangle.rb
|
183
|
+
- lib/glimmer/gtk/transformable.rb
|
181
184
|
- lib/glimmer/gtk/widget_proxy.rb
|
182
185
|
- lib/glimmer/gtk/widget_proxy/application_proxy.rb
|
183
186
|
- lib/glimmer/gtk/widget_proxy/box_proxy.rb
|
184
187
|
- lib/glimmer/gtk/widget_proxy/drawing_area_proxy.rb
|
185
188
|
- lib/glimmer/gtk/widget_proxy/message_dialog_proxy.rb
|
186
189
|
- lib/glimmer/gtk/widget_proxy/window_proxy.rb
|
190
|
+
- samples/cairo/arc.rb
|
191
|
+
- samples/cairo/arc_negative.rb
|
192
|
+
- samples/cairo/clip.rb
|
193
|
+
- samples/cairo/clip_image.rb
|
194
|
+
- samples/cairo/curve_to.rb
|
195
|
+
- samples/cairo/dashes.rb
|
196
|
+
- samples/cairo/fill_and_stroke2.rb
|
197
|
+
- samples/cairo/fill_style.rb
|
198
|
+
- samples/cairo/gradient.rb
|
199
|
+
- samples/cairo/image.rb
|
200
|
+
- samples/cairo/image_gradient.rb
|
201
|
+
- samples/cairo/multi_segment_caps.rb
|
202
|
+
- samples/cairo/rounded_rectangle.rb
|
203
|
+
- samples/cairo/set_line_cap.rb
|
204
|
+
- samples/cairo/set_line_join.rb
|
205
|
+
- samples/cairo/text.rb
|
187
206
|
- samples/elaborate/tetris.rb
|
188
207
|
- samples/elaborate/tetris/model/block.rb
|
189
208
|
- samples/elaborate/tetris/model/game.rb
|