C++ fixes.
[bertos.git] / drv / lcd_gfx_qt.cpp
index 4a3a4863ebcf9cc789e921e5bec3040d00a55a31..b8e91cfa59a64bb700cf84974dd95d29346430e4 100755 (executable)
 
 /*#*
  *#* $Log$
+ *#* Revision 1.3  2006/01/23 23:11:07  bernie
+ *#* Use RASTER_SIZE() to compute... err... the raster size.
+ *#*
+ *#* Revision 1.2  2006/01/17 02:30:43  bernie
+ *#* Fix QImage format.
+ *#*
  *#* Revision 1.1  2006/01/16 03:51:35  bernie
  *#* Add LCD Qt emulator.
  *#*
@@ -21,6 +27,7 @@
 
 #include "lcd_gfx_qt.h"
 #include <emul/emul.h>
+#include <cfg/debug.h>
 
 #include <qpainter.h>
 #include <qimage.h>
@@ -68,7 +75,7 @@ QSize EmulLCD::sizeHint() const
 
 void EmulLCD::drawContents(QPainter *p)
 {
-       QImage img(raster, WIDTH, HEIGHT, 1, NULL, 0, QImage::IgnoreEndian);
+       QImage img(raster, WIDTH, HEIGHT, 1, NULL, 0, QImage::BigEndian);
 
        p->setBackgroundMode(OpaqueMode);
        p->setPen(fg_color);
@@ -95,7 +102,7 @@ void EmulLCD::writeRaster(uint8_t *new_raster)
  * as required by the LCD driver.
  */
 DECLARE_WALL(wall_before_raster, WALL_SIZE)
-static uint8_t lcd_raster[EmulLCD::WIDTH * ((EmulLCD::HEIGHT + 7) / 8)];
+static uint8_t lcd_raster[RASTER_SIZE(EmulLCD::WIDTH, EmulLCD::HEIGHT)];
 DECLARE_WALL(wall_after_raster, WALL_SIZE)
 
 /*! Default LCD bitmap */
@@ -103,12 +110,16 @@ struct Bitmap lcd_bitmap;
 
 extern "C" void lcd_init(void)
 {
+       //INIT_WALL(wall_before_raster);
+       //INIT_WALL(wall_after_raster);
        gfx_bitmapInit(&lcd_bitmap, lcd_raster, EmulLCD::WIDTH, EmulLCD::HEIGHT);
        gfx_bitmapClear(&lcd_bitmap);
 }
 
 extern "C" void lcd_blit_bitmap(Bitmap *bm)
 {
+       //CHECK_WALL(wall_before_raster);
+       //CHECK_WALL(wall_after_raster);
        emul->emulLCD->writeRaster(bm->raster);
 }