minigl 1.2.2 → 1.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d947f9f6b2942d8c013e40a3bcb133c05e568b5
4
- data.tar.gz: 73a2e40462939be5c50da793498365fee9b6317a
3
+ metadata.gz: a86c42ce7c6ca9f79f56802e343f9cc86444088a
4
+ data.tar.gz: ac13807120b6a030599ee04df958d1bdfde33a0a
5
5
  SHA512:
6
- metadata.gz: efbef16eee12d57c33ce6083ac0ec633658c46a9f0a32a1ecde2ec76f386f924d69f0a412fd70087d627bb05f692b3c44da3cc1a597a9ed45fd93e9089b01dd6
7
- data.tar.gz: 9c794f33476e267e804fac724c396da080918b8fb7fb6ea0fc047fabda804afa3ff4509a5937676acee0c6a540b1193b072f33dfd1081989ab5d0ea59ea3ad98
6
+ metadata.gz: 2222057067a8f1db28f43be8d116605ed574beb73574eb050c1f5bde0fb23558507e1750253128c01157e6685022647eeba2dc164094a3bfdb9eff7d64effce5
7
+ data.tar.gz: be9b5881dd8d36b826a2706933a22bfcae2fd2d1df41e471b36f77bfa46ed22da4ea9c71c7c69bb5a4fda0cb18a298714cdacb75fd25fd96b9bea167540f5e39
data/data/img/btn.png ADDED
Binary file
data/data/img/text.png ADDED
Binary file
data/lib/minigl/forms.rb CHANGED
@@ -61,13 +61,15 @@ module AGL
61
61
  end
62
62
  end
63
63
  end
64
-
65
- def draw
66
- @img[@img_index].draw @x, @y, 0
64
+
65
+ def draw text_color = 0, alpha = 0xff
66
+ color = (alpha << 24) | 0xffffff
67
+ text_color = (alpha << 24) | text_color
68
+ @img[@img_index].draw @x, @y, 0, 1, 1, color
67
69
  if @center
68
- @font.draw_rel @text, @text_x, @text_y, 0, 0.5, 0.5, 1, 1, 0xff000000
70
+ @font.draw_rel @text, @text_x, @text_y, 0, 0.5, 0.5, 1, 1, text_color
69
71
  else
70
- @font.draw @text, @text_x, @text_y, 0, 1, 1, 0xff000000
72
+ @font.draw @text, @text_x, @text_y, 0, 1, 1, text_color
71
73
  end
72
74
  end
73
75
  end
@@ -341,24 +343,28 @@ module AGL
341
343
  set_cursor_visible
342
344
  end
343
345
 
344
- def draw
345
- @img.draw @x, @y, 0
346
- @font.draw @text, @text_x, @text_y, 0, 1, 1, 0xff000000
346
+ def draw text_color = 0, selection_color = 0, alpha = 0xff
347
+ color = (alpha << 24) | 0xffffff
348
+ text_color = (alpha << 24) | text_color
349
+ @img.draw @x, @y, 0, 1, 1, color
350
+ @font.draw @text, @text_x, @text_y, 0, 1, 1, text_color
347
351
 
348
352
  if @anchor1 and @anchor2
349
- Game.window.draw_quad @nodes[@anchor1], @text_y, 0x80000000,
350
- @nodes[@anchor2] + 1, @text_y, 0x80000000,
351
- @nodes[@anchor2] + 1, @text_y + @font.height, 0x80000000,
352
- @nodes[@anchor1], @text_y + @font.height, 0x80000000, 0
353
+ selection_color = ((alpha / 2) << 24) | selection_color
354
+ Game.window.draw_quad @nodes[@anchor1], @text_y, selection_color,
355
+ @nodes[@anchor2] + 1, @text_y, selection_color,
356
+ @nodes[@anchor2] + 1, @text_y + @font.height, selection_color,
357
+ @nodes[@anchor1], @text_y + @font.height, selection_color, 0
353
358
  end
354
359
 
355
360
  if @cursor_visible
356
361
  if @cursor_img; @cursor_img.draw @nodes[@cur_node] - @cursor_img.width / 2, @text_y, 0
357
362
  else
358
- Game.window.draw_quad @nodes[@cur_node], @text_y, 0xff000000,
359
- @nodes[@cur_node] + 1, @text_y, 0xff000000,
360
- @nodes[@cur_node] + 1, @text_y + @font.height, 0xff000000,
361
- @nodes[@cur_node], @text_y + @font.height, 0xff000000, 0
363
+ cursor_color = (alpha << 24) | 0
364
+ Game.window.draw_quad @nodes[@cur_node], @text_y, cursor_color,
365
+ @nodes[@cur_node] + 1, @text_y, cursor_color,
366
+ @nodes[@cur_node] + 1, @text_y + @font.height, cursor_color,
367
+ @nodes[@cur_node], @text_y + @font.height, cursor_color, 0
362
368
  end
363
369
  end
364
370
  end
@@ -28,11 +28,18 @@ module AGL
28
28
  end
29
29
  end
30
30
 
31
- def draw map = nil
31
+ def draw map = nil, scale_x = 1, scale_y = 1, alpha = 0xff, color = 0xffffff, angle = nil
32
+ color = (alpha << 24) | color
32
33
  if map
