X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Flcd_gfx_qt.cpp;h=e42be22d2fc98ae90c11b087dd32c738fea32450;hb=HEAD;hp=48456fce9afa2d219e91460926ef4d7daa123ab2;hpb=5f3952176a4e9a00ca8dd5ec4a6b994958f89e0a;p=bertos.git diff --git a/drv/lcd_gfx_qt.cpp b/drv/lcd_gfx_qt.cpp deleted file mode 100644 index 48456fce..00000000 --- a/drv/lcd_gfx_qt.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/** - * \file - * - * - * \version $Id$ - * - * \author Bernardo Innocenti - * - * \brief Custom control for graphics LCD emulation (interface) - */ - -/*#* - *#* $Log$ - *#* Revision 1.9 2006/07/19 12:56:25 bernie - *#* Convert to new Doxygen style. - *#* - *#* Revision 1.8 2006/05/28 12:17:57 bernie - *#* Drop almost all the Qt3 cruft. - *#* - *#* Revision 1.7 2006/04/27 05:43:08 bernie - *#* Fix naming conventions. - *#* - *#* Revision 1.6 2006/02/20 02:00:40 bernie - *#* Port to Qt 4.1. - *#* - *#* 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 - -// Display colors -#define LCD_FG_COLOR 0x0, 0x0, 0x0 -#define LCD_BG_COLOR 0xBB, 0xCC, 0xBB - - -EmulLCD::EmulLCD(QWidget *parent, const char *name) : - QFrame(parent, name, Qt::WRepaintNoErase | Qt::WResizeNoErase), - fg_color(LCD_FG_COLOR), - bg_color(LCD_BG_COLOR) -{ - // initialize bitmap - memset(raster, 0xAA, sizeof(raster)); - - // set widget frame - setFrameStyle(QFrame::Panel | QFrame::Sunken); - frame_width = frameWidth(); -} - - -EmulLCD::~EmulLCD() -{ - // nop -} - - -QSizePolicy EmulLCD::sizePolicy() const -{ - return QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed, false); -} - - -QSize EmulLCD::sizeHint() const -{ - return QSize( - WIDTH + frame_width * 2, - HEIGHT + frame_width * 2); -} - - -void EmulLCD::paintEvent(QPaintEvent * /*event*/) -{ - QPainter p(this); - QImage img(raster, WIDTH, HEIGHT, 1, NULL, 0, QImage::BigEndian); - - 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) -{ -#if CONFIG_BITMAP_FMT == BITMAP_FMT_PLANAR_H_MSB - - /* Straight copy */ - memcpy(raster, new_raster, sizeof(raster)); - -#elif CONFIG_BITMAP_FMT == BITMAP_FMT_PLANAR_V_LSB - - /* Rotation */ - for (int y = 0; y < HEIGHT; ++y) - { - for (int xbyte = 0; xbyte < WIDTH/8; ++xbyte) - { - uint8_t v = 0; - for (int xbit = 0; xbit < 8; ++xbit) - v |= (new_raster[(xbyte * 8 + xbit) + (y / 8) * WIDTH] & (1 << (y%8)) ) - ? 0 : (1 << (7 - xbit)); - - raster[y * ((WIDTH + 7) / 8) + xbyte] = v; - } - } - -#else - #error Unsupported bitmap format -#endif - - repaint(); -} - - - -#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. - */ -static uint8_t lcd_raster[RASTER_SIZE(EmulLCD::WIDTH, EmulLCD::HEIGHT)]; -DECLARE_WALL(wall_after_raster, WALL_SIZE) - -/** Default LCD bitmap */ -struct Bitmap lcd_bitmap; - -/*extern "C"*/ void lcd_init(void) -{ - //FIXME INIT_WALL(wall_before_raster); - //FIXME INIT_WALL(wall_after_raster); - gfx_bitmapInit(&lcd_bitmap, lcd_raster, EmulLCD::WIDTH, EmulLCD::HEIGHT); - gfx_bitmapClear(&lcd_bitmap); -} - -/*extern "C"*/ void lcd_blitBitmap(Bitmap *bm) -{ - //FIXME CHECK_WALL(wall_before_raster); - //FIXME CHECK_WALL(wall_after_raster); - emul->emulLCD->writeRaster(bm->raster); -} - -#include "lcd_gfx_qt_moc.cpp" -