Class: Smalruby::Canvas

Inherits:
Character show all
Defined in:
lib/smalruby/canvas.rb

Overview

お絵かきを表現するクラス

Instance Attribute Summary

Attributes inherited from Character

#event_handlers, #threads

ペン collapse

Instance Method Summary collapse

Methods inherited from Character

#alive?, #click, #distance, #draw, #join, #key_down, #key_push, #loop, #move, #on, #say, #start, #turn, #turn_if_reach_wall

Constructor Details

#initialize(option = {}) ⇒ Canvas

Returns a new instance of Canvas.



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/smalruby/canvas.rb', line 6

def initialize(option = {})
  opt = {
    x: 0,
    y: 0,
    width: Window.width,
    height: Window.height,
  }.merge(option)
  opt[:costume] = Image.new(opt[:width], opt[:height])
  super(opt)
  image.set_color_key([0, 0, 0])
end

Instance Method Details

#box(option) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/smalruby/canvas.rb', line 40

def box(option)
  opt = {
    color: "white",
  }.merge(verify_rect_option(option))
  image.box(opt[:left], opt[:top], opt[:right], opt[:bottom],
            Color.smalruby_to_dxruby(opt[:color]))
end

#box_fill(option) ⇒ Object



48
49
50
51
52
53
54
# File 'lib/smalruby/canvas.rb', line 48

def box_fill(option)
  opt = {
    color: "white",
  }.merge(verify_rect_option(option))
  image.box_fill(opt[:left], opt[:top], opt[:right], opt[:bottom],
                 Color.smalruby_to_dxruby(opt[:color]))
end

#circle(option) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/smalruby/canvas.rb', line 56

def circle(option)
  opt = {
    color: "white",
  }.merge(option)
  image.circle(opt[:x], opt[:y], opt[:r],
               Color.smalruby_to_dxruby(opt[:color]))
end

#circle_fill(option) ⇒ Object



64
65
66
67
68
69
70
# File 'lib/smalruby/canvas.rb', line 64

def circle_fill(option)
  opt = {
    color: "white",
  }.merge(option)
  image.circle_fill(opt[:x], opt[:y], opt[:r],
                    Color.smalruby_to_dxruby(opt[:color]))
end

#draw_font(option) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/smalruby/canvas.rb', line 20

def draw_font(option)
  opt = {
    x: 0,
    y: 0,
    string: "",
    size: 32,
    color: "white",
  }.merge(option)
  image.draw_font(opt[:x], opt[:y], opt[:string], Font.new(opt[:size]),
                  Color.smalruby_to_dxruby(opt[:color]))
end

#line(option) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/smalruby/canvas.rb', line 32

def line(option)
  opt = {
    color: "white",
  }.merge(verify_rect_option(option))
  image.line(opt[:left], opt[:top], opt[:right], opt[:bottom],
             Color.smalruby_to_dxruby(opt[:color]))
end