aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/all_about_canvas_properties.pd
blob: 6f1a8745501ddb0a14fc1ae1cda0c75acf6f0acc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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
149
150
151
152
153
154
155
156
157
#N struct xy-units float x float y;
#N canvas 0 0 448 318 10;
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header canvas_properties
20 10 1 18 -261106 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#X obj 1 296 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 44 246 494 344 META 0;
#X text 12 85 HELP_PATCH_AUTHORS Dave Sabine \, May 5 \, 2003 . Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 65 LIBRARY PDDP;
#X text 12 5 GENRE all_about_pd;
#X text 12 25 KEYWORDS GUI needs_work;
#X text 12 45 DESCRIPTION settings for the visual appearance of a Pd
canvas;
#X restore 392 298 pd META;
#N canvas 10 196 428 114 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261106 -33289 0;
#X text 7 2 Canvas Properties- Related Objects;
#X obj 33 76 pddp/pddplink ../3.audio.examples/A05.output.subpatch.pd
;
#X text 33 45 The [output~] object used throughout the audio tutorials
is a "gop" enabled abstraction. See:;
#X restore 103 298 pd Related_objects;
#X obj 6 298 pddp/pddplink all_about.pd -text All About Pd;
#X text 21 37 You can access canvas properties by right-clicking on
an empty area of a canvas and choosing "Properties". (You can also
right-click on the object box of a subcanvas.);
#X text 21 78 Most of the settings only make sense for subwindows \,
but you can change them for a root canvas as well (for instance \,
if you want to use it later as an abstraction).;
#X text 21 197 hide object name and arguments: self-explanatory;
#X text 21 252 X and Y size: width and height of the gop canvas;
#X text 21 268 X and Y margins: which part of the gop canvas is shown
;
#X text 21 129 X units per pixel: scale data structures drawings;
#X text 21 144 Y units per pixel:;
#N canvas 12 79 428 253 gop 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
1 18 -261106 -33289 0;
#X text 7 1 Some examples of graph on parent (gop) subpatches;
#N canvas 0 0 414 354 gop_subpatch 0;
#X floatatom 105 126 5 0 0 1 count - -;
#X obj 105 104 inlet;
#X obj 105 171 + 1;
#X msg 170 145 set \$1;
#X obj 105 228 outlet;
#X text 25 15 Here's the inside. Notice that wires \, object boxes
\, and (unfortunately) message boxes don't show up on the parent patch.
;
#X obj 242 68 inlet;
#X msg 242 95 set 0;
#X text 24 257 The red box shows which area of this subpatch will be
visible on the parent canvas. Use the x/y "size" and "margin" settings
in the canvas properties menu to specify which portion of the subpatch
will be visible. You can also check the box for "hide object name and
arguments" (which can be useful for making GUI abstractions).;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 0 0;
#X coords 0 -1 1 1 120 65 1 100 100;
#X restore 28 143 pd gop_subpatch;
#X obj 28 118 bng 15 250 50 0 empty empty step 17 7 0 10 -4034 -1 -1
;
#X obj 28 218 print;
#X obj 141 118 bng 15 250 50 0 empty empty reset 17 7 0 10 -232576
-1 -1;
#X text 154 165 <- right-click inside the rectangle;
#X text 174 180 and choose "Open" to see the "innards"...;
#X text 25 27 "Graph on parent" lets you see (and use) GUI objects
that are inside a subpatch. Simply check the box next to "graph on
parent" in the canvas properties menu to enable this feature.;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 5 0 2 1;
#X restore 332 184 pd gop;
#X text 21 223 X range & Y range: for garrays and data structures;
#N canvas 12 79 428 376 xy-range 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
1 18 -261106 -33289 0;
#X text 7 1 X and Y Range;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-array 10 float 3;
#A 0 1.25716 0.514292 0.814295 1.27144 1.44287 1.57145 1.35716 1.18573
0.55715 1.28573;
#X coords 0 1 10 -1 200 140 1;
#X restore 102 212 graph;
#X text 24 37 Similar to "Units per pixel" \, but you can use these
settings to change how an array is displayed in a graph (as well as
data structures in a "gop"-enabled subpatch).;
#X text 24 87 For example: the Y-range for the array below is the default
1 to -1 \, yet many of the values lie above this range. Try changing
the Y-range to lie between 2 and 0 and you will see an improvement
in the display of this array.;
#X restore 332 224 pd xy-range;
#N canvas 174 40 427 544 units 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
1 18 -261106 -33289 0;
#X text 7 1 X and Y Units per Pixel;
#X text 19 357 1) Right-click on an empty portion of this subpatch
;
#X floatatom 254 191 5 0 0 2 x #0-x -;
#X floatatom 293 191 5 0 0 2 y #0-y -;
#X obj 293 220 t b a;
#X obj 274 243 set xy-units x y;
#N canvas 0 0 450 300 xy-units 0;
#X obj 42 146 filledpolygon 559 0 1 0 0 100 0 100 100 0 100;
#X obj 42 173 drawnumber x 5 5 0 x=;
#X obj 42 200 drawnumber y 5 35 0 y=;
#X obj 234 241 pointer;
#X obj 234 268 outlet;
#X obj 42 53 route displace;
#X obj 42 119 s \$0-x;
#X obj 135 118 s \$0-y;
#X msg 42 98 set \$1;
#X msg 135 98 set \$1;
#X obj 42 26 struct xy-units float x float y;
#X obj 42 76 get xy-units x y;
#X msg 234 214 traverse pd-units \, next;
#X obj 234 187 loadbang;
#X connect 3 0 4 0;
#X connect 5 0 11 0;
#X connect 8 0 6 0;
#X connect 9 0 7 0;
#X connect 10 0 5 0;
#X connect 11 0 8 0;
#X connect 11 1 9 0;
#X connect 12 0 3 0;
#X connect 13 0 12 0;
#X restore 337 206 pd xy-units;
#X scalar xy-units 130 209 \;;
#X text 19 377 2) In the "Canvas Properties" dialogue \, change the
values for the x/y units per pixel. For example \, changing x to 2
and y to -2 will make the square half its original size.;
#X text 19 427 3) Notice when you scroll the y value with the number
box above \, the rectangle moves in the opposite direction from the
mouse. This is because with the number box \, up = higher numbers \,
while with the canvas coordinates up = lower numbers. To change this
\, make the y units per pixel "1" instead of "-1" .;
#X text 19 512 4) That's it \, as far as I can tell...;
#X text 19 327 The square above is a scalar. You can use the "Units
per pixel" settings to scale its units in the following ways:;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 7 0 6 2;
#X restore 332 134 pd units;
#X text 21 163 graph on parent (gop): reveal part of a subpatch's content
;