CLASS:: DrawGrid summary:: Draws grid lines on a UserView for plotting categories:: GUI>Accessories related:: Reference/plot, Classes/GridLines, Classes/Plotter, Classes/UserView DESCRIPTION:: DrawGrid is used by Plotter to draw the grid lines on a graph. It can however also be used to draw GridLines on any UserView and could even be used to add grid lines to UserViews behind sliders or in any GUI. Note that DrawGrid does not hold any reference to the UserView but is meant to have its .draw method called inside of the UserView's drawFunc. It only needs to know what bounds the grid lines should be drawn within and what the horizontal and vertical GridLines are. CLASSMETHODS:: METHOD:: new argument:: bounds the bounds to draw within. Multiple DrawGrid may be used to draw grids on a single UserView. argument:: horzGrid a GridLines or BlankGridLines or GridLines subclass argument:: vertGrid a GridLines or BlankGridLines or GridLines subclass returns:: a DrawGrid METHOD:: test For testing new GridLines objects. code:: DrawGrid.test( \freq.asSpec.grid, \amp.asSpec.grid ); DrawGrid.test( nil, \degree.asSpec.grid ); :: argument:: horzGrid a GridLines object or subclass argument:: vertGrid a GridLines object or subclass argument:: bounds default: 500 @ 400 returns:: a DrawGrid INSTANCEMETHODS:: METHOD:: draw This draws to the currently active UserView. This method is meant to be called from inside the drawFunc of a UserView. returns:: nil METHOD:: horzGrid set the x gridLines argument:: g a GridLines returns:: self METHOD:: vertGrid set the y gridLines argument:: g a GridLines returns:: self METHOD:: bounds get or set bounds argument:: b a Rect returns:: a Rect METHOD:: font get or set Font argument:: f a Font returns:: a Font METHOD:: fontColor get or set font color argument:: c a Color returns:: a Color METHOD:: gridColors Set the colors of each of the axis. argument:: colors an array of two colors: x,y returns:: self METHOD:: opacity get or set opacity returns:: float METHOD:: smoothing see Pen smoothing returns:: smoothing METHOD:: linePattern see Pen linePattern returns:: (returnvalue) METHOD:: init private argument:: bounds argument:: h argument:: v returns:: (returnvalue) METHOD:: x private A DrawGridX object that draws the x (horizontal) axis returns:: a DrawGridX METHOD:: y private A DrawGridY object that draws the y (vertical) axis returns:: a DrawGridY METHOD:: copy safely make a copy of this object and its working members. returns:: a new DrawGrid METHOD:: clearCache private returns:: self EXAMPLES:: code:: ( w = Window.new.front; u = UserView(w,Rect(20,20,300,300)); // the Spec can define its preferred grid system x = \freq.asSpec.grid; y = \amp.asSpec.grid; d = DrawGrid(Rect(0,0,500,300), x,y); u.drawFunc = { d.draw }; ) ::