[Gridflow-cvs] [svn] commit: r4348 - in /trunk/doc: flow_classes/#downscale_by-help.pd flow_classes/#scale_by-help.pd flow_classes/#scale_to-help.pd flow_classes/#store-help.pd reference.xml

gridflow-cvs at artengine.ca gridflow-cvs at artengine.ca
Sat Oct 24 16:48:10 EDT 2009


Author: matju
Date: Sat Oct 24 16:48:09 2009
New Revision: 4348

Log:
déixemmellification

Modified:
    trunk/doc/flow_classes/#downscale_by-help.pd
    trunk/doc/flow_classes/#scale_by-help.pd
    trunk/doc/flow_classes/#scale_to-help.pd
    trunk/doc/flow_classes/#store-help.pd
    trunk/doc/reference.xml

Modified: trunk/doc/flow_classes/#downscale_by-help.pd
==============================================================================
--- trunk/doc/flow_classes/#downscale_by-help.pd (original)
+++ trunk/doc/flow_classes/#downscale_by-help.pd Sat Oct 24 16:48:09 2009
@@ -1,4 +1,4 @@
-#N canvas 176 0 558 657 10;
+#N canvas 676 0 558 657 10;
 #X obj 181 115 metro 10;
 #X obj 181 96 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
 ;
@@ -9,29 +9,39 @@
 #X obj 251 162 #pack 2;
 #X obj 165 186 #downscale_by;
 #X obj 165 212 #out window;
-#X text 99 349 GRID;
-#X text 89 402 INTEGER;
 #X text 9 24 Scales down a picture by a specified amount.;