33
- @img[@img_index].draw @x.round - map.cam.x, @y.round - map.cam.y, 0
34
+ if angle
35
+ @img[@img_index].draw_rot @x.round - map.cam.x, @y.round - map.cam.y, 0, angle, 0.5, 0.5, scale_x, scale_y, color
36
+ else
37
+ @img[@img_index].draw @x.round - map.cam.x, @y.round - map.cam.y, 0, scale_x, scale_y, color
38
+ end
39
+ elsif angle
40
+ @img[@img_index].draw_rot @x.round, @y.round, 0, angle, 0.5, 0.5, scale_x, scale_y, color
34
41
  else
35
- @img[@img_index].draw @x.round, @y.round, 0
42
+ @img[@img_index].draw @x.round, @y.round, 0, scale_x, scale_y, color
36
43
  end
37
44
  end
38
45
  end
@@ -66,12 +73,20 @@ module AGL
66
73
  false
67
74
  end
68
75
 
69
- def draw map = nil
76
+ def draw map = nil, scale_x = 1, scale_y = 1, alpha = 0xff, color = 0xffffff, angle = nil
77
+ color = (alpha << 24) | color
70
78
  if map
71
- @img[@img_index].draw @x.round + @img_gap.x - map.cam.x,
72
- @y.round + @img_gap.y - map.cam.y, 0 if @img
79
+ if angle
80
+ @img[@img_index].draw_rot @x.round + @img_gap.x - map.cam.x,
81
+ @y.round + @img_gap.y - map.cam.y,
82
+ 0, angle, 0.5, 0.5, scale_x, scale_y, color
83
+ else
84
+ @img[@img_index].draw @x.round + @img_gap.x - map.cam.x, @y.round + @img_gap.y - map.cam.y, 0, scale_x, scale_y, color
85
+ end
86
+ elsif angle
87
+ @img[@img_index].draw_rot @x.round + @img_gap.x, @y.round + @img_gap.y, 0, angle, 0.5, 0.5, scale_x, scale_y, color
73
88
  else
74
- @img[@img_index].draw @x.round + @img_gap.x, @y.round + @img_gap.y, 0 if @img
89
+ @img[@img_index].draw @x.round + @img_gap.x, @y.round + @img_gap.y, 0, scale_x, scale_y, color
75
90
  end
76
91
  end
77
92
  end
data/test/game.rb CHANGED
@@ -6,11 +6,13 @@ class MyGame < Gosu::Window
6
6
  super 800, 600, false # creating a 800 x 600 window, not full screen
7
7
  Game.initialize self, Vector.new(0, 1), 10, 2, 20
8
8
 
9
- @img = Res.img :img1
9
+ @obj1 = GameObject.new 10, 10, 80, 80, :img1, Vector.new(-10, -10)
10
+ @obj2 = Sprite.new 400, 0, :img1
11
+
10
12
  @font = Res.font :font1, 20
11
13
  @writer = TextHelper.new @font, 5
12
- @x = 0
13
- @y = 0
14
+ @btn = Button.new(10, 560, @font, "Test", :btn, false, 15, 5) {}
15
+ @txt = TextField.new 10, 520, @font, :text, nil, "", 15, 5, 16
14
16
  end
15
17
 
16
18
  def needs_cursor?
@@ -19,24 +21,31 @@ class MyGame < Gosu::Window
19
21
 
20
22
  def update
21
23
  KB.update
22
- @y -= 1 if KB.key_held? Gosu::KbUp
23
- @x += 1 if KB.key_down? Gosu::KbRight
24
- @y += 1 if KB.key_held? Gosu::KbDown
25
- @x -= 1 if KB.key_down? Gosu::KbLeft
24
+ @obj1.y -= 1 if KB.key_held? Gosu::KbUp
25
+ @obj1.x += 1 if KB.key_down? Gosu::KbRight
26
+ @obj1.y += 1 if KB.key_held? Gosu::KbDown
27
+ @obj1.x -= 1 if KB.key_down? Gosu::KbLeft
26
28
 
27
29
  Mouse.update
28
30
  if Mouse.double_click? :left
29
- @x = Mouse.x - @img.width / 2
30
- @y = Mouse.y - @img.height / 2
31
+ @obj1.x = Mouse.x + 10
32
+ @obj1.y = Mouse.y + 10
31
33
  end
34
+
35
+ @btn.update
36
+ @txt.update
32
37
  end
33
38
 
34
39
  def draw
35
- @img.draw @x, @y, 0
40
+ @obj1.draw nil, 1, 1, 0x80, 0x33ff33, 30
41
+ @obj2.draw nil, 0.6, 1.4, 0x99
36
42
  @writer.write_breaking "Testing multiple line text.\nThis should draw text "\
37
43
  "across multiple lines, respecting a limit width. "\
38
44
  "Furthermore, the text must be right-aligned.",
39
45
  780, 300, 300, :right
46
+
47
+ @btn.draw 0x008000, 0xcc
48
+ @txt.draw 0, 0x0000ff
40
49
  end
41
50
  end
42
51
 
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: 1.2.2
4
+ version: 1.2.3
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: 2014-06-19 00:00:00.000000000 Z
11
+ date: 2014-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gosu
@@ -40,8 +40,10 @@ files:
40
40
  - README.md
41
41
  - Rakefile
42
42
  - data/font/font1.ttf
43
+ - data/img/btn.png
43
44
  - data/img/image.png
44
45
  - data/img/img1.png
46
+ - data/img/text.png
45
47
  - data/tileset/tileset1.png
46
48
  - lib/minigl.rb
47
49
  - lib/minigl/forms.rb