class Motion::GridOverlayView
Constants
- DEFAULTS
Attributes
stroke_color[R]
stroke_width[R]
x_interval[RW]
x_lines[R]
y_interval[RW]
y_lines[R]
Public Instance Methods
drawRect(rect)
click to toggle source
Calls superclass method
# File lib/project/views/grid_overlay_view.rb, line 54 def drawRect(rect) super setup_drawing CGContextClearRect(context, bounds) unless hidden? draw_horizontal_lines draw_vertical_lines fill_path end end
initWithFrame(frame)
click to toggle source
Calls superclass method
# File lib/project/views/grid_overlay_view.rb, line 11 def initWithFrame(frame) super.tap do |view| view.backgroundColor = UIColor.clearColor self.x_lines = DEFAULTS[:x_lines] self.y_lines = DEFAULTS[:y_lines] @stroke_color = DEFAULTS[:stroke_color] @stroke_width = DEFAULTS[:stroke_width] end end
stroke_color=(color)
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 48 def stroke_color=(color) @stroke_color = color setNeedsDisplay end
stroke_width=(width)
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 42 def stroke_width=(width) @stroke_width = width setNeedsDisplay end
toggle()
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 22 def toggle setHidden(!hidden?) setNeedsDisplay end
x_lines=(lines)
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 28 def x_lines=(lines) @x_lines = lines self.y_interval = frame.size.height / (lines + 1) setNeedsDisplay end
y_lines=(lines)
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 35 def y_lines=(lines) @y_lines = lines self.x_interval = frame.size.width / (lines + 1) setNeedsDisplay end
Private Instance Methods
context()
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 103 def context @context ||= UIGraphicsGetCurrentContext() end
draw_horizontal_lines()
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 77 def draw_horizontal_lines draw_line([0, 0], [size.width, 0]) (1..x_lines).each do |i| draw_line([0, y_interval * i], [size.width, y_interval * i]) end draw_line([0, size.height], [size.width, size.height]) end
draw_line(start_point, end_point)
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 97 def draw_line(start_point, end_point) CGContextMoveToPoint(context, start_point[0], start_point[1]) CGContextAddLineToPoint(context, end_point[0], end_point[1]) end
draw_vertical_lines()
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 87 def draw_vertical_lines (1..y_lines).each do |i| draw_line([x_interval * i, 0], [x_interval * i, size.height]) end end
fill_path()
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 93 def fill_path CGContextStrokePath(context) end
setup_drawing()
click to toggle source
# File lib/project/views/grid_overlay_view.rb, line 71 def setup_drawing CGContextSetStrokeColorWithColor(context, stroke_color.colorWithAlphaComponent(0.5).CGColor) CGContextSetLineWidth(context, stroke_width) end