Revision:
2:d6e572640dcc
Parent:
0:601fd83c75e0
Child:
5:1c78c0b4f513
--- a/draw2D.cpp	Wed Dec 29 11:48:54 2010 +0000
+++ b/draw2D.cpp	Thu Dec 30 16:49:46 2010 +0000
@@ -54,7 +54,7 @@
         if( x1 > x0 ) LineV( x1, y0, y1, raster );
     }
 }
-void DogMLCD::Rect( int x0, int y0, int x1, int y1, const unsigned char* p )
+void DogMLCD::Rect( int x0, int y0, int x1, int y1, const unsigned char* p, doggy_op raster )
 {
     BOUND( x0, 0, 127 )
     BOUND( x1, 0, 127 )
@@ -62,9 +62,9 @@
     BOUND( y1, 0, 63 )
     ORDER( x0, x1 )
     ORDER( y0, y1 )
-    //RasterOp op = ((RasterOp[]){ &DogMLCD::Poke, &DogMLCD::Wipe, &DogMLCD::Inv })[raster];
+    RasterOp op = ((RasterOp[]){ &DogMLCD::Poke, &DogMLCD::Wipe, &DogMLCD::Inv })[raster];
     for( int x = x0 ; x <= x1 ; x++ )
         for( int y = y0 ; y <= y1 ; y++ )
             if( p[x & 7] & ( 1 << ( y & 7 ) ) )
-                Poke( x, y );
+                (this->*op)( x, y );
 }
\ No newline at end of file