Diff: draw2D.cpp
- 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