|
|
| version 1.1, 2003/11/26 15:08:42 | version 1.2, 2003/12/19 16:08:02 |
|---|---|
| Line 39 | Line 39 |
| static emulationScreen *pEmulationScreen = 0; | static emulationScreen *pEmulationScreen = 0; |
| static SCRNSURF scrnsurf; | static SCRNSURF scrnsurf; |
| SCRNMNG scrnmng; | static SCRNMNG scrnmng; |
| SCRNMNG *scrnmngp = &scrnmng; | |
| void | void |
| Line 69 RGB16 | Line 71 RGB16 |
| scrnmng_makepal16(RGB32 pal32) | scrnmng_makepal16(RGB32 pal32) |
| { | { |
| return pEmulationScreen->makePal16(pal32); | return pEmulationScreen->makePalette16bpp(pal32); |
| } | } |
| void | void |
| Line 122 emulationScreen::paintEvent(QPaintEvent | Line 124 emulationScreen::paintEvent(QPaintEvent |
| UNUSED(ev); | UNUSED(ev); |
| if (m_Painter == 0) { | if (m_Painter == 0) { |
| #if !defined(Q_WS_QWS) | |
| m_Painter = new QPainter(this); | m_Painter = new QPainter(this); |
| #else | |
| m_Painter = new QDirectPainter(this); | |
| #endif | |
| scrndraw_redraw(); | scrndraw_redraw(); |
| DELETE(m_Painter); | DELETE(m_Painter); |
| } | } |
| } | } |
| void | |
| emulationScreen::make16mask(UINT32 bmask, UINT32 rmask, UINT32 gmask) | |
| { | |
| BYTE sft; | |
| sft = 0; | |
| while ((!(bmask & 0x80)) && (sft < 32)) { | |
| bmask <<= 1; | |
| sft++; | |
| } | |
| m_pal16mask.p.b = (BYTE)bmask; | |
| m_r16b = sft; | |
| sft = 0; | |
| while ((rmask & 0xffffff00) && (sft < 32)) { | |
| rmask >>= 1; | |
| sft++; | |
| } | |
| m_pal16mask.p.r = (BYTE)rmask; | |
| m_l16r = sft; | |
| sft = 0; | |
| while ((gmask & 0xffffff00) && (sft < 32)) { | |
| gmask >>= 1; | |
| sft++; | |
| } | |
| m_pal16mask.p.g = (BYTE)gmask; | |
| m_l16g = sft; | |
| } | |
| BOOL | BOOL |
| emulationScreen::createScreen(BYTE mode) | emulationScreen::createScreen(BYTE mode) |
| { | { |
| Line 212 emulationScreen::createScreen(BYTE mode) | Line 188 emulationScreen::createScreen(BYTE mode) |
| m_DefaultExtend = 1; | m_DefaultExtend = 1; |
| if (inf.bpp == 16) { | if (inf.bpp == 16) { |
| make16mask(inf.mask.red, inf.mask.green, inf.mask.blue); | drawmng_make16mask(&m_pal16mask, inf.mask.red, inf.mask.green, inf.mask.blue); |
| } else if (inf.bpp == 8) { | } else if (inf.bpp == 8) { |
| } | } |
| } | } |
| Line 373 emulationScreen::unlockSurface(const SCR | Line 349 emulationScreen::unlockSurface(const SCR |
| { | { |
| if (surf) { | if (surf) { |
| #if !defined(Q_WS_QWS) | |
| *m_Offscreen = *m_Surface; | *m_Offscreen = *m_Surface; |
| if (scrnmng.palchanged) { | if (scrnmng.palchanged) { |
| Line 392 emulationScreen::unlockSurface(const SCR | Line 369 emulationScreen::unlockSurface(const SCR |
| } | } |
| bitBlt(this, m_DestPoint, m_Offscreen, m_SrcRect, Qt::CopyROP); | bitBlt(this, m_DestPoint, m_Offscreen, m_SrcRect, Qt::CopyROP); |
| } | } |
| #else | |
| // not implemented yet... | |
| #endif | |
| } | } |
| } | } |