mirror of https://github.com/stella-emu/stella.git
Some code restructuring right across the board. I also reverted much
of the earlier palette changes, since it turned into a can of worms I don't want to open. I think we'll be ready for a new release soon. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1066 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
f89d7d71e3
commit
34f5abb314
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: FrameBufferGL.cxx,v 1.59 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: FrameBufferGL.cxx,v 1.60 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifdef DISPLAY_OPENGL
|
||||
|
@ -343,7 +343,7 @@ void FrameBufferGL::drawMediaSource()
|
|||
// are drawn in postFrameUpdate()
|
||||
myDirtyFlag = true;
|
||||
|
||||
buffer[pos] = buffer[pos+1] = (uInt16) myDefTIAPalette[v];
|
||||
buffer[pos] = buffer[pos+1] = (uInt16) myDefPalette[v];
|
||||
}
|
||||
pos += 2;
|
||||
}
|
||||
|
@ -370,8 +370,8 @@ void FrameBufferGL::drawMediaSource()
|
|||
uInt8 v = currentFrame[bufofs];
|
||||
uInt8 w = previousFrame[bufofs];
|
||||
|
||||
buffer[pos++] = (uInt16) myAvgTIAPalette[v][w];
|
||||
buffer[pos++] = (uInt16) myAvgTIAPalette[v][w];
|
||||
buffer[pos++] = (uInt16) myAvgPalette[v][w];
|
||||
buffer[pos++] = (uInt16) myAvgPalette[v][w];
|
||||
}
|
||||
bufofsY += width;
|
||||
screenofsY += myTexture->w;
|
||||
|
@ -450,27 +450,27 @@ void FrameBufferGL::toggleFilter()
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferGL::hLine(uInt32 x, uInt32 y, uInt32 x2, OverlayColor color)
|
||||
void FrameBufferGL::hLine(uInt32 x, uInt32 y, uInt32 x2, int color)
|
||||
{
|
||||
uInt16* buffer = (uInt16*) myTexture->pixels + y * myTexture->w + x;
|
||||
while(x++ <= x2)
|
||||
*buffer++ = (uInt16) myGUIPalette[color];
|
||||
*buffer++ = (uInt16) myDefPalette[color];
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferGL::vLine(uInt32 x, uInt32 y, uInt32 y2, OverlayColor color)
|
||||
void FrameBufferGL::vLine(uInt32 x, uInt32 y, uInt32 y2, int color)
|
||||
{
|
||||
uInt16* buffer = (uInt16*) myTexture->pixels + y * myTexture->w + x;
|
||||
while(y++ <= y2)
|
||||
{
|
||||
*buffer = (uInt16) myGUIPalette[color];
|
||||
*buffer = (uInt16) myDefPalette[color];
|
||||
buffer += myTexture->w;
|
||||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferGL::fillRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor color)
|
||||
int color)
|
||||
{
|
||||
SDL_Rect tmp;
|
||||
|
||||
|
@ -479,12 +479,12 @@ void FrameBufferGL::fillRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
|||
tmp.y = y;
|
||||
tmp.w = w;
|
||||
tmp.h = h;
|
||||
SDL_FillRect(myTexture, &tmp, myGUIPalette[color]);
|
||||
SDL_FillRect(myTexture, &tmp, myDefPalette[color]);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferGL::drawChar(const GUI::Font* FONT, uInt8 chr,
|
||||
uInt32 tx, uInt32 ty, OverlayColor color)
|
||||
uInt32 tx, uInt32 ty, int color)
|
||||
{
|
||||
GUI::Font* font = (GUI::Font*) FONT;
|
||||
|
||||
|
@ -512,7 +512,7 @@ void FrameBufferGL::drawChar(const GUI::Font* FONT, uInt8 chr,
|
|||
for(int x = 0; x < w; ++x, mask >>= 1)
|
||||
{
|
||||
if(ptr & mask)
|
||||
buffer[x] = (uInt16) myGUIPalette[color];
|
||||
buffer[x] = (uInt16) myDefPalette[color];
|
||||
}
|
||||
buffer += myTexture->w;
|
||||
}
|
||||
|
@ -520,7 +520,7 @@ void FrameBufferGL::drawChar(const GUI::Font* FONT, uInt8 chr,
|
|||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferGL::drawBitmap(uInt32* bitmap, Int32 tx, Int32 ty,
|
||||
OverlayColor color, Int32 h)
|
||||
int color, Int32 h)
|
||||
{
|
||||
uInt16* buffer = (uInt16*) myTexture->pixels + ty * myTexture->w + tx;
|
||||
|
||||
|
@ -530,7 +530,7 @@ void FrameBufferGL::drawBitmap(uInt32* bitmap, Int32 tx, Int32 ty,
|
|||
for(int x = 0; x < 8; ++x, mask >>= 4)
|
||||
{
|
||||
if(bitmap[y] & mask)
|
||||
buffer[x] = (uInt16) myGUIPalette[color];
|
||||
buffer[x] = (uInt16) myDefPalette[color];
|
||||
}
|
||||
buffer += myTexture->w;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: FrameBufferGL.hxx,v 1.30 2006-01-19 00:45:12 stephena Exp $
|
||||
// $Id: FrameBufferGL.hxx,v 1.31 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef FRAMEBUFFER_GL_HXX
|
||||
|
@ -37,7 +37,7 @@ class GUI::Font;
|
|||
This class implements an SDL OpenGL framebuffer.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: FrameBufferGL.hxx,v 1.30 2006-01-19 00:45:12 stephena Exp $
|
||||
@version $Id: FrameBufferGL.hxx,v 1.31 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
class FrameBufferGL : public FrameBuffer
|
||||
{
|
||||
|
@ -134,7 +134,7 @@ class FrameBufferGL : public FrameBuffer
|
|||
@param x2 The second x coordinate
|
||||
@param color The color of the line
|
||||
*/
|
||||
virtual void hLine(uInt32 x, uInt32 y, uInt32 x2, OverlayColor color);
|
||||
virtual void hLine(uInt32 x, uInt32 y, uInt32 x2, int color);
|
||||
|
||||
/**
|
||||
This method is called to draw a vertical line.
|
||||
|
@ -144,7 +144,7 @@ class FrameBufferGL : public FrameBuffer
|
|||
@param y2 The second y coordinate
|
||||
@param color The color of the line
|
||||
*/
|
||||
virtual void vLine(uInt32 x, uInt32 y, uInt32 y2, OverlayColor color);
|
||||
virtual void vLine(uInt32 x, uInt32 y, uInt32 y2, int color);
|
||||
|
||||
/**
|
||||
This method is called to draw a filled rectangle.
|
||||
|
@ -156,7 +156,7 @@ class FrameBufferGL : public FrameBuffer
|
|||
@param color The color of the area
|
||||
*/
|
||||
virtual void fillRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor color);
|
||||
int color);
|
||||
|
||||
/**
|
||||
This method is called to draw the specified character.
|
||||
|
@ -168,7 +168,7 @@ class FrameBufferGL : public FrameBuffer
|
|||
@param color The color of the character
|
||||
*/
|
||||
virtual void drawChar(const GUI::Font* font, uInt8 c, uInt32 x, uInt32 y,
|
||||
OverlayColor color);
|
||||
int color);
|
||||
|
||||
/**
|
||||
This method is called to draw the bitmap image.
|
||||
|
@ -179,7 +179,7 @@ class FrameBufferGL : public FrameBuffer
|
|||
@param color The color of the character
|
||||
@param h The height of the data image
|
||||
*/
|
||||
virtual void drawBitmap(uInt32* bitmap, Int32 x, Int32 y, OverlayColor color,
|
||||
virtual void drawBitmap(uInt32* bitmap, Int32 x, Int32 y, int color,
|
||||
Int32 h = 8);
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: FrameBufferSoft.cxx,v 1.51 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: FrameBufferSoft.cxx,v 1.52 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <SDL.h>
|
||||
|
@ -220,7 +220,7 @@ void FrameBufferSoft::drawMediaSource()
|
|||
temp.h = active.height * screenMultiple;
|
||||
|
||||
myRectList->add(&temp);
|
||||
SDL_FillRect(myScreen, &temp, myDefTIAPalette[active.color]);
|
||||
SDL_FillRect(myScreen, &temp, myDefPalette[active.color]);
|
||||
|
||||
++activeIndex;
|
||||
}
|
||||
|
@ -238,7 +238,7 @@ void FrameBufferSoft::drawMediaSource()
|
|||
temp.h = active.height * screenMultiple;
|
||||
|
||||
myRectList->add(&temp);
|
||||
SDL_FillRect(myScreen, &temp, myDefTIAPalette[active.color]);
|
||||
SDL_FillRect(myScreen, &temp, myDefPalette[active.color]);
|
||||
}
|
||||
|
||||
// We can now make the current rectangles into the active rectangles
|
||||
|
@ -263,7 +263,7 @@ void FrameBufferSoft::drawMediaSource()
|
|||
temp.h = active.height * screenMultiple;
|
||||
|
||||
myRectList->add(&temp);
|
||||
SDL_FillRect(myScreen, &temp, myDefTIAPalette[active.color]);
|
||||
SDL_FillRect(myScreen, &temp, myDefPalette[active.color]);
|
||||
}
|
||||
break; // case 0
|
||||
}
|
||||
|
@ -296,8 +296,8 @@ void FrameBufferSoft::drawMediaSource()
|
|||
|
||||
while(xstride--)
|
||||
{
|
||||
buffer[pos++] = (uInt16) myAvgTIAPalette[v][w];
|
||||
buffer[pos++] = (uInt16) myAvgTIAPalette[v][w];
|
||||
buffer[pos++] = (uInt16) myAvgPalette[v][w];
|
||||
buffer[pos++] = (uInt16) myAvgPalette[v][w];
|
||||
}
|
||||
}
|
||||
screenofsY += myPitch;
|
||||
|
@ -335,14 +335,14 @@ void FrameBufferSoft::drawMediaSource()
|
|||
uInt8 r, g, b;
|
||||
if(SDL_BYTEORDER == SDL_BIG_ENDIAN)
|
||||
{
|
||||
uInt32 pixel = myAvgTIAPalette[v][w];
|
||||
uInt32 pixel = myAvgPalette[v][w];
|
||||
b = pixel & 0xff;
|
||||
g = (pixel & 0xff00) >> 8;
|
||||
r = (pixel & 0xff0000) >> 16;
|
||||
}
|
||||
else
|
||||
{
|
||||
uInt32 pixel = myAvgTIAPalette[v][w];
|
||||
uInt32 pixel = myAvgPalette[v][w];
|
||||
r = pixel & 0xff;
|
||||
g = (pixel & 0xff00) >> 8;
|
||||
b = (pixel & 0xff0000) >> 16;
|
||||
|
@ -389,8 +389,8 @@ void FrameBufferSoft::drawMediaSource()
|
|||
|
||||
while(xstride--)
|
||||
{
|
||||
buffer[pos++] = (uInt32) myAvgTIAPalette[v][w];
|
||||
buffer[pos++] = (uInt32) myAvgTIAPalette[v][w];
|
||||
buffer[pos++] = (uInt32) myAvgPalette[v][w];
|
||||
buffer[pos++] = (uInt32) myAvgPalette[v][w];
|
||||
}
|
||||
}
|
||||
screenofsY += myPitch;
|
||||
|
@ -487,7 +487,7 @@ void FrameBufferSoft::toggleFilter()
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferSoft::hLine(uInt32 x, uInt32 y, uInt32 x2, OverlayColor color)
|
||||
void FrameBufferSoft::hLine(uInt32 x, uInt32 y, uInt32 x2, int color)
|
||||
{
|
||||
SDL_Rect tmp;
|
||||
|
||||
|
@ -496,11 +496,11 @@ void FrameBufferSoft::hLine(uInt32 x, uInt32 y, uInt32 x2, OverlayColor color)
|
|||
tmp.y = y * theZoomLevel;
|
||||
tmp.w = (x2 - x + 1) * theZoomLevel;
|
||||
tmp.h = theZoomLevel;
|
||||
SDL_FillRect(myScreen, &tmp, myGUIPalette[color]);
|
||||
SDL_FillRect(myScreen, &tmp, myDefPalette[color]);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferSoft::vLine(uInt32 x, uInt32 y, uInt32 y2, OverlayColor color)
|
||||
void FrameBufferSoft::vLine(uInt32 x, uInt32 y, uInt32 y2, int color)
|
||||
{
|
||||
SDL_Rect tmp;
|
||||
|
||||
|
@ -509,12 +509,12 @@ void FrameBufferSoft::vLine(uInt32 x, uInt32 y, uInt32 y2, OverlayColor color)
|
|||
tmp.y = y * theZoomLevel;
|
||||
tmp.w = theZoomLevel;
|
||||
tmp.h = (y2 - y + 1) * theZoomLevel;
|
||||
SDL_FillRect(myScreen, &tmp, myGUIPalette[color]);
|
||||
SDL_FillRect(myScreen, &tmp, myDefPalette[color]);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferSoft::fillRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor color)
|
||||
int color)
|
||||
{
|
||||
SDL_Rect tmp;
|
||||
|
||||
|
@ -523,12 +523,12 @@ void FrameBufferSoft::fillRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
|||
tmp.y = y * theZoomLevel;
|
||||
tmp.w = w * theZoomLevel;
|
||||
tmp.h = h * theZoomLevel;
|
||||
SDL_FillRect(myScreen, &tmp, myGUIPalette[color]);
|
||||
SDL_FillRect(myScreen, &tmp, myDefPalette[color]);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferSoft::drawChar(const GUI::Font* FONT, uInt8 chr,
|
||||
uInt32 xorig, uInt32 yorig, OverlayColor color)
|
||||
uInt32 xorig, uInt32 yorig, int color)
|
||||
{
|
||||
GUI::Font* font = (GUI::Font*)FONT;
|
||||
const FontDesc& desc = font->desc();
|
||||
|
@ -559,7 +559,7 @@ void FrameBufferSoft::drawChar(const GUI::Font* FONT, uInt8 chr,
|
|||
rect.x = (x + xorig) * theZoomLevel;
|
||||
rect.y = (y + yorig) * theZoomLevel;
|
||||
rect.w = rect.h = theZoomLevel;
|
||||
SDL_FillRect(myScreen, &rect, myGUIPalette[color]);
|
||||
SDL_FillRect(myScreen, &rect, myDefPalette[color]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -567,7 +567,7 @@ void FrameBufferSoft::drawChar(const GUI::Font* FONT, uInt8 chr,
|
|||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBufferSoft::drawBitmap(uInt32* bitmap, Int32 xorig, Int32 yorig,
|
||||
OverlayColor color, Int32 h)
|
||||
int color, Int32 h)
|
||||
{
|
||||
SDL_Rect rect;
|
||||
for(int y = 0; y < h; y++)
|
||||
|
@ -581,7 +581,7 @@ void FrameBufferSoft::drawBitmap(uInt32* bitmap, Int32 xorig, Int32 yorig,
|
|||
rect.x = (x + xorig) * theZoomLevel;
|
||||
rect.y = (y + yorig) * theZoomLevel;
|
||||
rect.w = rect.h = theZoomLevel;
|
||||
SDL_FillRect(myScreen, &rect, myGUIPalette[color]);
|
||||
SDL_FillRect(myScreen, &rect, myDefPalette[color]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: FrameBufferSoft.hxx,v 1.33 2006-02-15 03:22:34 azaballa Exp $
|
||||
// $Id: FrameBufferSoft.hxx,v 1.34 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef FRAMEBUFFER_SOFT_HXX
|
||||
|
@ -35,7 +35,7 @@ class RectList;
|
|||
This class implements an SDL software framebuffer.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: FrameBufferSoft.hxx,v 1.33 2006-02-15 03:22:34 azaballa Exp $
|
||||
@version $Id: FrameBufferSoft.hxx,v 1.34 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
class FrameBufferSoft : public FrameBuffer
|
||||
{
|
||||
|
@ -123,7 +123,7 @@ class FrameBufferSoft : public FrameBuffer
|
|||
@param x2 The second x coordinate
|
||||
@param color The color of the line
|
||||
*/
|
||||
virtual void hLine(uInt32 x, uInt32 y, uInt32 x2, OverlayColor color);
|
||||
virtual void hLine(uInt32 x, uInt32 y, uInt32 x2, int color);
|
||||
|
||||
/**
|
||||
This method is called to draw a vertical line.
|
||||
|
@ -133,7 +133,7 @@ class FrameBufferSoft : public FrameBuffer
|
|||
@param y2 The second y coordinate
|
||||
@param color The color of the line
|
||||
*/
|
||||
virtual void vLine(uInt32 x, uInt32 y, uInt32 y2, OverlayColor color);
|
||||
virtual void vLine(uInt32 x, uInt32 y, uInt32 y2, int color);
|
||||
|
||||
/**
|
||||
This method is called to draw a filled rectangle.
|
||||
|
@ -145,7 +145,7 @@ class FrameBufferSoft : public FrameBuffer
|
|||
@param color The color of the area
|
||||
*/
|
||||
virtual void fillRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor color);
|
||||
int color);
|
||||
|
||||
/**
|
||||
This method is called to draw the specified character.
|
||||
|
@ -157,7 +157,7 @@ class FrameBufferSoft : public FrameBuffer
|
|||
@param color The color of the character
|
||||
*/
|
||||
virtual void drawChar(const GUI::Font* font, uInt8 c, uInt32 x, uInt32 y,
|
||||
OverlayColor color);
|
||||
int color);
|
||||
|
||||
/**
|
||||
This method is called to draw the bitmap image.
|
||||
|
@ -168,7 +168,7 @@ class FrameBufferSoft : public FrameBuffer
|
|||
@param color The color of the character
|
||||
@param h The height of the data image
|
||||
*/
|
||||
virtual void drawBitmap(uInt32* bitmap, Int32 x, Int32 y, OverlayColor color,
|
||||
virtual void drawBitmap(uInt32* bitmap, Int32 x, Int32 y, int color,
|
||||
Int32 h = 8);
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: ColorWidget.cxx,v 1.3 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: ColorWidget.cxx,v 1.4 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -72,5 +72,5 @@ void ColorWidget::drawWidget(bool hilite)
|
|||
fb.vLine(_x + _w - 1, _y, _y +_h - 1, kShadowColor);
|
||||
|
||||
// Show the currently selected color
|
||||
fb.fillRect(_x+1, _y+1, _w-2, _h-1, (OverlayColor) _color);
|
||||
fb.fillRect(_x+1, _y+1, _w-2, _h-1, _color);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: DataGridWidget.cxx,v 1.6 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: DataGridWidget.cxx,v 1.7 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -520,8 +520,7 @@ void DataGridWidget::drawWidget(bool hilite)
|
|||
buffer = _valueStringList[pos];
|
||||
deltax = 0;
|
||||
|
||||
OverlayColor color = kTextColor;
|
||||
|
||||
int color = kTextColor;
|
||||
if(_changedList[pos])
|
||||
{
|
||||
fb.fillRect(x - 3, y - 1, _colWidth-1, _rowHeight-1, kTextColorEm);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: PromptWidget.cxx,v 1.7 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: PromptWidget.cxx,v 1.8 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -102,7 +102,7 @@ PromptWidget::~PromptWidget()
|
|||
void PromptWidget::drawWidget(bool hilite)
|
||||
{
|
||||
//cerr << "PromptWidget::drawWidget\n";
|
||||
OverlayColor fgcolor, bgcolor;
|
||||
int fgcolor, bgcolor;
|
||||
|
||||
FrameBuffer& fb = _boss->instance()->frameBuffer();
|
||||
|
||||
|
@ -118,10 +118,10 @@ void PromptWidget::drawWidget(bool hilite)
|
|||
|
||||
if(c & (1 << 17)) { // inverse video flag
|
||||
fgcolor = bgColor;
|
||||
bgcolor = (OverlayColor)((c & 0x1ffff) >> 8);
|
||||
bgcolor = (c & 0x1ffff) >> 8;
|
||||
fb.fillRect(x, y, _kConsoleCharWidth, _kConsoleCharHeight, bgcolor);
|
||||
} else {
|
||||
fgcolor = (OverlayColor)(c >> 8);
|
||||
fgcolor = c >> 8;
|
||||
bgcolor = bgColor;
|
||||
}
|
||||
fb.drawChar(&instance()->consoleFont(), c & 0x7f, x, y, fgcolor);
|
||||
|
@ -792,10 +792,10 @@ void PromptWidget::putcharIntern(int c)
|
|||
// don't print or advance cursor
|
||||
// there are only 128 TIA colors, but
|
||||
// OverlayColor contains 256 of them
|
||||
textColor = (OverlayColor) ((c & 0x7f) << 1);
|
||||
textColor = (c & 0x7f) << 1;
|
||||
}
|
||||
else if(c < ' ') { // More colors (the regular GUI ones)
|
||||
textColor = (OverlayColor) (c + 0x100);
|
||||
textColor = c + 0x100;
|
||||
}
|
||||
else if(c == 0x7f) { // toggle inverse video (DEL char)
|
||||
_inverse = !_inverse;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: PromptWidget.hxx,v 1.4 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: PromptWidget.hxx,v 1.5 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -108,10 +108,10 @@ class PromptWidget : public Widget, public CommandSender
|
|||
|
||||
int _kConsoleCharWidth, _kConsoleCharHeight, _kConsoleLineHeight;
|
||||
|
||||
OverlayColor defaultTextColor;
|
||||
OverlayColor defaultBGColor;
|
||||
OverlayColor textColor;
|
||||
OverlayColor bgColor;
|
||||
int defaultTextColor;
|
||||
int defaultBGColor;
|
||||
int textColor;
|
||||
int bgColor;
|
||||
bool _inverse;
|
||||
bool _makeDirty;
|
||||
bool _firstTime;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: TiaWidget.cxx,v 1.2 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: TiaWidget.cxx,v 1.3 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -980,7 +980,7 @@ void TiaWidget::fillGrid()
|
|||
// P0 register info
|
||||
////////////////////////////
|
||||
// grP0
|
||||
myGRP0->setColor((OverlayColor)state.coluRegs[0]);
|
||||
myGRP0->setColor(state.coluRegs[0]);
|
||||
myGRP0->setIntState(state.gr[P0], false);
|
||||
|
||||
// posP0
|
||||
|
@ -1001,7 +1001,7 @@ void TiaWidget::fillGrid()
|
|||
// P1 register info
|
||||
////////////////////////////
|
||||
// grP1
|
||||
myGRP1->setColor((OverlayColor)state.coluRegs[1]);
|
||||
myGRP1->setColor(state.coluRegs[1]);
|
||||
myGRP1->setIntState(state.gr[P1], false);
|
||||
|
||||
// posP1
|
||||
|
@ -1076,15 +1076,15 @@ void TiaWidget::fillGrid()
|
|||
// PF register info
|
||||
////////////////////////////
|
||||
// PF0
|
||||
myPF[0]->setColor((OverlayColor)state.coluRegs[2]);
|
||||
myPF[0]->setColor(state.coluRegs[2]);
|
||||
myPF[0]->setIntState(state.pf[0], true); // reverse bit order
|
||||
|
||||
// PF1
|
||||
myPF[1]->setColor((OverlayColor)state.coluRegs[2]);
|
||||
myPF[1]->setColor(state.coluRegs[2]);
|
||||
myPF[1]->setIntState(state.pf[1], false);
|
||||
|
||||
// PF2
|
||||
myPF[2]->setColor((OverlayColor)state.coluRegs[2]);
|
||||
myPF[2]->setColor(state.coluRegs[2]);
|
||||
myPF[2]->setIntState(state.pf[2], true); // reverse bit order
|
||||
|
||||
// Reflect
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: TiaZoomWidget.cxx,v 1.6 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: TiaZoomWidget.cxx,v 1.7 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -209,7 +209,7 @@ void TiaZoomWidget::drawWidget(bool hilite)
|
|||
// Draw the zoomed image
|
||||
// This probably isn't as efficient as it can be, but it's a small area
|
||||
// and I don't have time to make it faster :)
|
||||
uInt8* currentFrame = instance()->console().mediaSource().currentFrameBuffer();
|
||||
uInt8* currentFrame = instance()->console().mediaSource().currentFrameBuffer();
|
||||
const int pitch = instance()->console().mediaSource().width(),
|
||||
width = myZoomLevel << 1,
|
||||
height = myZoomLevel;
|
||||
|
@ -219,15 +219,8 @@ void TiaZoomWidget::drawWidget(bool hilite)
|
|||
{
|
||||
for(x = myXoff, col = 0; x < myNumCols+myXoff; ++x, col += width)
|
||||
{
|
||||
SDL_Rect temp;
|
||||
|
||||
temp.x = _x + col;
|
||||
temp.y = _y + row;
|
||||
temp.w = width;
|
||||
temp.h = height;
|
||||
|
||||
fb.fillRect(_x + col + 2, _y + row + 2, width, height,
|
||||
(OverlayColor)currentFrame[y*pitch + x]);
|
||||
currentFrame[y*pitch + x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: TogglePixelWidget.hxx,v 1.2 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: TogglePixelWidget.hxx,v 1.3 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -33,7 +33,7 @@ class TogglePixelWidget : public ToggleWidget
|
|||
int x, int y, int cols, int rows);
|
||||
virtual ~TogglePixelWidget();
|
||||
|
||||
void setColor(OverlayColor color) { _pixelColor = color; }
|
||||
void setColor(int color) { _pixelColor = color; }
|
||||
void setState(const BoolArray& state);
|
||||
|
||||
void setIntState(int value, bool swap);
|
||||
|
@ -43,7 +43,7 @@ class TogglePixelWidget : public ToggleWidget
|
|||
void drawWidget(bool hilite);
|
||||
|
||||
private:
|
||||
OverlayColor _pixelColor;
|
||||
int _pixelColor;
|
||||
unsigned int _numBits;
|
||||
bool _swapBits;
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: Console.cxx,v 1.87 2006-03-19 18:17:48 stephena Exp $
|
||||
// $Id: Console.cxx,v 1.88 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <assert.h>
|
||||
|
@ -475,14 +475,14 @@ void Console::fry()
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Console::changeXStart(const uInt32 direction)
|
||||
void Console::changeXStart(int direction)
|
||||
{
|
||||
Int32 xstart = atoi(myProperties.get(Display_XStart).c_str());
|
||||
uInt32 width = atoi(myProperties.get(Display_Width).c_str());
|
||||
ostringstream strval;
|
||||
string message;
|
||||
|
||||
if(direction == 1) // increase XStart
|
||||
if(direction == +1) // increase XStart
|
||||
{
|
||||
xstart += 4;
|
||||
if(xstart > 80)
|
||||
|
@ -496,7 +496,7 @@ void Console::changeXStart(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if(direction == 0) // decrease XStart
|
||||
else if(direction == -1) // decrease XStart
|
||||
{
|
||||
xstart -= 4;
|
||||
if(xstart < 0)
|
||||
|
@ -505,6 +505,8 @@ void Console::changeXStart(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
strval << xstart;
|
||||
myProperties.set(Display_XStart, strval.str());
|
||||
|
@ -517,13 +519,13 @@ void Console::changeXStart(const uInt32 direction)
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Console::changeYStart(const uInt32 direction)
|
||||
void Console::changeYStart(int direction)
|
||||
{
|
||||
Int32 ystart = atoi(myProperties.get(Display_YStart).c_str());
|
||||
ostringstream strval;
|
||||
string message;
|
||||
|
||||
if(direction == 1) // increase YStart
|
||||
if(direction == +1) // increase YStart
|
||||
{
|
||||
ystart++;
|
||||
if(ystart > 64)
|
||||
|
@ -532,7 +534,7 @@ void Console::changeYStart(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if(direction == 0) // decrease YStart
|
||||
else if(direction == -1) // decrease YStart
|
||||
{
|
||||
ystart--;
|
||||
if(ystart < 0)
|
||||
|
@ -541,6 +543,8 @@ void Console::changeYStart(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
strval << ystart;
|
||||
myProperties.set(Display_YStart, strval.str());
|
||||
|
@ -553,14 +557,14 @@ void Console::changeYStart(const uInt32 direction)
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Console::changeWidth(const uInt32 direction)
|
||||
void Console::changeWidth(int direction)
|
||||
{
|
||||
uInt32 xstart = atoi(myProperties.get(Display_XStart).c_str());
|
||||
Int32 width = atoi(myProperties.get(Display_Width).c_str());
|
||||
ostringstream strval;
|
||||
string message;
|
||||
|
||||
if(direction == 1) // increase Width
|
||||
if(direction == +1) // increase Width
|
||||
{
|
||||
width += 4;
|
||||
if((width > 160) || ((width % 4) != 0))
|
||||
|
@ -574,7 +578,7 @@ void Console::changeWidth(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if(direction == 0) // decrease Width
|
||||
else if(direction == -1) // decrease Width
|
||||
{
|
||||
width -= 4;
|
||||
if(width < 80)
|
||||
|
@ -583,6 +587,8 @@ void Console::changeWidth(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
strval << width;
|
||||
myProperties.set(Display_Width, strval.str());
|
||||
|
@ -595,13 +601,13 @@ void Console::changeWidth(const uInt32 direction)
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Console::changeHeight(const uInt32 direction)
|
||||
void Console::changeHeight(int direction)
|
||||
{
|
||||
Int32 height = atoi(myProperties.get(Display_Height).c_str());
|
||||
ostringstream strval;
|
||||
string message;
|
||||
|
||||
if(direction == 1) // increase Height
|
||||
if(direction == +1) // increase Height
|
||||
{
|
||||
height++;
|
||||
if(height > 256)
|
||||
|
@ -610,7 +616,7 @@ void Console::changeHeight(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if(direction == 0) // decrease Height
|
||||
else if(direction == -1) // decrease Height
|
||||
{
|
||||
height--;
|
||||
if(height < 100)
|
||||
|
@ -619,6 +625,8 @@ void Console::changeHeight(const uInt32 direction)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
strval << height;
|
||||
myProperties.set(Display_Height, strval.str());
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: Console.hxx,v 1.42 2006-01-11 14:13:19 stephena Exp $
|
||||
// $Id: Console.hxx,v 1.43 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef CONSOLE_HXX
|
||||
|
@ -37,7 +37,7 @@ class System;
|
|||
This class represents the entire game console.
|
||||
|
||||
@author Bradford W. Mott
|
||||
@version $Id: Console.hxx,v 1.42 2006-01-11 14:13:19 stephena Exp $
|
||||
@version $Id: Console.hxx,v 1.43 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
class Console
|
||||
{
|
||||
|
@ -196,33 +196,33 @@ class Console
|
|||
Change the "Display.XStart" variable. Currently, a system reset is issued
|
||||
after the change. GUI's may need to resize their viewports.
|
||||
|
||||
@param direction A 1 indicates increase, 0 indicates decrease.
|
||||
@param direction +1 indicates increase, -1 indicates decrease.
|
||||
*/
|
||||
void changeXStart(const uInt32 direction);
|
||||
void changeXStart(int direction);
|
||||
|
||||
/**
|
||||
Change the "Display.XStart" variable. Currently, a system reset is issued
|
||||
after the change. GUI's may need to resize their viewports.
|
||||
|
||||
@param direction A 1 indicates increase, 0 indicates decrease.
|
||||
@param direction +1 indicates increase, -1 indicates decrease.
|
||||
*/
|
||||
void changeYStart(const uInt32 direction);
|
||||
void changeYStart(int direction);
|
||||
|
||||
/**
|
||||
Change the "Display.XStart" variable. Currently, a system reset is issued
|
||||
after the change. GUI's may need to resize their viewports.
|
||||
|
||||
@param direction A 1 indicates increase, 0 indicates decrease.
|
||||
@param direction +1 indicates increase, -1 indicates decrease.
|
||||
*/
|
||||
void changeWidth(const uInt32 direction);
|
||||
void changeWidth(int direction);
|
||||
|
||||
/**
|
||||
Change the "Display.XStart" variable. Currently, a system reset is issued
|
||||
after the change. GUI's may need to resize their viewports.
|
||||
|
||||
@param direction A 1 indicates increase, 0 indicates decrease.
|
||||
@param direction +1 indicates increase, -1 indicates decrease.
|
||||
*/
|
||||
void changeHeight(const uInt32 direction);
|
||||
void changeHeight(int direction);
|
||||
|
||||
/**
|
||||
Toggles the TIA bit specified in the method name.
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: EventHandler.cxx,v 1.156 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: EventHandler.cxx,v 1.157 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <sstream>
|
||||
|
@ -218,10 +218,9 @@ void EventHandler::refreshDisplay(bool forceUpdate)
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void EventHandler::pause(bool status)
|
||||
{
|
||||
cerr << "EventHandler::pause(): " << status << endl;
|
||||
myPauseFlag = status;
|
||||
|
||||
myOSystem->frameBuffer().handlePause(myPauseFlag);
|
||||
myOSystem->frameBuffer().pause(myPauseFlag);
|
||||
myOSystem->sound().mute(myPauseFlag);
|
||||
}
|
||||
|
||||
|
@ -392,11 +391,11 @@ void EventHandler::poll(uInt32 time)
|
|||
{
|
||||
#ifndef MAC_OSX
|
||||
case SDLK_EQUALS:
|
||||
myOSystem->frameBuffer().resize(NextSize);
|
||||
myOSystem->frameBuffer().resize(+1);
|
||||
break;
|
||||
|
||||
case SDLK_MINUS:
|
||||
myOSystem->frameBuffer().resize(PreviousSize);
|
||||
myOSystem->frameBuffer().resize(-1);
|
||||
break;
|
||||
|
||||
case SDLK_RETURN:
|
||||
|
@ -422,19 +421,19 @@ void EventHandler::poll(uInt32 time)
|
|||
break;
|
||||
|
||||
case SDLK_END: // Alt-End increases XStart
|
||||
myOSystem->console().changeXStart(1);
|
||||
myOSystem->console().changeXStart(+1);
|
||||
break;
|
||||
|
||||
case SDLK_HOME: // Alt-Home decreases XStart
|
||||
myOSystem->console().changeXStart(0);
|
||||
myOSystem->console().changeXStart(-1);
|
||||
break;
|
||||
|
||||
case SDLK_PAGEUP: // Alt-PageUp increases YStart
|
||||
myOSystem->console().changeYStart(1);
|
||||
myOSystem->console().changeYStart(+1);
|
||||
break;
|
||||
|
||||
case SDLK_PAGEDOWN: // Alt-PageDown decreases YStart
|
||||
myOSystem->console().changeYStart(0);
|
||||
myOSystem->console().changeYStart(-1);
|
||||
break;
|
||||
|
||||
case SDLK_z:
|
||||
|
@ -526,11 +525,11 @@ void EventHandler::poll(uInt32 time)
|
|||
break;
|
||||
|
||||
case SDLK_EQUALS:
|
||||
myOSystem->frameBuffer().resize(NextSize);
|
||||
myOSystem->frameBuffer().resize(+1);
|
||||
break;
|
||||
|
||||
case SDLK_MINUS:
|
||||
myOSystem->frameBuffer().resize(PreviousSize);
|
||||
myOSystem->frameBuffer().resize(-1);
|
||||
break;
|
||||
|
||||
case SDLK_RETURN:
|
||||
|
@ -582,19 +581,19 @@ void EventHandler::poll(uInt32 time)
|
|||
break;
|
||||
|
||||
case SDLK_END: // Ctrl-End increases Width
|
||||
myOSystem->console().changeWidth(1);
|
||||
myOSystem->console().changeWidth(+1);
|
||||
break;
|
||||
|
||||
case SDLK_HOME: // Ctrl-Home decreases Width
|
||||
myOSystem->console().changeWidth(0);
|
||||
myOSystem->console().changeWidth(-1);
|
||||
break;
|
||||
|
||||
case SDLK_PAGEUP: // Ctrl-PageUp increases Height
|
||||
myOSystem->console().changeHeight(1);
|
||||
myOSystem->console().changeHeight(+1);
|
||||
break;
|
||||
|
||||
case SDLK_PAGEDOWN: // Ctrl-PageDown decreases Height
|
||||
myOSystem->console().changeHeight(0);
|
||||
myOSystem->console().changeHeight(-1);
|
||||
break;
|
||||
|
||||
case SDLK_s: // Ctrl-s saves properties to a file
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: EventHandler.hxx,v 1.82 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: EventHandler.hxx,v 1.83 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef EVENTHANDLER_HXX
|
||||
|
@ -107,7 +107,7 @@ struct JoyMouse {
|
|||
mapping can take place.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: EventHandler.hxx,v 1.82 2006-03-24 19:59:52 stephena Exp $
|
||||
@version $Id: EventHandler.hxx,v 1.83 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
class EventHandler
|
||||
{
|
||||
|
@ -232,7 +232,7 @@ class EventHandler
|
|||
/**
|
||||
This method indicates whether a quit event has been received.
|
||||
*/
|
||||
inline bool isQuit() { return myQuitFlag; }
|
||||
inline bool doQuit() { return myQuitFlag; }
|
||||
|
||||
/**
|
||||
Save state to explicit state number (debugger uses this)
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: FrameBuffer.cxx,v 1.84 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: FrameBuffer.cxx,v 1.85 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <sstream>
|
||||
|
@ -51,8 +51,7 @@ FrameBuffer::FrameBuffer(OSystem* osystem)
|
|||
theRedrawTIAIndicator(true),
|
||||
myUsePhosphor(false),
|
||||
myPhosphorBlend(77),
|
||||
myFrameRate(0),
|
||||
myPauseStatus(false)
|
||||
myFrameRate(0)
|
||||
{
|
||||
myBaseDim.x = myBaseDim.y = myBaseDim.w = myBaseDim.h = 0;
|
||||
myImageDim = myScreenDim = myDesktopDim = myBaseDim;
|
||||
|
@ -122,18 +121,8 @@ void FrameBuffer::initialize(const string& title, uInt32 width, uInt32 height,
|
|||
myOSystem->eventHandler().refreshDisplay();
|
||||
|
||||
// Set palette for GUI
|
||||
for(int i = 0; i < kNumColors; i++)
|
||||
myGUIPalette[i] = mapRGB(ourGUIColors[i][0], ourGUIColors[i][1], ourGUIColors[i][2]);
|
||||
|
||||
// Set emulation palette if a console exists
|
||||
// Used when entering/exiting debugger
|
||||
#ifdef DEVELOPER_SUPPORT
|
||||
if(&myOSystem->console())
|
||||
{
|
||||
enablePhosphor(myOSystem->console().properties().get(Display_Phosphor) == "YES");
|
||||
setPalette(myOSystem->console().mediaSource().palette());
|
||||
}
|
||||
#endif
|
||||
for(int i = 0; i < kNumColors-256; i++)
|
||||
myDefPalette[i+256] = mapRGB(ourGUIColors[i][0], ourGUIColors[i][1], ourGUIColors[i][2]);
|
||||
|
||||
// Enable unicode so we can see translated key events
|
||||
// (lowercase vs. uppercase characters)
|
||||
|
@ -161,7 +150,7 @@ void FrameBuffer::update()
|
|||
bool mediaSourceChanged = false;
|
||||
|
||||
// Draw changes to the mediasource
|
||||
if(!myPauseStatus)
|
||||
if(!myOSystem->eventHandler().isPaused())
|
||||
{
|
||||
myOSystem->console().mediaSource().update();
|
||||
if(myOSystem->eventHandler().frying())
|
||||
|
@ -174,7 +163,7 @@ void FrameBuffer::update()
|
|||
drawMediaSource();
|
||||
|
||||
// Draw any pending messages
|
||||
if(myMessage.counter > 0 && !myPauseStatus)
|
||||
if(myMessage.counter > 0 && !myOSystem->eventHandler().isPaused())
|
||||
drawMessage();
|
||||
|
||||
break; // S_EMULATE
|
||||
|
@ -199,7 +188,7 @@ void FrameBuffer::update()
|
|||
myOSystem->commandMenu().draw();
|
||||
|
||||
// Draw any pending messages
|
||||
if(myMessage.counter > 0 && !myPauseStatus)
|
||||
if(myMessage.counter > 0 && !myOSystem->eventHandler().isPaused())
|
||||
drawMessage();
|
||||
break; // S_CMDMENU
|
||||
}
|
||||
|
@ -237,7 +226,7 @@ void FrameBuffer::update()
|
|||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBuffer::showMessage(const string& message, MessagePosition position,
|
||||
OverlayColor color)
|
||||
int color)
|
||||
{
|
||||
// Erase old messages on the screen
|
||||
if(myMessage.counter > 0)
|
||||
|
@ -333,12 +322,8 @@ inline void FrameBuffer::drawMessage()
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBuffer::handlePause(bool status)
|
||||
void FrameBuffer::pause(bool status)
|
||||
{
|
||||
cerr << "FrameBuffer::handlePause(): " << status << endl;
|
||||
myPauseStatus = status;
|
||||
|
||||
// Enable the paused palette
|
||||
if(&myOSystem->console())
|
||||
{
|
||||
enablePhosphor(myOSystem->console().properties().get(Display_Phosphor) == "YES");
|
||||
|
@ -349,18 +334,16 @@ cerr << "FrameBuffer::handlePause(): " << status << endl;
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBuffer::setPalette(const uInt32* palette)
|
||||
{
|
||||
// Account for pause mode
|
||||
float shade = myPauseStatus ? 0.65 : 1.0;
|
||||
int i, j;
|
||||
|
||||
// Set palette for normal fill
|
||||
for(i = 0; i < 256; ++i)
|
||||
{
|
||||
Uint8 r = (Uint8) (((palette[i] & 0x00ff0000) >> 16) * shade);
|
||||
Uint8 g = (Uint8) (((palette[i] & 0x0000ff00) >> 8) * shade);
|
||||
Uint8 b = (Uint8) ((palette[i] & 0x000000ff) * shade);
|
||||
Uint8 r = (Uint8) ((palette[i] & 0x00ff0000) >> 16);
|
||||
Uint8 g = (Uint8) ((palette[i] & 0x0000ff00) >> 8);
|
||||
Uint8 b = (Uint8) (palette[i] & 0x000000ff);
|
||||
|
||||
myDefTIAPalette[i] = mapRGB(r, g, b);
|
||||
myDefPalette[i] = mapRGB(r, g, b);
|
||||
}
|
||||
|
||||
// Set palette for phosphor effect
|
||||
|
@ -375,11 +358,11 @@ void FrameBuffer::setPalette(const uInt32* palette)
|
|||
uInt8 gj = (uInt8) ((palette[j] & 0x0000ff00) >> 8);
|
||||
uInt8 bj = (uInt8) (palette[j] & 0x000000ff);
|
||||
|
||||
Uint8 r = (Uint8) (getPhosphor(ri, rj) * shade);
|
||||
Uint8 g = (Uint8) (getPhosphor(gi, gj) * shade);
|
||||
Uint8 b = (Uint8) (getPhosphor(bi, bj) * shade);
|
||||
Uint8 r = (Uint8) getPhosphor(ri, rj);
|
||||
Uint8 g = (Uint8) getPhosphor(gi, gj);
|
||||
Uint8 b = (Uint8) getPhosphor(bi, bj);
|
||||
|
||||
myAvgTIAPalette[i][j] = mapRGB(r, g, b);
|
||||
myAvgPalette[i][j] = mapRGB(r, g, b);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -412,11 +395,11 @@ void FrameBuffer::setFullscreen(bool enable)
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBuffer::resize(Size size, Int8 zoom)
|
||||
void FrameBuffer::resize(int size, Int8 zoom)
|
||||
{
|
||||
switch(size)
|
||||
{
|
||||
case PreviousSize: // decrease size
|
||||
case -1: // decrease size
|
||||
if(myOSystem->settings().getBool("fullscreen"))
|
||||
return;
|
||||
if(theZoomLevel == 1)
|
||||
|
@ -425,7 +408,7 @@ void FrameBuffer::resize(Size size, Int8 zoom)
|
|||
theZoomLevel--;
|
||||
break;
|
||||
|
||||
case NextSize: // increase size
|
||||
case +1: // increase size
|
||||
if(myOSystem->settings().getBool("fullscreen"))
|
||||
return;
|
||||
if(theZoomLevel == theMaxZoomLevel)
|
||||
|
@ -434,7 +417,7 @@ void FrameBuffer::resize(Size size, Int8 zoom)
|
|||
theZoomLevel++;
|
||||
break;
|
||||
|
||||
case GivenSize: // use 'zoom' quantity
|
||||
case 0: // use 'zoom' quantity
|
||||
if(zoom < 1)
|
||||
theZoomLevel = 1;
|
||||
else if((uInt32)zoom > theMaxZoomLevel)
|
||||
|
@ -598,7 +581,7 @@ void FrameBuffer::setWindowIcon()
|
|||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBuffer::box(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor colorA, OverlayColor colorB)
|
||||
int colorA, int colorB)
|
||||
{
|
||||
hLine(x + 1, y, x + w - 2, colorA);
|
||||
hLine(x, y + 1, x + w - 1, colorA);
|
||||
|
@ -613,7 +596,7 @@ void FrameBuffer::box(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
|||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBuffer::frameRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor color, FrameStyle style)
|
||||
int color, FrameStyle style)
|
||||
{
|
||||
switch(style)
|
||||
{
|
||||
|
@ -650,7 +633,7 @@ void FrameBuffer::frameRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void FrameBuffer::drawString(const GUI::Font* font, const string& s,
|
||||
int x, int y, int w,
|
||||
OverlayColor color, TextAlignment align,
|
||||
int color, TextAlignment align,
|
||||
int deltax, bool useEllipsis)
|
||||
{
|
||||
const int leftX = x, rightX = x + w;
|
||||
|
@ -733,7 +716,7 @@ uInt8 FrameBuffer::getPhosphor(uInt8 c1, uInt8 c2)
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
const uInt8 FrameBuffer::ourGUIColors[kNumColors][3] = {
|
||||
const uInt8 FrameBuffer::ourGUIColors[kNumColors-256][3] = {
|
||||
{ 104, 104, 104 }, // kColor
|
||||
{ 0, 0, 0 }, // kBGColor
|
||||
{ 64, 64, 64 }, // kShadowColor
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: FrameBuffer.hxx,v 1.68 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: FrameBuffer.hxx,v 1.69 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef FRAMEBUFFER_HXX
|
||||
|
@ -62,6 +62,18 @@ enum MessagePosition {
|
|||
kBottomRight
|
||||
};
|
||||
|
||||
// Colors indices to use for the various GUI elements
|
||||
enum {
|
||||
kColor = 256,
|
||||
kBGColor,
|
||||
kShadowColor,
|
||||
kHiliteColor,
|
||||
kTextColor,
|
||||
kTextColorHi,
|
||||
kTextColorEm,
|
||||
kNumColors
|
||||
};
|
||||
|
||||
/**
|
||||
This class encapsulates the MediaSource and is the basis for the video
|
||||
display in Stella. All graphics ports should derive from this class for
|
||||
|
@ -70,7 +82,7 @@ enum MessagePosition {
|
|||
All GUI elements (ala ScummVM) are drawn here as well.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: FrameBuffer.hxx,v 1.68 2006-03-24 19:59:52 stephena Exp $
|
||||
@version $Id: FrameBuffer.hxx,v 1.69 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
class FrameBuffer
|
||||
{
|
||||
|
@ -112,7 +124,7 @@ class FrameBuffer
|
|||
*/
|
||||
void showMessage(const string& message,
|
||||
MessagePosition position = kBottomCenter,
|
||||
OverlayColor color = kTextColor);
|
||||
int color = kTextColor);
|
||||
|
||||
/**
|
||||
Hides any onscreen messages.
|
||||
|
@ -154,7 +166,7 @@ class FrameBuffer
|
|||
|
||||
@param status Whether pause has been enabled or disabled
|
||||
*/
|
||||
void handlePause(bool status);
|
||||
void pause(bool status);
|
||||
|
||||
/**
|
||||
Indicates that the TIA area is dirty, and certain areas need
|
||||
|
@ -178,14 +190,14 @@ class FrameBuffer
|
|||
|
||||
/**
|
||||
This method is called when the user wants to resize the window.
|
||||
Size = 'PreviousSize' means window should decrease in size
|
||||
Size = 'NextSize' means window should increase in size
|
||||
Size = 'GivenSize' means window should be resized to quantity given in 'zoom'
|
||||
Size = -1 means window should decrease in size
|
||||
Size = 0 means window should be resized to quantity given in 'zoom'
|
||||
Size = +1 means window should increase in size
|
||||
|
||||
@param size Described above
|
||||
@param zoom The zoom level to use if size is set to 'sGiven'
|
||||
*/
|
||||
void resize(Size size, Int8 zoom = 0);
|
||||
void resize(int size, Int8 zoom = 0);
|
||||
|
||||
/**
|
||||
Sets the state of the cursor (hidden or grabbed) based on the
|
||||
|
@ -243,7 +255,7 @@ class FrameBuffer
|
|||
@param colorB Darker color for inside line.
|
||||
*/
|
||||
void box(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor colorA, OverlayColor colorB);
|
||||
int colorA, int colorB);
|
||||
|
||||
/**
|
||||
This method should be called to draw a framed rectangle.
|
||||
|
@ -256,7 +268,7 @@ class FrameBuffer
|
|||
@param color The color of the surrounding frame
|
||||
*/
|
||||
void frameRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor color, FrameStyle style = kSolidLine);
|
||||
int color, FrameStyle style = kSolidLine);
|
||||
|
||||
/**
|
||||
This method should be called to draw the specified string.
|
||||
|
@ -273,7 +285,7 @@ class FrameBuffer
|
|||
@param useEllipsis Whether to use '...' when the string is too long
|
||||
*/
|
||||
void drawString(const GUI::Font* font, const string& str, int x, int y, int w,
|
||||
OverlayColor color, TextAlignment align = kTextAlignLeft,
|
||||
int color, TextAlignment align = kTextAlignLeft,
|
||||
int deltax = 0, bool useEllipsis = true);
|
||||
|
||||
|
||||
|
@ -349,7 +361,7 @@ class FrameBuffer
|
|||
@param x2 The second x coordinate
|
||||
@param color The color of the line
|
||||
*/
|
||||
virtual void hLine(uInt32 x, uInt32 y, uInt32 x2, OverlayColor color) = 0;
|
||||
virtual void hLine(uInt32 x, uInt32 y, uInt32 x2, int color) = 0;
|
||||
|
||||
/**
|
||||
This method should be called to draw a vertical line.
|
||||
|
@ -359,7 +371,7 @@ class FrameBuffer
|
|||
@param y2 The second y coordinate
|
||||
@param color The color of the line
|
||||
*/
|
||||
virtual void vLine(uInt32 x, uInt32 y, uInt32 y2, OverlayColor color) = 0;
|
||||
virtual void vLine(uInt32 x, uInt32 y, uInt32 y2, int color) = 0;
|
||||
|
||||
/**
|
||||
This method should be called to draw a filled rectangle.
|
||||
|
@ -371,7 +383,7 @@ class FrameBuffer
|
|||
@param color The color of the area
|
||||
*/
|
||||
virtual void fillRect(uInt32 x, uInt32 y, uInt32 w, uInt32 h,
|
||||
OverlayColor color) = 0;
|
||||
int color) = 0;
|
||||
|
||||
/**
|
||||
This method should be called to draw the specified character.
|
||||
|
@ -383,7 +395,7 @@ class FrameBuffer
|
|||
@param color The color of the character
|
||||
*/
|
||||
virtual void drawChar(const GUI::Font* font, uInt8 c, uInt32 x, uInt32 y,
|
||||
OverlayColor color) = 0;
|
||||
int color) = 0;
|
||||
|
||||
/**
|
||||
This method should be called to draw the bitmap image.
|
||||
|
@ -394,7 +406,7 @@ class FrameBuffer
|
|||
@param color The color of the character
|
||||
@param h The height of the data image
|
||||
*/
|
||||
virtual void drawBitmap(uInt32* bitmap, Int32 x, Int32 y, OverlayColor color,
|
||||
virtual void drawBitmap(uInt32* bitmap, Int32 x, Int32 y, int color,
|
||||
Int32 h = 8) = 0;
|
||||
|
||||
/**
|
||||
|
@ -453,11 +465,8 @@ class FrameBuffer
|
|||
uInt32 mySDLFlags;
|
||||
|
||||
// TIA palettes for normal and phosphor modes
|
||||
Uint32 myDefTIAPalette[256];
|
||||
Uint32 myAvgTIAPalette[256][256];
|
||||
|
||||
// GUI palette, derived from 'ourGUIColors'
|
||||
Uint32 myGUIPalette[kNumColors];
|
||||
Uint32 myDefPalette[256+kNumColors];
|
||||
Uint32 myAvgPalette[256][256];
|
||||
|
||||
// Indicates the current zoom level of the SDL screen
|
||||
uInt32 theZoomLevel;
|
||||
|
@ -481,7 +490,7 @@ class FrameBuffer
|
|||
int myPhosphorBlend;
|
||||
|
||||
// Table of RGB values for GUI elements
|
||||
static const uInt8 ourGUIColors[kNumColors][3];
|
||||
static const uInt8 ourGUIColors[kNumColors-256][3];
|
||||
|
||||
private:
|
||||
/**
|
||||
|
@ -508,15 +517,12 @@ class FrameBuffer
|
|||
// Indicates the current framerate of the system
|
||||
uInt32 myFrameRate;
|
||||
|
||||
// Indicates the current pause status
|
||||
bool myPauseStatus;
|
||||
|
||||
// Used for onscreen messages
|
||||
struct Message {
|
||||
string text;
|
||||
int counter;
|
||||
int x, y, w, h;
|
||||
OverlayColor color;
|
||||
uInt32 color;
|
||||
};
|
||||
Message myMessage;
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: OSystem.cxx,v 1.66 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: OSystem.cxx,v 1.67 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <cassert>
|
||||
|
@ -232,9 +232,15 @@ void OSystem::toggleFrameBuffer()
|
|||
|
||||
myEventHandler->handleEvent(Event::Pause, 0);
|
||||
|
||||
// Remember the pause state
|
||||
bool pause = myEventHandler->isPaused();
|
||||
|
||||
// Update the settings and create the framebuffer
|
||||
mySettings->setString("video", video);
|
||||
createFrameBuffer(true); // show onscreen message
|
||||
|
||||
// And re-pause the system
|
||||
myEventHandler->pause(pause);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: OSystem.hxx,v 1.40 2006-03-17 19:44:18 stephena Exp $
|
||||
// $Id: OSystem.hxx,v 1.41 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef OSYSTEM_HXX
|
||||
|
@ -44,7 +44,7 @@ class CheatManager;
|
|||
other objects belong.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: OSystem.hxx,v 1.40 2006-03-17 19:44:18 stephena Exp $
|
||||
@version $Id: OSystem.hxx,v 1.41 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
class OSystem
|
||||
{
|
||||
|
@ -91,63 +91,63 @@ class OSystem
|
|||
|
||||
@return The event handler
|
||||
*/
|
||||
EventHandler& eventHandler() const { return *myEventHandler; }
|
||||
inline EventHandler& eventHandler() const { return *myEventHandler; }
|
||||
|
||||
/**
|
||||
Get the frame buffer of the system
|
||||
|
||||
@return The frame buffer
|
||||
*/
|
||||
FrameBuffer& frameBuffer() const { return *myFrameBuffer; }
|
||||
inline FrameBuffer& frameBuffer() const { return *myFrameBuffer; }
|
||||
|
||||
/**
|
||||
Get the sound object of the system
|
||||
|
||||
@return The sound object
|
||||
*/
|
||||
Sound& sound() const { return *mySound; }
|
||||
inline Sound& sound() const { return *mySound; }
|
||||
|
||||
/**
|
||||
Get the settings object of the system
|
||||
|
||||
@return The settings object
|
||||
*/
|
||||
Settings& settings() const { return *mySettings; }
|
||||
inline Settings& settings() const { return *mySettings; }
|
||||
|
||||
/**
|
||||
Get the set of game properties for the system
|
||||
|
||||
@return The properties set object
|
||||
*/
|
||||
PropertiesSet& propSet() const { return *myPropSet; }
|
||||
inline PropertiesSet& propSet() const { return *myPropSet; }
|
||||
|
||||
/**
|
||||
Get the console of the system.
|
||||
|
||||
@return The console object
|
||||
*/
|
||||
Console& console(void) const { return *myConsole; }
|
||||
inline Console& console(void) const { return *myConsole; }
|
||||
|
||||
/**
|
||||
Get the settings menu of the system.
|
||||
|
||||
@return The settings menu object
|
||||
*/
|
||||
Menu& menu(void) const { return *myMenu; }
|
||||
inline Menu& menu(void) const { return *myMenu; }
|
||||
|
||||
/**
|
||||
Get the command menu of the system.
|
||||
|
||||
@return The command menu object
|
||||
*/
|
||||
CommandMenu& commandMenu(void) const { return *myCommandMenu; }
|
||||
inline CommandMenu& commandMenu(void) const { return *myCommandMenu; }
|
||||
|
||||
/**
|
||||
Get the ROM launcher of the system.
|
||||
|
||||
@return The launcher object
|
||||
*/
|
||||
Launcher& launcher(void) const { return *myLauncher; }
|
||||
inline Launcher& launcher(void) const { return *myLauncher; }
|
||||
|
||||
#ifdef DEVELOPER_SUPPORT
|
||||
/**
|
||||
|
@ -155,7 +155,7 @@ class OSystem
|
|||
|
||||
@return The debugger object
|
||||
*/
|
||||
Debugger& debugger(void) const { return *myDebugger; }
|
||||
inline Debugger& debugger(void) const { return *myDebugger; }
|
||||
#endif
|
||||
|
||||
#ifdef CHEATCODE_SUPPORT
|
||||
|
@ -164,7 +164,7 @@ class OSystem
|
|||
|
||||
@return The cheatmanager object
|
||||
*/
|
||||
CheatManager& cheat(void) const { return *myCheatManager; }
|
||||
inline CheatManager& cheat(void) const { return *myCheatManager; }
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: AboutDialog.cxx,v 1.10 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: AboutDialog.cxx,v 1.11 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -171,7 +171,7 @@ void AboutDialog::displayInfo()
|
|||
{
|
||||
const char *str = dscStr[i].c_str();
|
||||
TextAlignment align = kTextAlignCenter;
|
||||
OverlayColor color = kTextColor;
|
||||
int color = kTextColor;
|
||||
|
||||
while (str[0] == '\\')
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: EditableWidget.cxx,v 1.16 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: EditableWidget.cxx,v 1.17 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -170,7 +170,7 @@ void EditableWidget::drawCaret()
|
|||
|
||||
GUI::Rect editRect = getEditRect();
|
||||
|
||||
OverlayColor color = kTextColorHi;
|
||||
int color = kTextColorHi;
|
||||
int x = editRect.left;
|
||||
int y = editRect.top;
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: GuiUtils.hxx,v 1.23 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: GuiUtils.hxx,v 1.24 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -29,23 +29,11 @@
|
|||
Probably not very neat, but at least it works ...
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: GuiUtils.hxx,v 1.23 2006-03-24 19:59:52 stephena Exp $
|
||||
@version $Id: GuiUtils.hxx,v 1.24 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
|
||||
#define kScrollBarWidth 9
|
||||
|
||||
// Colors indices to use for the various GUI elements
|
||||
enum OverlayColor {
|
||||
kColor,
|
||||
kBGColor,
|
||||
kShadowColor,
|
||||
kHiliteColor,
|
||||
kTextColor,
|
||||
kTextColorHi,
|
||||
kTextColorEm,
|
||||
kNumColors
|
||||
};
|
||||
|
||||
// The commands generated by various widgets
|
||||
enum {
|
||||
kOKCmd = 'OK ',
|
||||
|
@ -60,13 +48,6 @@ enum {
|
|||
kRefreshAllCmd = 'REFA'
|
||||
};
|
||||
|
||||
// Indicates a three-way possibility when changing the size of some quantity
|
||||
enum Size {
|
||||
PreviousSize,
|
||||
GivenSize,
|
||||
NextSize
|
||||
};
|
||||
|
||||
static const string EmptyString("");
|
||||
|
||||
template<typename T> inline void SWAP(T &a, T &b) { T tmp = a; a = b; b = tmp; }
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: ScrollBarWidget.cxx,v 1.13 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: ScrollBarWidget.cxx,v 1.14 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -277,7 +277,7 @@ void ScrollBarWidget::drawWidget(bool hilite)
|
|||
(hilite && _part == kSliderPart) ? kTextColorHi : kTextColor);
|
||||
fb.frameRect(_x, _y + _sliderPos, _w, _sliderHeight, kColor);
|
||||
int y = _y + _sliderPos + _sliderHeight / 2;
|
||||
OverlayColor color = (hilite && _part == kSliderPart) ? kColor : kShadowColor;
|
||||
int color = (hilite && _part == kSliderPart) ? kColor : kShadowColor;
|
||||
fb.hLine(_x + 2, y - 2, _x + _w - 3, color);
|
||||
fb.hLine(_x + 2, y, _x + _w - 3, color);
|
||||
fb.hLine(_x + 2, y + 2, _x + _w - 3, color);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: StringListWidget.cxx,v 1.5 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: StringListWidget.cxx,v 1.6 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -61,8 +61,8 @@ void StringListWidget::drawWidget(bool hilite)
|
|||
// Draw the list items
|
||||
for (i = 0, pos = _currentPos; i < _rows && pos < len; i++, pos++)
|
||||
{
|
||||
const OverlayColor textColor = (_selectedItem == pos && _editMode)
|
||||
? kColor : kTextColor;
|
||||
const int textColor = (_selectedItem == pos && _editMode)
|
||||
? kColor : kTextColor;
|
||||
const int y = _y + 2 + _fontHeight * i;
|
||||
|
||||
// Draw the selected item inverted, on a highlighted background.
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: TabWidget.cxx,v 1.21 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: TabWidget.cxx,v 1.22 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -212,7 +212,7 @@ void TabWidget::loadConfig()
|
|||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void TabWidget::box(int x, int y, int width, int height,
|
||||
OverlayColor colorA, OverlayColor colorB, bool omitBottom)
|
||||
int colorA, int colorB, bool omitBottom)
|
||||
{
|
||||
//cerr << "TabWidget::box\n";
|
||||
FrameBuffer& fb = _boss->instance()->frameBuffer();
|
||||
|
@ -255,7 +255,7 @@ void TabWidget::drawWidget(bool hilite)
|
|||
int i, x = _x + kTabLeftOffset;
|
||||
for (i = 0; i < (int)_tabs.size(); ++i)
|
||||
{
|
||||
OverlayColor color = (i == _activeTab) ? kColor : kShadowColor;
|
||||
int color = (i == _activeTab) ? kColor : kShadowColor;
|
||||
int yOffset = (i == _activeTab) ? 0 : 2;
|
||||
box(x, _y + yOffset, _tabWidth, _tabHeight - yOffset, color, color, (i == _activeTab));
|
||||
fb.drawString(_font, _tabs[i].title, x + kTabPadding,
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: TabWidget.hxx,v 1.12 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: TabWidget.hxx,v 1.13 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -87,7 +87,7 @@ class TabWidget : public Widget, public CommandSender
|
|||
|
||||
private:
|
||||
void box(int x, int y, int width, int height,
|
||||
OverlayColor colorA, OverlayColor colorB, bool omitBottom);
|
||||
int colorA, int colorB, bool omitBottom);
|
||||
|
||||
void updateActiveTab();
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: VideoDialog.cxx,v 1.28 2006-03-19 20:57:55 stephena Exp $
|
||||
// $Id: VideoDialog.cxx,v 1.29 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -294,7 +294,7 @@ void VideoDialog::saveConfig()
|
|||
// Zoom
|
||||
i = (myZoomSlider->getValue() / 10) + 1;
|
||||
instance()->settings().setInt("zoom", i);
|
||||
instance()->frameBuffer().resize(GivenSize, i);
|
||||
instance()->frameBuffer().resize(0, i);
|
||||
|
||||
// Fullscreen (the setFullscreen method takes care of updating settings)
|
||||
b = myFullscreenCheckbox->getState();
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: Widget.cxx,v 1.42 2006-02-22 17:38:04 stephena Exp $
|
||||
// $Id: Widget.cxx,v 1.43 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -85,8 +85,8 @@ void Widget::draw()
|
|||
|
||||
// Draw border
|
||||
if(_flags & WIDGET_BORDER) {
|
||||
OverlayColor colorA = kColor;
|
||||
OverlayColor colorB = kShadowColor;
|
||||
int colorA = kColor;
|
||||
int colorB = kShadowColor;
|
||||
if((_flags & WIDGET_INV_BORDER) == WIDGET_INV_BORDER)
|
||||
SWAP(colorA, colorB);
|
||||
fb.box(_x, _y, _w, _h, colorA, colorB);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: Widget.hxx,v 1.48 2006-03-02 13:10:53 stephena Exp $
|
||||
// $Id: Widget.hxx,v 1.49 2006-03-25 00:34:17 stephena Exp $
|
||||
//
|
||||
// Based on code from ScummVM - Scumm Interpreter
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -75,7 +75,7 @@ enum {
|
|||
This is the base class for all widgets.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: Widget.hxx,v 1.48 2006-03-02 13:10:53 stephena Exp $
|
||||
@version $Id: Widget.hxx,v 1.49 2006-03-25 00:34:17 stephena Exp $
|
||||
*/
|
||||
class Widget : public GuiObject
|
||||
{
|
||||
|
@ -124,7 +124,7 @@ class Widget : public GuiObject
|
|||
void setID(int id) { _id = id; }
|
||||
int getID() { return _id; }
|
||||
|
||||
void setColor(OverlayColor color) { _color = color; }
|
||||
void setColor(int color) { _color = color; }
|
||||
virtual const GUI::Font* font() { return _font; }
|
||||
|
||||
virtual void loadConfig() {}
|
||||
|
@ -144,16 +144,16 @@ class Widget : public GuiObject
|
|||
{ assert(_boss); _boss->handleCommand(sender, cmd, data, id); }
|
||||
|
||||
protected:
|
||||
int _type;
|
||||
GuiObject* _boss;
|
||||
GUI::Font* _font;
|
||||
Widget* _next;
|
||||
int _id;
|
||||
int _flags;
|
||||
bool _hasFocus;
|
||||
OverlayColor _color;
|
||||
int _fontWidth;
|
||||
int _fontHeight;
|
||||
int _type;
|
||||
GuiObject* _boss;
|
||||
GUI::Font* _font;
|
||||
Widget* _next;
|
||||
int _id;
|
||||
int _flags;
|
||||
bool _hasFocus;
|
||||
int _color;
|
||||
int _fontWidth;
|
||||
int _fontHeight;
|
||||
|
||||
public:
|
||||
static Widget* findWidgetInChain(Widget* start, int x, int y);
|
||||
|
@ -262,7 +262,7 @@ class CheckboxWidget : public ButtonWidget
|
|||
bool _fillRect;
|
||||
bool _drawBox;
|
||||
|
||||
OverlayColor _fillColor;
|
||||
int _fillColor;
|
||||
|
||||
private:
|
||||
int _boxY;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: OSystemUNIX.cxx,v 1.19 2006-03-24 19:59:52 stephena Exp $
|
||||
// $Id: OSystemUNIX.cxx,v 1.20 2006-03-25 00:34:17 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <SDL.h>
|
||||
|
@ -88,7 +88,7 @@ void OSystemUNIX::mainLoop()
|
|||
for(;;)
|
||||
{
|
||||
// Exit if the user wants to quit
|
||||
if(myEventHandler->isQuit())
|
||||
if(myEventHandler->doQuit())
|
||||
break;
|
||||
|
||||
startTime = getTicks();
|
||||
|
@ -121,7 +121,7 @@ void OSystemUNIX::mainLoop()
|
|||
for(;;)
|
||||
{
|
||||
// Exit if the user wants to quit
|
||||
if(myEventHandler->isQuit())
|
||||
if(myEventHandler->doQuit())
|
||||
break;
|
||||
|
||||
startTime = getTicks();
|
||||
|
|
Loading…
Reference in New Issue