(svn r23446) -Codechange: move _cur_palette and it's related first/count dirty variables into a single structure
This commit is contained in:
@@ -75,9 +75,9 @@ static void UpdatePalette(uint start, uint count)
|
||||
|
||||
uint end = start + count;
|
||||
for (uint i = start; i != end; i++) {
|
||||
pal[i].r = _cur_palette[i].r / 4;
|
||||
pal[i].g = _cur_palette[i].g / 4;
|
||||
pal[i].b = _cur_palette[i].b / 4;
|
||||
pal[i].r = _cur_palette.palette[i].r / 4;
|
||||
pal[i].g = _cur_palette.palette[i].g / 4;
|
||||
pal[i].b = _cur_palette.palette[i].b / 4;
|
||||
pal[i].filler = 0;
|
||||
}
|
||||
|
||||
@@ -91,16 +91,16 @@ static void InitPalette()
|
||||
|
||||
static void CheckPaletteAnim()
|
||||
{
|
||||
if (_pal_count_dirty != 0) {
|
||||
if (_cur_palette.count_dirty != 0) {
|
||||
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
|
||||
|
||||
switch (blitter->UsePaletteAnimation()) {
|
||||
case Blitter::PALETTE_ANIMATION_VIDEO_BACKEND:
|
||||
UpdatePalette(_pal_first_dirty, _pal_count_dirty);
|
||||
UpdatePalette(_cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_BLITTER:
|
||||
blitter->PaletteAnimate(_pal_first_dirty, _pal_count_dirty);
|
||||
blitter->PaletteAnimate(_cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_NONE:
|
||||
@@ -109,7 +109,7 @@ static void CheckPaletteAnim()
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
_pal_count_dirty = 0;
|
||||
_cur_palette.count_dirty = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
#ifndef VIDEO_COCOA_H
|
||||
#define VIDEO_COCOA_H
|
||||
|
||||
#include <AvailabilityMacros.h>
|
||||
|
||||
#include "../video_driver.hpp"
|
||||
|
||||
class VideoDriver_Cocoa: public VideoDriver {
|
||||
|
||||
@@ -90,16 +90,16 @@ static void QZ_WarpCursor(int x, int y)
|
||||
|
||||
static void QZ_CheckPaletteAnim()
|
||||
{
|
||||
if (_pal_count_dirty != 0) {
|
||||
if (_cur_palette.count_dirty != 0) {
|
||||
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
|
||||
|
||||
switch (blitter->UsePaletteAnimation()) {
|
||||
case Blitter::PALETTE_ANIMATION_VIDEO_BACKEND:
|
||||
_cocoa_subdriver->UpdatePalette(_pal_first_dirty, _pal_count_dirty);
|
||||
_cocoa_subdriver->UpdatePalette(_cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_BLITTER:
|
||||
blitter->PaletteAnimate(_pal_first_dirty, _pal_count_dirty);
|
||||
blitter->PaletteAnimate(_cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_NONE:
|
||||
@@ -108,7 +108,7 @@ static void QZ_CheckPaletteAnim()
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
_pal_count_dirty = 0;
|
||||
_cur_palette.count_dirty = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -494,9 +494,9 @@ public:
|
||||
for (uint32_t index = first_color; index < first_color + num_colors; index++) {
|
||||
/* Clamp colors between 0.0 and 1.0 */
|
||||
CGDeviceColor color;
|
||||
color.red = _cur_palette[index].r / 255.0;
|
||||
color.blue = _cur_palette[index].b / 255.0;
|
||||
color.green = _cur_palette[index].g / 255.0;
|
||||
color.red = _cur_palette.palette[index].r / 255.0;
|
||||
color.blue = _cur_palette.palette[index].b / 255.0;
|
||||
color.green = _cur_palette.palette[index].g / 255.0;
|
||||
|
||||
CGPaletteSetColorAtIndex(this->palette, color, index);
|
||||
}
|
||||
|
||||
@@ -468,9 +468,9 @@ void WindowQuartzSubdriver::UpdatePalette(uint first_color, uint num_colors)
|
||||
|
||||
for (uint i = first_color; i < first_color + num_colors; i++) {
|
||||
uint32 clr = 0xff000000;
|
||||
clr |= (uint32)_cur_palette[i].r << 16;
|
||||
clr |= (uint32)_cur_palette[i].g << 8;
|
||||
clr |= (uint32)_cur_palette[i].b;
|
||||
clr |= (uint32)_cur_palette.palette[i].r << 16;
|
||||
clr |= (uint32)_cur_palette.palette[i].g << 8;
|
||||
clr |= (uint32)_cur_palette.palette[i].b;
|
||||
this->palette[i] = clr;
|
||||
}
|
||||
|
||||
|
||||
@@ -416,18 +416,18 @@ void WindowQuickdrawSubdriver::UpdatePalette(uint first_color, uint num_colors)
|
||||
case 32:
|
||||
for (uint i = first_color; i < first_color + num_colors; i++) {
|
||||
uint32 clr32 = 0xff000000;
|
||||
clr32 |= (uint32)_cur_palette[i].r << 16;
|
||||
clr32 |= (uint32)_cur_palette[i].g << 8;
|
||||
clr32 |= (uint32)_cur_palette[i].b;
|
||||
clr32 |= (uint32)_cur_palette.palette[i].r << 16;
|
||||
clr32 |= (uint32)_cur_palette.palette[i].g << 8;
|
||||
clr32 |= (uint32)_cur_palette.palette[i].b;
|
||||
this->palette[i] = clr32;
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
for (uint i = first_color; i < first_color + num_colors; i++) {
|
||||
uint16 clr16 = 0x0000;
|
||||
clr16 |= (uint16)((_cur_palette[i].r >> 3) & 0x1f) << 10;
|
||||
clr16 |= (uint16)((_cur_palette[i].g >> 3) & 0x1f) << 5;
|
||||
clr16 |= (uint16)((_cur_palette[i].b >> 3) & 0x1f);
|
||||
clr16 |= (uint16)((_cur_palette.palette[i].r >> 3) & 0x1f) << 10;
|
||||
clr16 |= (uint16)((_cur_palette.palette[i].g >> 3) & 0x1f) << 5;
|
||||
clr16 |= (uint16)((_cur_palette.palette[i].b >> 3) & 0x1f);
|
||||
this->palette[i] = clr16;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -60,9 +60,9 @@ static void UpdatePalette(uint start, uint count)
|
||||
SDL_Color pal[256];
|
||||
|
||||
for (uint i = 0; i != count; i++) {
|
||||
pal[i].r = _cur_palette[start + i].r;
|
||||
pal[i].g = _cur_palette[start + i].g;
|
||||
pal[i].b = _cur_palette[start + i].b;
|
||||
pal[i].r = _cur_palette.palette[start + i].r;
|
||||
pal[i].g = _cur_palette.palette[start + i].g;
|
||||
pal[i].b = _cur_palette.palette[start + i].b;
|
||||
pal[i].unused = 0;
|
||||
}
|
||||
|
||||
@@ -76,16 +76,16 @@ static void InitPalette()
|
||||
|
||||
static void CheckPaletteAnim()
|
||||
{
|
||||
if (_pal_count_dirty != 0) {
|
||||
if (_cur_palette.count_dirty != 0) {
|
||||
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
|
||||
|
||||
switch (blitter->UsePaletteAnimation()) {
|
||||
case Blitter::PALETTE_ANIMATION_VIDEO_BACKEND:
|
||||
UpdatePalette(_pal_first_dirty, _pal_count_dirty);
|
||||
UpdatePalette(_cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_BLITTER:
|
||||
blitter->PaletteAnimate(_pal_first_dirty, _pal_count_dirty);
|
||||
blitter->PaletteAnimate(_cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_NONE:
|
||||
@@ -94,7 +94,7 @@ static void CheckPaletteAnim()
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
_pal_count_dirty = 0;
|
||||
_cur_palette.count_dirty = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,9 +56,9 @@ static void MakePalette()
|
||||
pal->palNumEntries = 256;
|
||||
|
||||
for (i = 0; i != 256; i++) {
|
||||
pal->palPalEntry[i].peRed = _cur_palette[i].r;
|
||||
pal->palPalEntry[i].peGreen = _cur_palette[i].g;
|
||||
pal->palPalEntry[i].peBlue = _cur_palette[i].b;
|
||||
pal->palPalEntry[i].peRed = _cur_palette.palette[i].r;
|
||||
pal->palPalEntry[i].peGreen = _cur_palette.palette[i].g;
|
||||
pal->palPalEntry[i].peBlue = _cur_palette.palette[i].b;
|
||||
pal->palPalEntry[i].peFlags = 0;
|
||||
|
||||
}
|
||||
@@ -72,9 +72,9 @@ static void UpdatePalette(HDC dc, uint start, uint count)
|
||||
uint i;
|
||||
|
||||
for (i = 0; i != count; i++) {
|
||||
rgb[i].rgbRed = _cur_palette[start + i].r;
|
||||
rgb[i].rgbGreen = _cur_palette[start + i].g;
|
||||
rgb[i].rgbBlue = _cur_palette[start + i].b;
|
||||
rgb[i].rgbRed = _cur_palette.palette[start + i].r;
|
||||
rgb[i].rgbGreen = _cur_palette.palette[start + i].g;
|
||||
rgb[i].rgbBlue = _cur_palette.palette[start + i].b;
|
||||
rgb[i].rgbReserved = 0;
|
||||
}
|
||||
|
||||
@@ -162,8 +162,8 @@ static void ClientSizeChanged(int w, int h)
|
||||
/* allocate new dib section of the new size */
|
||||
if (AllocateDibSection(w, h)) {
|
||||
/* mark all palette colors dirty */
|
||||
_pal_first_dirty = 0;
|
||||
_pal_count_dirty = 256;
|
||||
_cur_palette.first_dirty = 0;
|
||||
_cur_palette.count_dirty = 256;
|
||||
|
||||
BlitterFactoryBase::GetCurrentBlitter()->PostResize();
|
||||
|
||||
@@ -350,16 +350,16 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
|
||||
old_bmp = (HBITMAP)SelectObject(dc2, _wnd.dib_sect);
|
||||
old_palette = SelectPalette(dc, _wnd.gdi_palette, FALSE);
|
||||
|
||||
if (_pal_count_dirty != 0) {
|
||||
if (_cur_palette.count_dirty != 0) {
|
||||
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
|
||||
|
||||
switch (blitter->UsePaletteAnimation()) {
|
||||
case Blitter::PALETTE_ANIMATION_VIDEO_BACKEND:
|
||||
UpdatePalette(dc2, _pal_first_dirty, _pal_count_dirty);
|
||||
UpdatePalette(dc2, _cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_BLITTER:
|
||||
blitter->PaletteAnimate(_pal_first_dirty, _pal_count_dirty);
|
||||
blitter->PaletteAnimate(_cur_palette.first_dirty, _cur_palette.count_dirty);
|
||||
break;
|
||||
|
||||
case Blitter::PALETTE_ANIMATION_NONE:
|
||||
@@ -368,7 +368,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
_pal_count_dirty = 0;
|
||||
_cur_palette.count_dirty = 0;
|
||||
}
|
||||
|
||||
BitBlt(dc, 0, 0, _wnd.width, _wnd.height, dc2, 0, 0, SRCCOPY);
|
||||
@@ -839,7 +839,7 @@ void VideoDriver_Win32::MakeDirty(int left, int top, int width, int height)
|
||||
|
||||
static void CheckPaletteAnim()
|
||||
{
|
||||
if (_pal_count_dirty == 0) return;
|
||||
if (_cur_palette.count_dirty == 0) return;
|
||||
|
||||
InvalidateRect(_wnd.main_wnd, NULL, FALSE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user