-#X text 149 351 Receives a grid.;
-#X obj 100 624 #scale_to;
-#X obj 171 624 #scale_by;
-#X text 161 401 The value defines the scale factor. A pack object allows
-you to vary the horizontal and vertical values idenpendently. Inlet
-0 of [#pack] varies the image on a vertical axis \, inlet 1 of [#pack]
-varies the image on a horizontal axis.;
-#X text 82 572 Outputs the resulting grid.;
-#X text 100 281 INTEGER;
-#X text 168 282 The value downscales the image according to the specified
-value.;
+#X obj 100 684 #scale_to;
+#X obj 171 684 #scale_by;
 #X obj 0 0 doc_h;
-#X obj 3 251 doc_c 1;
-#X obj 3 625 doc_also;
-#X obj 3 540 doc_o 1;
-#X obj 14 564 doc_oo 0;
-#X obj 3 318 doc_i 2;
-#X obj 14 352 doc_ii 0;
-#X obj 14 402 doc_ii 1;
+#X obj 3 685 doc_also;
+#X obj 3 600 doc_o 1;
+#X obj 14 624 doc_oo 0;
+#X obj 3 478 doc_i 2;
+#X obj 14 512 doc_ii 0;
+#X obj 14 542 doc_ii 1;
 #X obj 14 278 doc_cc 0;
+#X obj 100 278 doc_m c0 grid;
+#X obj 3 250 doc_c 1..2;
+#X obj 100 509 doc_m i0 grid;
+#X text 191 277 The value defines the scale factor. A pack object allows
+you to vary the horizontal and vertical values idenpendently. In the
+example above \, inlet 0 of [#pack] varies the image on a vertical
+axis \, inlet 1 of [#pack] varies the image on a horizontal axis.;
+#X obj 100 542 doc_m i1 grid;
+#X text 193 542 same as arg 0;
+#X text 196 508 Scales down picture by specified amount. (See scale
+factor above);
+#X text 202 622 grid((factor/y) (factor/x) channels);
+#X text 193 348 factor is optional (default is 2).;
+#X text 193 370 if it's a single value \, then that factor is to be
+used for both rows and column.s;
+#X obj 100 623 doc_m o0 grid;
+#X obj 14 409 doc_cc 1;
+#X obj 100 409 doc_m c1 symbol;
+#X text 199 407 "smoothly": does the downscale by averaging each block
+of pixels.;
+#X text 201 436 omitted: does the downscale by keeping only the top
+right pixel in the block.;
 #X connect 0 0 3 0;
 #X connect 1 0 0 0;
 #X connect 2 0 6 0;

Modified: trunk/doc/flow_classes/#scale_by-help.pd
==============================================================================
--- trunk/doc/flow_classes/#scale_by-help.pd (original)
+++ trunk/doc/flow_classes/#scale_by-help.pd Sat Oct 24 16:48:09 2009
@@ -1,12 +1,10 @@
-#N canvas 670 77 557 628 10;
+#N canvas 690 0 557 671 10;
 #X obj 11 82 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
 #X obj 11 102 metro 100;
 #X obj 89 149 #in;
-#X obj 103 560 #scale_to;
-#X obj 173 560 #downscale_by;
-#X text 7 362 GRID;
-#X text 3 523 GRID;
-#X text 64 523 Outputs the resulting scaled image.;
+#X obj 103 610 #scale_to;
+#X obj 173 610 #downscale_by;
+#X text 213 547 Outputs the resulting scaled image.;
 #X obj 89 227 #out window \, title #scale_by;
 #X msg 89 85 open bluemarble.jpg \, bang;
 #X obj 89 183 #scale_by 2;
@@ -16,25 +14,34 @@
 #X msg 227 129 2 # 2 1;
 #X msg 230 152 2 # 2 3;
 #X floatatom 181 131 5 0 0 0 - - -;
-#X text 4 436 INT;
-#X text 61 435 Scaling factor.;
-#X text 62 363 The Grid on which the scale_to will be performed.;
+#X text 206 393 The Grid on which the scale_to will be performed.;
 #X obj 0 0 doc_h;
-#X obj 3 318 doc_i 2;
-#X obj 3 472 doc_o 1;
-#X text 103 285 INT;
-#X text 164 284 The scaling factor (defaults to 2).;
-#X obj 3 560 doc_also;
-#X obj 14 496 doc_oo 0;
-#X obj 14 342 doc_ii 0;
-#X obj 14 407 doc_ii 1;
+#X obj 3 368 doc_i 2;
+#X obj 3 522 doc_o 1;
+#X text 198 280 The scaling factor (defaults to 2).;
+#X obj 3 610 doc_also;
+#X obj 14 546 doc_oo 0;
+#X obj 14 392 doc_ii 0;
+#X obj 14 474 doc_ii 1;
 #X obj 14 282 doc_cc 0;
-#X obj 3 256 doc_c 0..1;
+#X obj 100 392 doc_m i0 grid;
+#X obj 100 282 doc_m c0 grid;
+#X obj 100 474 doc_m i1 grid;
+#X obj 3 255 doc_c 0..1;
+#X text 201 472 same as arg 0;
+#X text 197 298 if it's a single value \, then that factor is to be
+used for both rows and columns.;
+#X text 205 407 duplicates each pixel several times in width and several
+times in height \, where the number of times is determined by the factor
+described above. twice those of the incoming grid. It is several times
+faster.;
+#X text 213 566 grid((factor*y) (factor*x) channels);
+#X obj 100 546 doc_m o0 grid;
 #X connect 0 0 1 0;
 #X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 9 0 2 0;
-#X connect 10 0 8 0;
-#X connect 12 0 10 1;
-#X connect 13 0 10 1;
-#X connect 14 0 10 1;
+#X connect 2 0 8 0;
+#X connect 7 0 2 0;
+#X connect 8 0 6 0;
+#X connect 10 0 8 1;
+#X connect 11 0 8 1;
+#X connect 12 0 8 1;

Modified: trunk/doc/flow_classes/#scale_to-help.pd
==============================================================================
--- trunk/doc/flow_classes/#scale_to-help.pd (original)
+++ trunk/doc/flow_classes/#scale_to-help.pd Sat Oct 24 16:48:09 2009
@@ -1,12 +1,12 @@
-#N canvas 122 0 556 615 10;
+#N canvas 674 0 556 615 10;
 #X obj 11 75 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
 #X obj 11 94 metro 100;
 #X obj 89 171 #scale_to (133 133);
 #X obj 89 133 #in;
 #X obj 284 159 #pack;
-#X obj 325 138 hsl 128 8 0 640 0 0 empty empty empty 0 -8 0 8 -260818
+#X obj 325 138 hsl 128 15 0 640 0 0 empty empty empty 0 -8 0 8 -260818
 -1 -1 0 1;
-#X obj 325 148 hsl 128 8 0 640 0 0 empty empty empty 0 -8 0 8 -260818
+#X obj 325 158 hsl 128 15 0 640 0 0 empty empty empty 0 -8 0 8 -260818
 -1 -1 0 1;
 #X obj 89 208 #out window \, title #scale_to;
 #X obj 176 541 #downscale_by;
@@ -14,25 +14,20 @@
 #X obj 300 183 #print;
 #X msg 284 75 2 # 500 500;
 #X obj 412 97 #print;
-#X text 87 333 GRID;
 #X msg 284 94 2 # 100 500;
 #X msg 285 115 2 # 500 100;
 #X text 460 133 height;
-#X text 460 145 width;
-#X text 144 389 A height width value pair in pixels.;
-#X text 93 484 GRID;
-#X text 154 484 Outputs the resulting scaled image.;
-#X text 133 266 INT INT;
-#X text 195 264 A (height width) pair of integers indicating the size
+#X text 460 155 width;
+#X text 192 483 Outputs the resulting scaled image.;
+#X text 209 264 A (height width) pair of integers indicating the size
 to scale to image to. This initial argument is required.;
-#X text 142 334 The Grid passed at inlet 0 will be the image on which
+#X text 194 330 The Grid passed at inlet 0 will be the image on which
 the scale_to will be performed.;
 #X text 284 58 2 grid size values y=500 x=500;
 #X obj 103 541 #scale_by;
 #X text 9 22 The [#scale_to] scales the image received to the x and
 y values passed. Initial creation arguments are mandatory (0 0) otherwise.
 ;
-#X text 85 390 INT INT;
 #X obj 0 0 doc_h;
 #X obj 3 306 doc_i 2;
 #X obj 3 240 doc_c 1;
@@ -42,6 +37,11 @@
 #X obj 14 330 doc_ii 0;
 #X obj 14 392 doc_ii 1;
 #X obj 14 264 doc_cc 0;
+#X obj 100 264 doc_m c0 (int int);
+#X obj 100 330 doc_m i0 grid;
+#X text 223 389 same as arg 0;
+#X obj 100 390 doc_m i1 (int int);
+#X obj 100 484 doc_m o0 grid;
 #X connect 0 0 1 0;
 #X connect 1 0 3 0;
 #X connect 2 0 7 0;
@@ -53,7 +53,7 @@
 #X connect 9 0 3 0;
 #X connect 11 0 2 1;
 #X connect 11 0 12 0;
+#X connect 13 0 2 1;
+#X connect 13 0 12 0;
 #X connect 14 0 2 1;
 #X connect 14 0 12 0;
-#X connect 15 0 2 1;
-#X connect 15 0 12 0;

Modified: trunk/doc/flow_classes/#store-help.pd
==============================================================================
--- trunk/doc/flow_classes/#store-help.pd (original)
+++ trunk/doc/flow_classes/#store-help.pd Sat Oct 24 16:48:09 2009
@@ -1,5 +1,4 @@
-#N canvas 670 44 554 638 10;
-#X text 99 365 BANG;
+#N canvas 666 0 568 717 10;
 #X floatatom 132 89 5 0 0 0 - - -;
 #X floatatom 177 89 5 0 0 0 - - -;
 #X floatatom 20 160 5 0 0 0 - - -;
@@ -18,51 +17,82 @@
 #X obj 20 131 #unpack;
 #X obj 132 175 #unpack 3;
 #X obj 134 150 #store;
-#X text 150 364 A bang at the left inlet will force [#store] to send
-its value to the outlet.;
-#X text 97 332 GRID;
 #X text 129 54 this example allows you to select a single pixel from
 the loaded picture and view its rgb value.;
 #X text 8 24 The [#store] stores exactly one grid \, using the right
 inlet. You fetch it back \, or selected subparts using the left inlet.
 ;
-#X text 100 261 GRID;
-#X text 150 263 [#store] accepts a grid as a creation argument which
+#X text 206 257 [#store] accepts a grid as a creation argument which
 initializes the first value to be stored.;
 #X obj 296 181 display;
 #X obj 86 94 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
 -1;
 #X obj 296 161 display;
-#X text 149 331 Accepts a grid.;
-#X text 97 431 GRID;
-#X text 150 431 Accepts a grid or a subpart of it.;
-#X text 152 461 Reassign;
-#X text 153 483 put_at;
-#X text 221 470 To be clarified;
-#X text 12 589 GRID;
-#X text 59 589 Outputs the grid as requested.;
 #X obj 296 96 loadbang;
-#X obj 3 306 doc_i 2;
+#X obj 3 296 doc_i 2;
 #X obj 0 0 doc_h;
 #X obj 3 234 doc_c 1;
-#X obj 14 330 doc_ii 0;
-#X obj 14 419 doc_ii 1;
-#X obj 3 529 doc_o 1;
-#X obj 14 553 doc_oo 0;
+#X obj 14 320 doc_ii 0;
+#X obj 14 539 doc_ii 1;
+#X obj 3 869 doc_o 1;
+#X obj 14 893 doc_oo 0;
 #X obj 14 258 doc_cc 0;
-#X connect 1 0 13 0;
-#X connect 2 0 13 1;
-#X connect 13 0 16 0;
-#X connect 13 0 18 0;
-#X connect 13 0 27 0;
-#X connect 14 0 18 1;
-#X connect 15 0 14 0;
+#X obj 100 257 doc_m c0 grid;
+#X obj 100 366 doc_m i0 grid;
+#X obj 100 321 doc_m i0 bang;
+#X text 202 324 A bang at the left inlet will cause [#store] to send
+its value to the outlet.;
+#X obj 100 539 doc_m i1 grid;
+#X text 204 538 when in reassign mode \, this is same as arg 0;
+#X text 204 555 when it put_at mode \, it basically keeps the previous
+arg 0 or reassignment \, but replaces a selected part inside of it.
+;
+#X obj 90 597 doc_m i1 reassign;
+#X obj 90 647 doc_m i1 put_at;
+#X obj 100 893 doc_m o0 grid;
+#X text 198 366 in this grid \, the last dimension refers to subparts
+of the stored grid. sending a Dim(200 \, 200 \, 2) on a [#store] that
+holds a Dim(240 \, 320 \, 3) will cause the [#store] to handle the
+incoming grid as a Dim(200 \, 200) of Dim(2)'s \, where each Dim(2)
+represents a position in a Dim(240 \, 320) of Dim(3)'s. therefore the
+resulting grid will be a Dim(200 \, 200) of Dim(3) which is a Dim(200
+\, 200 \, 3). in practice this example would be used for generating
+a 200*200 RGB picture from a 200*200 XY map and a 240*320 RGB picture.
+this object can be logically used in the same way for many purposes
+including color palettes \, tables of probabilities \, tables of statistics
+\, whole animations \, etc.;
+#X text 199 593 makes it so that sending a grid to inlet 1 detaches
+the old buffer from [#store] and attaches a new one instead. This is
+the default.;
+#X text 199 642 makes it so that sending a grid to inlet 1 writes into
+the existing buffer of [#store].;
+#X text 198 677 example: suppose you have [#store 10 240 320 3]. then
+"put_at 3" will allow to write a Dim[240 \, 320 \, 3] grid in indices
+(3 \, y \, x \, c) where y \, x \, c are indices of the incoming grid.
+in other words \, if that's a buffer of 10 RGB frames \, you'd be replacing
+frame #3. Furthermore \, it also allows you to write a Dim[n \, 240
+\, 320 \, 3] grid at (3+f \, y \, x \, c) where f \, y \, x \, c are
+indices of the incoming grid \, replacing frame #3 \, #4 \, ... up
+to #3+n-1. Here n is at most 7 because the last frame in the buffer
+is #9.;
+#X text 198 804 that way of working extends to other kinds of data
+you'd put in Grids \, in any numbers of dimensions. because \, as usual
+\, [#store] wouldn't know the difference.;
+#X text 202 894 grids as stored \, as indexed \, or as assembled from
+multiple indexings.;
+#X connect 0 0 12 0;
+#X connect 1 0 12 1;
+#X connect 12 0 15 0;
+#X connect 12 0 17 0;
+#X connect 12 0 23 0;
+#X connect 13 0 17 1;
+#X connect 14 0 13 0;
+#X connect 15 0 2 0;
+#X connect 15 1 9 0;
 #X connect 16 0 3 0;
-#X connect 16 1 10 0;
-#X connect 17 0 4 0;
-#X connect 17 1 6 0;
-#X connect 17 2 7 0;
-#X connect 18 0 17 0;
-#X connect 18 0 25 0;
-#X connect 26 0 18 0;
-#X connect 36 0 15 0;
+#X connect 16 1 5 0;
+#X connect 16 2 6 0;
+#X connect 17 0 16 0;
+#X connect 17 0 21 0;
+#X connect 22 0 17 0;
+#X connect 24 0 14 0;

Modified: trunk/doc/reference.xml
==============================================================================
--- trunk/doc/reference.xml (original)
+++ trunk/doc/reference.xml Sat Oct 24 16:48:09 2009
@@ -1,121 +1,3 @@
-	<class name="#store">
-		A [#store] object can store exactly one grid, using the right
-		inlet. You fetch it back, or selected subparts thereof, using the left
-		inlet.
-
-		<method name="init">
-			<arg name="contents" type="grid"/>
-		</method>
-
-		<inlet id="0">
-			<method name="bang">
-				the stored grid is fully sent to the outlet.
-			</method>
-			<method name="grid"><arg name="grid" type="grid(dims..., indices)"/>
-				in this grid, the last dimension refers to subparts of
-				the stored grid. sending a Dim(200,200,2) on a [#store]
-				that holds a Dim(240,320,3) will cause the [#store] to handle
-				the incoming grid as a Dim(200,200) of Dim(2)'s, where each
-				Dim(2) represents a position in a Dim(240,320) of Dim(3)'s.
-				therefore the resulting grid will be a Dim(200,200) of
-				Dim(3) which is a Dim(200,200,3). in practice this example
-				would be used for generating a 200*200 RGB picture from a
-				200*200 XY map and a 240*320 RGB picture. this object can
-				be logically used in the same way for many purposes
-				including color palettes, tables of probabilities, tables
-				of statistics, whole animations, etc.
-			</method>
-		</inlet>
-		<inlet id="1">
-			<method name="grid"><arg name="grid" type="grid(dims...)"/>
-			replace the whole grid, or a subpart of it (see other options on inlet 1)
-			</method>
-		</inlet>
-		<inlet id="1">
-			<method name="reassign">(Future Use): 
-				makes it so that sending a grid to inlet 1 detaches the old buffer from [#store]
-				and attaches a new one instead.  This is the default.
-			</method>
-			<method name="put_at"><rest name="indices"/>(Future Use): 
-				makes it so that sending a grid to inlet 1 writes into the existing buffer of [#store].
-				
-				example: suppose you have [#store {10 240 320 3}]. then "put_at 3"
-				will allow to write a Dim[240,320,3] grid in indices (3,y,x,c) where y,x,c are indices of the incoming grid;
-				in other words, if that's a buffer of 10 RGB frames, you'd be replacing frame #3. Furthermore,
-				it also allows you to write a Dim[n,240,320,3] grid at (3+f,y,x,c) where f,y,x,c are indices of the incoming grid,
-				replacing frame #3, #4, ... up to #3+n-1. Here n is at most 7 because the last frame in the buffer is #9.
-				
-				that way of working extends to other kinds of data you'd put in Grids, in any numbers of dimensions;
-				because, as usual, [#store] wouldn't know the difference.
-				
-			</method>
-		</inlet>
-		<outlet id="0">
-			grids as stored, as indexed, or as assembled from multiple
-			indexings.
-		</outlet>
-	</class>
-
-	<class name="#scale_to">
-		<method name="init">
-			<arg name="size">{height width} pair.</arg>
-		</method>
-
-		<inlet id="0">
-			<method name="grid"><arg name="grid" type="grid"/>a 3-channel picture to be scaled.</method>
-		</inlet>
-		<inlet id="1">
-			<method name="int">a {height width} pair.</method>
-		</inlet>
-		<outlet id="0">
-			<method name="grid"><arg name="grid" type="grid"/>a scaled 3-channel picture.</method>
-		</outlet>
-	</class>
-
-	<class name="#scale_by">
-		<method name="init">
-			<arg name="factor" type="grid dim() or dim(2)"/>
-			factor is optional (default is 2).
-			if it's a single value, then that factor is to be used
-			for both rows and columns.
-		</method>
-		<inlet id="0">
-			<method name="grid"><arg name="grid" type="grid(y x channels)"/>
-			duplicates each pixel several times in width and several times in height,
-			where the number of times is determined by the factor described above.
-			twice those of the incoming grid. It is several times faster.
-			</method>
-		</inlet>
-		<inlet id="1"><method name="grid"><arg name="grid" type="grid(1 or 2)"/>sets factor</method></inlet>
-		<outlet id="0">
-			<method name="grid">
-				<arg name="grid" type="grid((factor*y) (factor*x) channels)"/>
-			</method>
-		</outlet>
-	</class>
-
-	<class name="#downscale_by">
-		<method name="init">
-			<arg name="factor" type="+integer"/>
-			<arg name="how" type="optional symbol(smoothly)"/>
-			factor is optional (default is 2).
-			if it's a single value, then that factor is to be used
-			for both rows and columns.
-		</method>
-		<inlet id="0">
-			<method name="grid"><arg name="grid" type="grid(y x channels)"/>
-			Scales down picture by specified amount. (See scale factor above)
-			</method>
-		</inlet>
-		<inlet id="1"><method name="grid">
-			<arg name="grid" type="grid(1 or 2)"/>sets scale factor</method></inlet>
-		<outlet id="0">
-			<method name="grid">
-				<arg name="grid" type="grid((factor/y) (factor/x) channels)"/>
-		</method>
-		</outlet>
-	</class>
-
 	<class name="#spread">
 		typically you plug a [#for] into this object,
 		and you plug this object into the left side of a [#store]. it will
@@ -270,6 +152,132 @@
 		<outlet id="0"><method name="grid">
 			<arg name="grid" type="grid(rows columns {y u v})"/>
 		</method></outlet>
+	</class>
+
+	<class name="#contrast">
+		<method name="init">
+			<arg name="iwhiteness" default="256">same as inlet 1.</arg>
+			<arg name="contrast" default="256">same as inlet 2.</arg>
+		</method>
+
+		<inlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(rows columns channels)"/>
+			produces a grid like the incoming grid but with
+			different constrast.
+			</method>
+			[#contrast] adjusts the intensity in an image.
+			resulting values outside 0-255 are automatically clipped.
+		</inlet>
+		<inlet id="1">
+			<method name="int">
+			this is the secondary contrast (inverse whiteness).
+			it makes the incoming black
+			correspond to a certain fraction between output black and the
+			master contrast value. no effect is 256. default value is 256.
+			</method>	
+		</inlet>
+		<inlet id="2">
+			<method name="int">
+			this is the master contrast. it makes the incoming white
+			correspond to a certain fraction between output black and output
+			white. no effect is 256. default value is 256.
+			</method>	
+		</inlet>
+		<outlet>
+			<method name="grid">
+				<arg name="grid" type="grid(rows columns channels)"/>
+			</method>
+		</outlet>
+	</class>
+
+	<class name="#posterize">
+		[#posterize] reduces the number of possible intensities in an image;
+		it rounds the color values.The effect is mostly apparent with a low
+		number of levels.
+
+		<method name="init">
+			<arg name="levels">same as inlet 1</arg>
+		</method>
+
+		<inlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(rows columns channels)"/>
+				produces a posterized picture from the input picture.
+			</method>
+		</inlet>
+
+		<inlet id="1">
+			<method name="int">
+				this is the number of possible levels per channel. the
+				levels are equally spaced, with the lowest at 0 and the
+				highest at 255. the minimum number of levels is 2, and the
+				default value is 2.
+			</method>
+		</inlet>
+		
+		<outlet id="0">
+		</outlet>
+
+		example: simulate the 216-color "web" palette using 6 levels.
+		simulate a 15-bit display using 32 levels.
+	</class>
+
+	<class name="#solarize">
+		makes medium intensities brightest; formerly brightest colours
+		become darkest; formerly darkest stays darkest. This filter is linear:
+		it's like a 200% contrast except that overflows are <i>mirrored</i>
+		instead of clipped or wrapped.
+		<inlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(rows columns channels)"/></method>
+		</inlet>
+		<outlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(rows columns channels)"/></method>
+		</outlet>
+	</class>
+
+	<class name="#checkers">
+		<inlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(y x {y x})"/>
+				result from a [#for {0 0} {height width} {1 1}]
+			</method>
+		</inlet>
+		<outlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(y x {r g b})"/>
+				checkered pattern of 50%/75% greys
+				in 8x8 squares
+			</method>
+		</outlet>
+	</class>
+
+	<class name="#layer">
+		<inlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(y x {r g b a})"/>
+				a picture that has an opacity channel.
+				will be used as foreground.
+			</method>
+		</inlet>
+		<inlet id="1">
+			<method name="grid">
+				<arg name="grid" type="grid(y x {r g b})"/>
+				a picture that has NO opacity channel.
+				will be used as background.
+			</method>
+		</inlet>
+		<outlet id="0">
+			<method name="grid">
+				<arg name="grid" type="grid(y x {r g b})"/>
+				a picture that has NO opacity channel.
+				the opacity channel of the foreground is used as
+				a weighting of how much of either picture is seen
+				in the result.
+			</method>
+		</outlet>
 	</class>
 
 	<class name="#text_to_image">



More information about the Gridflow-cvs mailing list