public:
Scaler() { };
virtual ~Scaler() { };
-
+
virtual const char * getName() const = 0;
-
+
virtual uint8* getDrawBuffer() const = 0;
virtual unsigned int getDrawBufferPitch() const = 0;
virtual void getRenderedGUIArea(unsigned short & x, unsigned short & y,
class ScalerFactory
{
-public:
+public:
ScalerFactory() { };
virtual ~ScalerFactory() { };
virtual const char * getName() const = 0;
~DummyScaler()
{
};
-
+
class Factory : public ScalerFactory
{
const char * getName() const
{
return "none";
}
-
+
bool canEnable(int w, int h) const
{
return true;
};
void prepare() { };
-
+
void finish()
{
SDL_UpdateRects(m_screen, 1, &m_area);
{
free(m_surface);
};
-
+
class Factory : public ScalerFactory
{
const char * getName() const
{
return "2x";
}
-
+
bool canEnable(int w, int h) const
{
return w * 2 < GUI.Width && h * 2 < GUI.Height;
};
void prepare() { };
-
+
void finish()
{
uint16 * src = reinterpret_cast<uint16*>(m_surface);
SDL_Surface* m_screen;
SDL_Rect m_area;
SDL_Rect m_real_area;
-
+
static void setDoubling(bool enable)
{
SDL_SysWMinfo wminfo;
{
setDoubling(false);
};
-
+
class Factory : public ScalerFactory
{
const char * getName() const