X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Flcd_gfx_qt.cpp;h=e42be22d2fc98ae90c11b087dd32c738fea32450;hb=633a26b43c6a9a43ecb1d08425fbb53145e10bc1;hp=9ec7f8a57f24acc9b7afac19b176e2947d83eb6e;hpb=213f569b4ec44c845890603808e9e660758936fe;p=bertos.git diff --git a/drv/lcd_gfx_qt.cpp b/drv/lcd_gfx_qt.cpp old mode 100755 new mode 100644 index 9ec7f8a5..e42be22d --- a/drv/lcd_gfx_qt.cpp +++ b/drv/lcd_gfx_qt.cpp @@ -1,8 +1,33 @@ /** * \file * * * \version $Id$ @@ -12,34 +37,15 @@ * \brief Custom control for graphics LCD emulation (interface) */ -/*#* - *#* $Log$ - *#* Revision 1.5 2006/02/15 09:13:16 bernie - *#* Switch to BITMAP_FMT_PLANAR_V_LSB. - *#* - *#* Revision 1.4 2006/02/10 12:33:49 bernie - *#* Make emulator display a bit larger. - *#* - *#* 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. - *#* - *#*/ - #include "lcd_gfx_qt.h" #include #include #include // CONFIG_BITMAP_FMT -#include -#include -#include -#include +#include +#include +#include +#include // Display colors #define LCD_FG_COLOR 0x0, 0x0, 0x0 @@ -47,7 +53,7 @@ EmulLCD::EmulLCD(QWidget *parent, const char *name) : - QFrame(parent, name, WRepaintNoErase | WResizeNoErase), + QFrame(parent, name, Qt::WRepaintNoErase | Qt::WResizeNoErase), fg_color(LCD_FG_COLOR), bg_color(LCD_BG_COLOR) { @@ -80,14 +86,15 @@ QSize EmulLCD::sizeHint() const } -void EmulLCD::drawContents(QPainter *p) +void EmulLCD::paintEvent(QPaintEvent * /*event*/) { + QPainter p(this); QImage img(raster, WIDTH, HEIGHT, 1, NULL, 0, QImage::BigEndian); - p->setBackgroundMode(OpaqueMode); - p->setPen(fg_color); - p->setBackgroundColor(bg_color); - p->drawImage(frame_width, frame_width, img); + p.setBackgroundMode(Qt::OpaqueMode); + p.setPen(fg_color); + p.setBackgroundColor(bg_color); + p.drawImage(frame_width, frame_width, img); } void EmulLCD::writeRaster(uint8_t *new_raster) @@ -107,7 +114,7 @@ void EmulLCD::writeRaster(uint8_t *new_raster) uint8_t v = 0; for (int xbit = 0; xbit < 8; ++xbit) v |= (new_raster[(xbyte * 8 + xbit) + (y / 8) * WIDTH] & (1 << (y%8)) ) - ? (1 << (7 - xbit)) : 0; + ? 0 : (1 << (7 - xbit)); raster[y * ((WIDTH + 7) / 8) + xbyte] = v; } @@ -117,8 +124,7 @@ void EmulLCD::writeRaster(uint8_t *new_raster) #error Unsupported bitmap format #endif - QPainter p(this); - drawContents(&p); + repaint(); } @@ -126,17 +132,17 @@ void EmulLCD::writeRaster(uint8_t *new_raster) #include #include -/*! +DECLARE_WALL(wall_before_raster, WALL_SIZE) +/** * Raster buffer to draw into. * * Bits in the bitmap bytes have vertical orientation, * as required by the LCD driver. */ -DECLARE_WALL(wall_before_raster, WALL_SIZE) -static uint8_t lcd_raster[RASTER_SIZE(EmulLCD::WIDTH, EmulLCD::HEIGHT)]; +static uint8_t lcd_raster[RAST_SIZE(EmulLCD::WIDTH, EmulLCD::HEIGHT)]; DECLARE_WALL(wall_after_raster, WALL_SIZE) -/*! Default LCD bitmap */ +/** Default LCD bitmap */ struct Bitmap lcd_bitmap; /*extern "C"*/ void lcd_init(void) @@ -147,7 +153,7 @@ struct Bitmap lcd_bitmap; gfx_bitmapClear(&lcd_bitmap); } -/*extern "C"*/ void lcd_blit_bitmap(Bitmap *bm) +/*extern "C"*/ void lcd_blitBitmap(Bitmap *bm) { //FIXME CHECK_WALL(wall_before_raster); //FIXME CHECK_WALL(wall_after_raster);