scide: implement selectionLength for openDocument
[supercollider.git] / HelpSource / Classes / DrawGrid.schelp
blob95ca6dcd18a4cb7bbb40b363517a2fd4447343bc
1 CLASS:: DrawGrid
2 summary:: Draws grid lines on a UserView for plotting
3 categories:: GUI>Accessories
4 related:: Reference/plot, Classes/GridLines, Classes/Plotter, Classes/UserView
6 DESCRIPTION::
7 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.
9 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.
12 CLASSMETHODS::
14 METHOD:: new
16 argument:: bounds
17 the bounds to draw within.  Multiple DrawGrid may be used to draw grids on a single UserView.
19 argument:: horzGrid
20 a GridLines or BlankGridLines or GridLines subclass
22 argument:: vertGrid
23 a GridLines or BlankGridLines or GridLines subclass
25 returns:: a DrawGrid
27 METHOD:: test
28 For testing new GridLines objects.
29 code::
30 DrawGrid.test( \freq.asSpec.grid, \amp.asSpec.grid );
31 DrawGrid.test( nil, \degree.asSpec.grid );
34 argument:: horzGrid
35 a GridLines object or subclass
37 argument:: vertGrid
38 a GridLines object or subclass
40 argument:: bounds
41 default: 500 @ 400
43 returns:: a DrawGrid
46 INSTANCEMETHODS::
48 METHOD:: draw
49 This draws to the currently active UserView. This method is meant to be called from inside the drawFunc of a UserView.
51 returns:: nil
54 METHOD:: horzGrid
55 set the x gridLines
57 argument:: g
58 a GridLines
60 returns:: self
63 METHOD:: vertGrid
64 set the y gridLines
66 argument:: g
67 a GridLines
69 returns:: self
72 METHOD:: bounds
73 get or set bounds
75 argument:: b
76 a Rect
78 returns:: a Rect
81 METHOD:: font
82 get or set Font
84 argument:: f
85 a Font
87 returns:: a Font
89 METHOD:: fontColor
90 get or set font color
92 argument:: c
93 a Color
95 returns:: a Color
97 METHOD:: gridColors
98 Set the colors of each of the axis.
100 argument:: colors
101 an array of two colors: x,y
103 returns:: self
105 METHOD:: opacity
106 get or set opacity
108 returns:: float
110 METHOD:: smoothing
111 see Pen smoothing
113 returns:: smoothing
115 METHOD:: linePattern
116 see Pen linePattern
118 returns:: (returnvalue)
120 METHOD:: init
121 private
123 argument:: bounds
124 argument:: h
125 argument:: v
126 returns:: (returnvalue)
128 METHOD:: x
129 private
130 A DrawGridX object that draws the x (horizontal) axis
132 returns:: a DrawGridX
134 METHOD:: y
135 private
136 A DrawGridY object that draws the y (vertical) axis
138 returns:: a DrawGridY
143 METHOD:: copy
144 safely make a copy of this object and its working members.
146 returns:: a new DrawGrid
148 METHOD:: clearCache
149 private
151 returns:: self
154 EXAMPLES::
156 code::
158 w = Window.new.front;
159 u = UserView(w,Rect(20,20,300,300));
160 // the Spec can define its preferred grid system
161 x =  \freq.asSpec.grid;
162 y =  \amp.asSpec.grid;
163 d = DrawGrid(Rect(0,0,500,300), x,y);
165 u.drawFunc = {
166         d.draw