class RSVGR::Samples::Grid
Public Class Methods
new(args = {}) { |inside,i,j| ... }
click to toggle source
Calls superclass method
# File lib/rsvgr.rb, line 251 def initialize args = {} args[:fill_color] = "white" super if @xn*(@y2-@y1) > (@x2-@x1)*@yn y = (@x2-@x1)*@yn/@xn @y1 = (1-y)/2 @y2 = (1+y)/2 else x = (@y2-@y1)*@xn/@yn @x1 = (1-x)/2 @x2 = (1+x)/2 end w = (@x2 - @x1)/@xn h = (@y2 - @y1)/@yn [*0...@yn].product([*0...@xn]) do |i,j| self << cell = Group.new( x: @x1+j*w, y: @y1+i*h, scale_x: w, scale_y: h, ) cell << Rect.new(stroke_color:"silver", stroke_width:0.1) if args[:grid] cell << inside = Group.new( x: 0.1, y: 0.1, scale_x: 0.8, scale_y: 0.8, ) yield inside,i,j if block_given? end end