minigl 2.0.4 → 2.0.5
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.md +8 -6
- data/lib/minigl/forms.rb +10 -1
- data/lib/minigl/game_object.rb +8 -8
- data/lib/minigl/global.rb +1 -1
- data/lib/minigl/movement.rb +36 -25
- data/test/game.rb +22 -6
- data/test/mov_game.rb +12 -12
- metadata +2 -10
- data/test/data/img/barfgl.png +0 -0
- data/test/data/img/barfgl.svg +0 -127
- data/test/data/img/barfgr.png +0 -0
- data/test/data/img/barfgr.svg +0 -135
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59a470da63cb5c4c17b9d980b5dd01523813c0f1
|
4
|
+
data.tar.gz: 09b1aa58f421e06a697208b872a103663ff8f0f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d006bec2dd92ea67a2b21f6509c9f7a104ca7055592862f2f0173124f59edaeb03e2ca8efc1dadc6801758a9cdabb5ece287c1c50754f7a34a88be82c2b0fc4
|
7
|
+
data.tar.gz: 5664c64facfa2d3b3f670e1542ae380734fafab5d6b0f0d3b4e76a6b66da81a97859cd21e812ed17e6fc60880de360af0e86a2e23006526e9d4f05d44efb37b9
|
data/README.md
CHANGED
@@ -32,9 +32,11 @@ examples provided with the gem.
|
|
32
32
|
* An auxiliary, tutorial-like documentation is under construction
|
33
33
|
[here](https://github.com/victords/minigl/wiki/How-To).
|
34
34
|
|
35
|
-
## Version 2.0.
|
36
|
-
|
37
|
-
*
|
38
|
-
*
|
39
|
-
|
40
|
-
`
|
35
|
+
## Version 2.0.5
|
36
|
+
|
37
|
+
* Further refined the ramp physics.
|
38
|
+
* Flexibilized the `move_free` method with the possibility of passing an angle
|
39
|
+
as argument, instead of a point.
|
40
|
+
* Added `on_changed` event for the `DropDownList` control.
|
41
|
+
* Adjusted `draw` in `Sprite` and `GameObject` so that, when drawing objects
|
42
|
+
rotated or not rotated, the origin of the image is consistent.
|
data/lib/minigl/forms.rb
CHANGED
@@ -1041,13 +1041,16 @@ module MiniGL
|
|
1041
1041
|
# [disabled_text_color] Analogous to +text_color+.
|
1042
1042
|
# [over_text_color] Same as above.
|
1043
1043
|
# [down_text_color] Same as above.
|
1044
|
+
# [on_changed] Action performed when the value of the dropdown is changed.
|
1045
|
+
# It must be a block with two parameters, which will receive
|
1046
|
+
# the old and the new value, respectively.
|
1044
1047
|
#
|
1045
1048
|
# *Obs.:* This method accepts named parameters, but +x+, +y+, +font+ and
|
1046
1049
|
# +options+ are mandatory (also, +img+ and +opt_img+ are mandatory when
|
1047
1050
|
# +width+ and +height+ are not provided, and vice-versa).
|
1048
1051
|
def initialize(x, y = nil, font = nil, img = nil, opt_img = nil, options = nil,
|
1049
1052
|
option = 0, text_margin = 0, width = nil, height = nil,
|
1050
|
-
text_color = 0, disabled_text_color = 0, over_text_color = 0, down_text_color = 0)
|
1053
|
+
text_color = 0, disabled_text_color = 0, over_text_color = 0, down_text_color = 0, &on_changed)
|
1051
1054
|
if x.is_a? Hash
|
1052
1055
|
y = x[:y]
|
1053
1056
|
font = x[:font]
|
@@ -1083,13 +1086,17 @@ module MiniGL
|
|
1083
1086
|
@options.each_with_index do |o, i|
|
1084
1087
|
b = Button.new(x, y + (i+1) * @h, font, o, opt_img, text_color, disabled_text_color, over_text_color, down_text_color,
|
1085
1088
|
false, true, text_margin, 0, @w, @h) {
|
1089
|
+
old = @value
|
1086
1090
|
@value = @buttons[0].text = o
|
1091
|
+
@on_changed.call(old, o) if @on_changed
|
1087
1092
|
toggle
|
1088
1093
|
}
|
1089
1094
|
b.visible = false
|
1090
1095
|
@buttons.push b
|
1091
1096
|
end
|
1092
1097
|
@max_h = (@options.size + 1) * @h
|
1098
|
+
|
1099
|
+
@on_changed = on_changed
|
1093
1100
|
end
|
1094
1101
|
|
1095
1102
|
# Updates the control.
|
@@ -1106,7 +1113,9 @@ module MiniGL
|
|
1106
1113
|
# it is not among the available options.
|
1107
1114
|
def value=(val)
|
1108
1115
|
if @options.include? val
|
1116
|
+
old = @value
|
1109
1117
|
@value = @buttons[0].text = val
|
1118
|
+
@on_changed.call(old, val) if @on_changed
|
1110
1119
|
end
|
1111
1120
|
end
|
1112
1121
|
|
data/lib/minigl/game_object.rb
CHANGED
@@ -114,13 +114,13 @@ module MiniGL
|
|
114
114
|
|
115
115
|
color = (alpha << 24) | color
|
116
116
|
if angle
|
117
|
-
@img[@img_index].draw_rot @x
|
118
|
-
@y
|
117
|
+
@img[@img_index].draw_rot @x - (map ? map.cam.x : 0) + @img[0].width * scale_x * 0.5,
|
118
|
+
@y - (map ? map.cam.y : 0) + @img[0].height * scale_y * 0.5,
|
119
119
|
z_index, angle, 0.5, 0.5, (flip == :horiz ? -scale_x : scale_x),
|
120
120
|
(flip == :vert ? -scale_y : scale_y), color
|
121
121
|
else
|
122
|
-
@img[@img_index].draw @x
|
123
|
-
@y
|
122
|
+
@img[@img_index].draw @x - (map ? map.cam.x : 0) + (flip == :horiz ? scale_x * @img[0].width : 0),
|
123
|
+
@y - (map ? map.cam.y : 0) + (flip == :vert ? scale_y * @img[0].height : 0),
|
124
124
|
z_index, (flip == :horiz ? -scale_x : scale_x),
|
125
125
|
(flip == :vert ? -scale_y : scale_y), color
|
126
126
|
end
|
@@ -215,13 +215,13 @@ module MiniGL
|
|
215
215
|
|
216
216
|
color = (alpha << 24) | color
|
217
217
|
if angle
|
218
|
-
@img[@img_index].draw_rot @x
|
219
|
-
@y
|
218
|
+
@img[@img_index].draw_rot @x + (flip == :horiz ? -1 : 1) * @img_gap.x - (map ? map.cam.x : 0) + @img[0].width * scale_x * 0.5,
|
219
|
+
@y + (flip == :vert ? -1 : 1) * @img_gap.y - (map ? map.cam.y : 0) + @img[0].height * scale_y * 0.5,
|
220
220
|
z_index, angle, 0.5, 0.5, (flip == :horiz ? -scale_x : scale_x),
|
221
221
|
(flip == :vert ? -scale_y : scale_y), color
|
222
222
|
else
|
223
|
-
@img[@img_index].draw @x
|
224
|
-
@y
|
223
|
+
@img[@img_index].draw @x + (flip == :horiz ? -1 : 1) * @img_gap.x - (map ? map.cam.x : 0) + (flip == :horiz ? scale_x * @w : 0),
|
224
|
+
@y + (flip == :vert ? -1 : 1) * @img_gap.y - (map ? map.cam.y : 0) + (flip == :vert ? scale_y * @h : 0),
|
225
225
|
z_index, (flip == :horiz ? -scale_x : scale_x),
|
226
226
|
(flip == :vert ? -scale_y : scale_y), color
|
227
227
|
end
|
data/lib/minigl/global.rb
CHANGED
@@ -198,7 +198,7 @@ module MiniGL
|
|
198
198
|
# mandatory.
|
199
199
|
def initialize(scr_w, scr_h = nil, fullscreen = true,
|
200
200
|
gravity = Vector.new(0, 1), min_speed = Vector.new(0.01, 0.01),
|
201
|
-
ramp_contact_threshold = 4, ramp_slip_threshold = 1
|
201
|
+
ramp_contact_threshold = 4, ramp_slip_threshold = 1, ramp_slip_force = 1,
|
202
202
|
kb_held_delay = 40, kb_held_interval = 5, double_click_delay = 8)
|
203
203
|
if scr_w.is_a? Hash
|
204
204
|
scr_h = scr_w[:scr_h]
|
data/lib/minigl/movement.rb
CHANGED
@@ -177,10 +177,6 @@ module MiniGL
|
|
177
177
|
# Height of the bounding box.
|
178
178
|
attr_reader :h
|
179
179
|
|
180
|
-
# Whether a moving object can pass through this block when coming from
|
181
|
-
# below. This is a common feature of platforms in platform games.
|
182
|
-
attr_reader :passable
|
183
|
-
|
184
180
|
# The object that is making contact with this from above. If there's no
|
185
181
|
# contact, returns +nil+.
|
186
182
|
attr_reader :top
|
@@ -203,6 +199,10 @@ module MiniGL
|
|
203
199
|
# The y-coordinate of the top left corner of the bounding box.
|
204
200
|
attr_accessor :y
|
205
201
|
|
202
|
+
# Whether a moving object can pass through this block when coming from
|
203
|
+
# below. This is a common feature of platforms in platform games.
|
204
|
+
attr_accessor :passable
|
205
|
+
|
206
206
|
# A Vector with the horizontal and vertical components of a force that
|
207
207
|
# be applied in the next time +move+ is called.
|
208
208
|
attr_accessor :stored_forces
|
@@ -234,8 +234,8 @@ module MiniGL
|
|
234
234
|
forces.y = 0 if (forces.y < 0 and @top) or (forces.y > 0 and @bottom)
|
235
235
|
|
236
236
|
if @bottom.is_a? Ramp
|
237
|
-
if @bottom.ratio
|
238
|
-
forces.x += (@bottom.left ? -1 : 1) * G.ramp_slip_force
|
237
|
+
if @bottom.ratio > G.ramp_slip_threshold
|
238
|
+
forces.x += (@bottom.left ? -1 : 1) * (@bottom.ratio - G.ramp_slip_threshold) * G.ramp_slip_force / G.ramp_slip_threshold
|
239
239
|
elsif forces.x > 0 && @bottom.left || forces.x < 0 && !@bottom.left
|
240
240
|
forces.x *= @bottom.factor
|
241
241
|
end
|
@@ -414,35 +414,46 @@ module MiniGL
|
|
414
414
|
end
|
415
415
|
|
416
416
|
# Moves this object, without performing any collision checking, towards
|
417
|
-
#
|
417
|
+
# a specified point or in a specified direction.
|
418
418
|
#
|
419
419
|
# Parameters:
|
420
|
-
# [aim] A Vector specifying where the object will move to
|
420
|
+
# [aim] A +Vector+ specifying where the object will move to or an angle (in
|
421
|
+
# degrees) indicating the direction of the movement. Angles are
|
422
|
+
# measured starting from the right (i.e., to move to the right, the
|
423
|
+
# angle must be 0) and raising clockwise.
|
421
424
|
# [speed] The constant speed at which the object will move. This must be
|
422
425
|
# provided as a scalar, not a vector.
|
423
426
|
def move_free(aim, speed)
|
424
|
-
|
425
|
-
|
427
|
+
if aim.is_a? Vector
|
428
|
+
x_d = aim.x - @x; y_d = aim.y - @y
|
429
|
+
distance = Math.sqrt(x_d**2 + y_d**2)
|
426
430
|
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
+
if distance == 0
|
432
|
+
@speed.x = @speed.y = 0
|
433
|
+
return
|
434
|
+
end
|
431
435
|
|
432
|
-
|
433
|
-
|
436
|
+
@speed.x = 1.0 * x_d * speed / distance
|
437
|
+
@speed.y = 1.0 * y_d * speed / distance
|
434
438
|
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
439
|
+
if (@speed.x < 0 and @x + @speed.x <= aim.x) or (@speed.x >= 0 and @x + @speed.x >= aim.x)
|
440
|
+
@x = aim.x
|
441
|
+
@speed.x = 0
|
442
|
+
else
|
443
|
+
@x += @speed.x
|
444
|
+
end
|
441
445
|
|
442
|
-
|
443
|
-
|
444
|
-
|
446
|
+
if (@speed.y < 0 and @y + @speed.y <= aim.y) or (@speed.y >= 0 and @y + @speed.y >= aim.y)
|
447
|
+
@y = aim.y
|
448
|
+
@speed.y = 0
|
449
|
+
else
|
450
|
+
@y += @speed.y
|
451
|
+
end
|
445
452
|
else
|
453
|
+
rads = aim * Math::PI / 180
|
454
|
+
@speed.x = speed * Math.cos(rads)
|
455
|
+
@speed.y = speed * Math.sin(rads)
|
456
|
+
@x += @speed.x
|
446
457
|
@y += @speed.y
|
447
458
|
end
|
448
459
|
end
|
data/test/game.rb
CHANGED
@@ -5,10 +5,13 @@ class MyGame < GameWindow
|
|
5
5
|
def initialize
|
6
6
|
super 800, 600, false
|
7
7
|
|
8
|
+
# @img = Res.img :img1
|
8
9
|
@obj1 = GameObject.new 10, 10, 80, 80, :img1, Vector.new(-10, -10)
|
9
10
|
@obj2 = Sprite.new 400, 0, :img1
|
10
11
|
@obj3 = GameObject.new 4, 50, 24, 24, :check, Vector.new(-4, -4), 2, 4
|
11
12
|
@obj3.set_animation 1
|
13
|
+
@objs = []
|
14
|
+
8.times { @objs << GameObject.new(384, 284, 32, 32, :check, Vector.new(0, 0), 2, 4) }
|
12
15
|
@flip = nil
|
13
16
|
|
14
17
|
@font1 = Res.font :font1, 20
|
@@ -25,9 +28,13 @@ class MyGame < GameWindow
|
|
25
28
|
@txt.visible = false
|
26
29
|
|
27
30
|
@pb = ProgressBar.new(5, 240, 200, 20, 0xff0000, 0x00ff00, 3456, 70, 0, 0, @font1, 0xff000080)
|
28
|
-
@ddl = DropDownList.new(5, 270, @font1, nil, nil, ['olá amigos', 'opção 2', 'terceira'], 0, 3, 150, 25, 0, 0x808080, 0xffffff, 0xffff00)
|
31
|
+
@ddl = DropDownList.new(5, 270, @font1, nil, nil, ['olá amigos', 'opção 2', 'terceira'], 0, 3, 150, 25, 0, 0x808080, 0xffffff, 0xffff00) { |a, b|
|
32
|
+
puts "mudou de #{a} para #{b}"
|
33
|
+
}
|
29
34
|
|
30
35
|
@eff = Effect.new(100, 100, :check, 2, 4, 10, nil, nil, '1')
|
36
|
+
|
37
|
+
@angle = 0
|
31
38
|
end
|
32
39
|
|
33
40
|
def needs_cursor?
|
@@ -70,6 +77,9 @@ class MyGame < GameWindow
|
|
70
77
|
if @flip.nil?; @flip = :horiz
|
71
78
|
else; @flip = nil; end
|
72
79
|
end
|
80
|
+
if Mouse.button_down? :left
|
81
|
+
@angle += 1
|
82
|
+
end
|
73
83
|
|
74
84
|
@btn.update
|
75
85
|
@chk.update
|
@@ -77,21 +87,27 @@ class MyGame < GameWindow
|
|
77
87
|
@ddl.update
|
78
88
|
|
79
89
|
@eff.update
|
90
|
+
|
91
|
+
@objs.each_with_index do |o, i|
|
92
|
+
o.move_free(i * 45, 3)
|
93
|
+
end
|
80
94
|
end
|
81
95
|
|
82
96
|
def draw
|
83
97
|
clear 0xabcdef
|
84
98
|
|
85
|
-
@
|
86
|
-
@
|
99
|
+
# @img.draw_rot 400, 100, 0, @angle, 1, 1
|
100
|
+
@obj1.draw color: 0x33ff33, angle: (@angle == 0 ? nil : @angle)
|
101
|
+
@obj2.draw angle: (@angle == 0 ? nil : @angle), scale_x: 0.5, scale_y: 1.4
|
87
102
|
@obj3.draw flip: @flip
|
103
|
+
@objs.each { |o| o.draw }
|
88
104
|
@writer1.write_line text: 'Testing effect 1', x: 400, y: 260, color: 0xffffff, effect: :border
|
89
105
|
@writer2.write_line 'Second effect test', 400, 280, :center, 0xffffff, 255, :border, 0xff0000, 2
|
90
106
|
@writer2.write_line 'Text with shadow!!', 400, 340, :center, 0xffff00, 255, :shadow, 0, 2, 0x80
|
91
107
|
@writer1.write_breaking "Testing multiple line text.\nThis should draw text "\
|
92
|
-
|
93
|
-
|
94
|
-
|
108
|
+
'across multiple lines, respecting a limit width. '\
|
109
|
+
'Furthermore, the text must be right-aligned.',
|
110
|
+
780, 450, 300, :right, 0xff0000, 255, 1
|
95
111
|
|
96
112
|
@ddl.draw 0x80, 1
|
97
113
|
@btn.draw 0xcc
|
data/test/mov_game.rb
CHANGED
@@ -19,18 +19,18 @@ class MyGame < GameWindow
|
|
19
19
|
# Block.new(485, 490, 127, 10, false),
|
20
20
|
]
|
21
21
|
@ramps = [
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
Ramp.new(200, 550, 200, 50, true),
|
23
|
+
Ramp.new(0, 200, 150, 300, false),
|
24
|
+
Ramp.new(150, 500, 150, 100, false),
|
25
|
+
Ramp.new(500, 500, 150, 100, true),
|
26
|
+
Ramp.new(650, 300, 150, 200, true),
|
27
|
+
Ramp.new(650, 500, 150, 100, true),
|
28
28
|
]
|
29
29
|
|
30
|
-
@cycle = [Vector.new(100, 530), Vector.new(650, 500)]
|
31
|
-
@cyc_obj = GameObject.new(@cycle[0].x, @cycle[0].y, 50, 50, :square)
|
32
|
-
@cyc_obj.instance_eval('@passable = true')
|
33
|
-
@obsts.push @cyc_obj
|
30
|
+
# @cycle = [Vector.new(100, 530), Vector.new(650, 500)]
|
31
|
+
# @cyc_obj = GameObject.new(@cycle[0].x, @cycle[0].y, 50, 50, :square)
|
32
|
+
# @cyc_obj.instance_eval('@passable = true')
|
33
|
+
# @obsts.push @cyc_obj
|
34
34
|
end
|
35
35
|
|
36
36
|
def update
|
@@ -52,13 +52,13 @@ class MyGame < GameWindow
|
|
52
52
|
end
|
53
53
|
@obj.move(forces, @obsts, @ramps)
|
54
54
|
# puts @obj.x
|
55
|
-
@cyc_obj.cycle(@cycle, 5, [@obj], @obsts, @ramps)
|
55
|
+
# @cyc_obj.cycle(@cycle, 5, [@obj], @obsts, @ramps)
|
56
56
|
# puts @obj.bottom
|
57
57
|
end
|
58
58
|
|
59
59
|
def draw
|
60
60
|
@obj.draw
|
61
|
-
@cyc_obj.draw
|
61
|
+
# @cyc_obj.draw
|
62
62
|
@obsts.each do |o|
|
63
63
|
draw_quad o.x, o.y, 0xffffffff,
|
64
64
|
o.x + o.w, o.y, 0xffffffff,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minigl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor David Santos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gosu
|
@@ -45,10 +45,6 @@ files:
|
|
45
45
|
- test/data/img/barbg.svg
|
46
46
|
- test/data/img/barfg.png
|
47
47
|
- test/data/img/barfg.svg
|
48
|
-
- test/data/img/barfgl.png
|
49
|
-
- test/data/img/barfgl.svg
|
50
|
-
- test/data/img/barfgr.png
|
51
|
-
- test/data/img/barfgr.svg
|
52
48
|
- test/data/img/btn.png
|
53
49
|
- test/data/img/check.png
|
54
50
|
- test/data/img/image.png
|
@@ -112,7 +108,6 @@ test_files:
|
|
112
108
|
- test/data/img/barfg.svg
|
113
109
|
- test/data/img/img1.png
|
114
110
|
- test/data/img/tile2.png
|
115
|
-
- test/data/img/barfgl.svg
|
116
111
|
- test/data/img/square.png
|
117
112
|
- test/data/img/tile1b.png
|
118
113
|
- test/data/img/btn.png
|
@@ -124,9 +119,6 @@ test_files:
|
|
124
119
|
- test/data/img/barbg.svg
|
125
120
|
- test/data/img/barbg.png
|
126
121
|
- test/data/img/tile1.png
|
127
|
-
- test/data/img/barfgr.png
|
128
|
-
- test/data/img/barfgl.png
|
129
|
-
- test/data/img/barfgr.svg
|
130
122
|
- test/data/img/text.png
|
131
123
|
- test/data/img/tile1.svg
|
132
124
|
- test/data/font/font1.ttf
|
data/test/data/img/barfgl.png
DELETED
Binary file
|
data/test/data/img/barfgl.svg
DELETED
@@ -1,127 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
-
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
-
|
4
|
-
<svg
|
5
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
10
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
12
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
-
width="10"
|
14
|
-
height="20"
|
15
|
-
id="svg2"
|
16
|
-
version="1.1"
|
17
|
-
inkscape:version="0.48.4 r9939"
|
18
|
-
sodipodi:docname="barfgl.svg"
|
19
|
-
inkscape:export-filename="/home/victor/Projects/TCC/minigl/test/data/img/barfgl.png"
|
20
|
-
inkscape:export-xdpi="90"
|
21
|
-
inkscape:export-ydpi="90">
|
22
|
-
<defs
|
23
|
-
id="defs4">
|
24
|
-
<linearGradient
|
25
|
-
id="linearGradient3770">
|
26
|
-
<stop
|
27
|
-
id="stop3772"
|
28
|
-
offset="0"
|
29
|
-
style="stop-color:#000000;stop-opacity:0.50196081;" />
|
30
|
-
<stop
|
31
|
-
style="stop-color:#000000;stop-opacity:0;"
|
32
|
-
offset="1"
|
33
|
-
id="stop3774" />
|
34
|
-
</linearGradient>
|
35
|
-
<linearGradient
|
36
|
-
id="linearGradient3778">
|
37
|
-
<stop
|
38
|
-
style="stop-color:#008000;stop-opacity:1;"
|
39
|
-
offset="0"
|
40
|
-
id="stop3780" />
|
41
|
-
<stop
|
42
|
-
id="stop3786"
|
43
|
-
offset="0.5"
|
44
|
-
style="stop-color:#00ff00;stop-opacity:1;" />
|
45
|
-
<stop
|
46
|
-
style="stop-color:#008000;stop-opacity:1;"
|
47
|
-
offset="1"
|
48
|
-
id="stop3782" />
|
49
|
-
</linearGradient>
|
50
|
-
<linearGradient
|
51
|
-
inkscape:collect="always"
|
52
|
-
xlink:href="#linearGradient3778"
|
53
|
-
id="linearGradient3784"
|
54
|
-
x1="0.51369864"
|
55
|
-
y1="1032.3622"
|
56
|
-
x2="0.52054793"
|
57
|
-
y2="1052.3965"
|
58
|
-
gradientUnits="userSpaceOnUse"
|
59
|
-
gradientTransform="scale(10,1)" />
|
60
|
-
<linearGradient
|
61
|
-
inkscape:collect="always"
|
62
|
-
xlink:href="#linearGradient3770"
|
63
|
-
id="linearGradient3768"
|
64
|
-
gradientUnits="userSpaceOnUse"
|
65
|
-
gradientTransform="scale(10,1)"
|
66
|
-
x1="3.6742588e-08"
|
67
|
-
y1="1042.328"
|
68
|
-
x2="0.99999994"
|
69
|
-
y2="1042.3281" />
|
70
|
-
</defs>
|
71
|
-
<sodipodi:namedview
|
72
|
-
id="base"
|
73
|
-
pagecolor="#ffffff"
|
74
|
-
bordercolor="#666666"
|
75
|
-
borderopacity="1.0"
|
76
|
-
inkscape:pageopacity="0.0"
|
77
|
-
inkscape:pageshadow="2"
|
78
|
-
inkscape:zoom="1"
|
79
|
-
inkscape:cx="15.856164"
|
80
|
-
inkscape:cy="10"
|
81
|
-
inkscape:document-units="px"
|
82
|
-
inkscape:current-layer="layer1"
|
83
|
-
showgrid="false"
|
84
|
-
inkscape:window-width="1364"
|
85
|
-
inkscape:window-height="718"
|
86
|
-
inkscape:window-x="0"
|
87
|
-
inkscape:window-y="0"
|
88
|
-
inkscape:window-maximized="1" />
|
89
|
-
<metadata
|
90
|
-
id="metadata7">
|
91
|
-
<rdf:RDF>
|
92
|
-
<cc:Work
|
93
|
-
rdf:about="">
|
94
|
-
<dc:format>image/svg+xml</dc:format>
|
95
|
-
<dc:type
|
96
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
97
|
-
<dc:title></dc:title>
|
98
|
-
</cc:Work>
|
99
|
-
</rdf:RDF>
|
100
|
-
</metadata>
|
101
|
-
<g
|
102
|
-
inkscape:label="Layer 1"
|
103
|
-
inkscape:groupmode="layer"
|
104
|
-
id="layer1"
|
105
|
-
transform="translate(0,-1032.3622)">
|
106
|
-
<rect
|
107
|
-
style="fill:url(#linearGradient3784);fill-opacity:1;stroke:none"
|
108
|
-
id="rect3776"
|
109
|
-
width="10"
|
110
|
-
height="20"
|
111
|
-
x="0"
|
112
|
-
y="1032.3622" />
|
113
|
-
<rect
|
114
|
-
y="1032.3622"
|
115
|
-
x="0"
|
116
|
-
height="20"
|
117
|
-
width="10"
|
118
|
-
id="rect3766"
|
119
|
-
style="fill:url(#linearGradient3768);fill-opacity:1;stroke:none" />
|
120
|
-
<path
|
121
|
-
sodipodi:nodetypes="ccccc"
|
122
|
-
inkscape:connector-curvature="0"
|
123
|
-
id="path3768"
|
124
|
-
d="m 0,1052.3622 10,-10 0,-10 -10,10 z"
|
125
|
-
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none" />
|
126
|
-
</g>
|
127
|
-
</svg>
|
data/test/data/img/barfgr.png
DELETED
Binary file
|
data/test/data/img/barfgr.svg
DELETED
@@ -1,135 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
-
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
-
|
4
|
-
<svg
|
5
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
10
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
12
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
-
width="10"
|
14
|
-
height="20"
|
15
|
-
id="svg2"
|
16
|
-
version="1.1"
|
17
|
-
inkscape:version="0.48.4 r9939"
|
18
|
-
sodipodi:docname="barfgr.svg"
|
19
|
-
inkscape:export-filename="/home/victor/Projects/TCC/minigl/test/data/img/barfgr.png"
|
20
|
-
inkscape:export-xdpi="90"
|
21
|
-
inkscape:export-ydpi="90">
|
22
|
-
<defs
|
23
|
-
id="defs4">
|
24
|
-
<linearGradient
|
25
|
-
id="linearGradient3770">
|
26
|
-
<stop
|
27
|
-
id="stop3772"
|
28
|
-
offset="0"
|
29
|
-
style="stop-color:#000000;stop-opacity:0.50196081;" />
|
30
|
-
<stop
|
31
|
-
style="stop-color:#000000;stop-opacity:0;"
|
32
|
-
offset="1"
|
33
|
-
id="stop3774" />
|
34
|
-
</linearGradient>
|
35
|
-
<linearGradient
|
36
|
-
id="linearGradient3778">
|
37
|
-
<stop
|
38
|
-
style="stop-color:#008000;stop-opacity:1;"
|
39
|
-
offset="0"
|
40
|
-
id="stop3780" />
|
41
|
-
<stop
|
42
|
-
id="stop3786"
|
43
|
-
offset="0.5"
|
44
|
-
style="stop-color:#00ff00;stop-opacity:1;" />
|
45
|
-
<stop
|
46
|
-
style="stop-color:#008000;stop-opacity:1;"
|
47
|
-
offset="1"
|
48
|
-
id="stop3782" />
|
49
|
-
</linearGradient>
|
50
|
-
<linearGradient
|
51
|
-
inkscape:collect="always"
|
52
|
-
xlink:href="#linearGradient3778"
|
53
|
-
id="linearGradient3784"
|
54
|
-
x1="0.51369864"
|
55
|
-
y1="1032.3622"
|
56
|
-
x2="0.52054793"
|
57
|
-
y2="1052.3965"
|
58
|
-
gradientUnits="userSpaceOnUse"
|
59
|
-
gradientTransform="scale(10,1)" />
|
60
|
-
<linearGradient
|
61
|
-
inkscape:collect="always"
|
62
|
-
xlink:href="#linearGradient3770"
|
63
|
-
id="linearGradient3768"
|
64
|
-
gradientUnits="userSpaceOnUse"
|
65
|
-
gradientTransform="matrix(10,0,0,1,-10,0)"
|
66
|
-
x1="3.6742588e-08"
|
67
|
-
y1="1042.328"
|
68
|
-
x2="0.99999994"
|
69
|
-
y2="1042.3281" />
|
70
|
-
</defs>
|
71
|
-
<sodipodi:namedview
|
72
|
-
id="base"
|
73
|
-
pagecolor="#ffffff"
|
74
|
-
bordercolor="#666666"
|
75
|
-
borderopacity="1.0"
|
76
|
-
inkscape:pageopacity="0.0"
|
77
|
-
inkscape:pageshadow="2"
|
78
|
-
inkscape:zoom="1"
|
79
|
-
inkscape:cx="-0.85616438"
|
80
|
-
inkscape:cy="10"
|
81
|
-
inkscape:document-units="px"
|
82
|
-
inkscape:current-layer="layer1"
|
83
|
-
showgrid="false"
|
84
|
-
inkscape:window-width="1364"
|
85
|
-
inkscape:window-height="718"
|
86
|
-
inkscape:window-x="0"
|
87
|
-
inkscape:window-y="0"
|
88
|
-
inkscape:window-maximized="1" />
|
89
|
-
<metadata
|
90
|
-
id="metadata7">
|
91
|
-
<rdf:RDF>
|
92
|
-
<cc:Work
|
93
|
-
rdf:about="">
|
94
|
-
<dc:format>image/svg+xml</dc:format>
|
95
|
-
<dc:type
|
96
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
97
|
-
<dc:title></dc:title>
|
98
|
-
</cc:Work>
|
99
|
-
</rdf:RDF>
|
100
|
-
</metadata>
|
101
|
-
<g
|
102
|
-
inkscape:label="Layer 1"
|
103
|
-
inkscape:groupmode="layer"
|
104
|
-
id="layer1"
|
105
|
-
transform="translate(0,-1032.3622)">
|
106
|
-
<rect
|
107
|
-
style="fill:url(#linearGradient3784);fill-opacity:1;stroke:none"
|
108
|
-
id="rect3776"
|
109
|
-
width="10"
|
110
|
-
height="20"
|
111
|
-
x="0"
|
112
|
-
y="1032.3622" />
|
113
|
-
<rect
|
114
|
-
y="1032.3622"
|
115
|
-
x="-10"
|
116
|
-
height="20"
|
117
|
-
width="10"
|
118
|
-
id="rect3766"
|
119
|
-
style="fill:url(#linearGradient3768);fill-opacity:1;stroke:none"
|
120
|
-
transform="scale(-1,1)" />
|
121
|
-
<path
|
122
|
-
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
|
123
|
-
d="M 0,0 0,10 10,0 z"
|
124
|
-
id="path3797"
|
125
|
-
inkscape:connector-curvature="0"
|
126
|
-
transform="translate(0,1032.3622)"
|
127
|
-
sodipodi:nodetypes="cccc" />
|
128
|
-
<path
|
129
|
-
sodipodi:nodetypes="cccc"
|
130
|
-
inkscape:connector-curvature="0"
|
131
|
-
id="path3799"
|
132
|
-
d="m 10,1052.3622 0,-10 -10,10 z"
|
133
|
-
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none" />
|
134
|
-
</g>
|
135
|
-
</svg>
|