libx11-dev, x11proto-core-dev, libxsp-dev, libpopt-dev, zlib1g-dev, gnupg,
libosso-dev, osso-games-startup-dev, libsdl-image1.2-dev,
libhildonfm2-dev, libosso-gnomevfs2-dev, libhildonmime-dev,
- maemo-version (<< 5.0) | libsdl-haa1.2-dev,
+ maemo-version (<< 5.0) | libsdl-haa1.2-dev (>= 1.1.0),
libbluetooth2-dev | libbluetooth3-dev, libzeemote-dev, libzeemote-conf-dev
Standards-Version: 3.7.2
const int m_w, m_h, m_Bpp;
const float ratio_x, ratio_y;
+ static bool initialized;
+
protected:
HAAScalerBase(SDL_Surface* screen, int w, int h, float r_x, float r_y)
: m_screen(screen), m_w(w), m_h(h),
// Clear the SDL screen with black, just in case it gets drawn.
SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 0, 0, 0));
- HAA_Init(fullscreen ? SDL_FULLSCREEN : 0);
+ if (!initialized) {
+ HAA_Init(0);
+ initialized = true;
+ } else {
+ HAA_SetVideoMode(); // Tell HAA we might have changed video mode
+ }
+
actor = HAA_CreateActor(0, m_w, m_h, m_screen->format->BitsPerPixel);
HAA_SetPosition(actor, m_area.x, m_area.y + (fullscreen ? 0 : 60));
+ // In windowed mode, take care of the title bar (xoffset = 60)
HAA_SetScale(actor, r_x, r_y);
HAA_Show(actor);
}
virtual ~HAAScalerBase()
{
HAA_FreeActor(actor);
- HAA_Quit();
};
uint8* getDrawBuffer() const
return HAA_FilterEvent(&event) == 0;
};
};
+bool HAAScalerBase::initialized = false;
class HAAFillScaler : public HAAScalerBase
{