Module: SugarCube::CoreGraphics

Defined in:
lib/sugarcube/core_graphics.rb

Class Method Summary collapse

Class Method Details

.Point(x_or_origin, y = nil) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/sugarcube/core_graphics.rb', line 99

def Point(x_or_origin, y=nil)
  if not y
    if CGPoint === x_or_origin
      x = x_or_origin.x
      y = x_or_origin.y
    elsif Array === x_or_origin
      x = x_or_origin[0]
      y = x_or_origin[1]
    else
      raise RuntimeError.new("Invalid argument sent to Point(#{x_or_origin.inspect})")
    end
  else
    x = x_or_origin
  end
  return CGPointArray.new([x, y])
end

.Rect(x_or_origin, y_or_size = nil, w = nil, h = nil) ⇒ Object

Accepts 2 or 4 arguments. 2 arguments should be a point and a size, 4 should be x, y, w, h



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/sugarcube/core_graphics.rb', line 118

def Rect(x_or_origin, y_or_size=nil, w=nil, h=nil)
  if not y_or_size
    if CGRectArray === x_or_origin
      x = x_or_origin[0][0]
      y = x_or_origin[0][1]
      w = x_or_origin[1][0]
      h = x_or_origin[1][1]
    elsif CGRect === x_or_origin
      x = x_or_origin.origin.x
      y = x_or_origin.origin.y
      w = x_or_origin.size.width
      h = x_or_origin.size.height
    elsif Array === x_or_origin
      x = x_or_origin[0]
      y = x_or_origin[1]
      w = x_or_origin[2]
      h = x_or_origin[3]
    else
      raise RuntimeError.new("Invalid argument sent to Rect(#{x_or_origin.inspect})")
    end
  elsif not w and not h
    x = x_or_origin.x
    y = x_or_origin.y
    w = y_or_size.width
    h = y_or_size.height
  else
    x = x_or_origin
    y = y_or_size
  end
  return CGRectArray.new([[x, y], [w, h]])
end

.Size(w_or_size, h = nil) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/sugarcube/core_graphics.rb', line 82

def Size(w_or_size, h=nil)
  if not h
    if CGSize === w_or_size
      w = w_or_size.width
      h = w_or_size.height
    elsif Array === w_or_size
      w = w_or_size[0]
      h = w_or_size[1]
    else
      raise RuntimeError.new("Invalid argument sent to Size(#{w_or_size.inspect})")
    end
  else
    w = w_or_size
  end
  return CGSizeArray.new([w, h])
end