void SDLGraphicsSystem::fillScreenArea(const Rect& rect, const RGBAColour& colour) { if (colour.a()) { glDisable(GL_TEXTURE_2D); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBegin(GL_QUADS); { glColorRGBA(colour); glVertex2f(rect.x(), rect.y()); glVertex2f(rect.x(), rect.y() + rect.height()); glVertex2f(rect.x() + rect.width(), rect.y() + rect.height()); glVertex2f(rect.x() + rect.width(), rect.y()); } glEnd(); glEnable(GL_TEXTURE_2D); glBlendFunc(GL_ONE, GL_ZERO); } }
void glColorRGBA(const RGBAColour& rgba) { glColor4ub(rgba.r(), rgba.g(), rgba.b(), rgba.a()); }
Uint32 MapRGBA(SDL_PixelFormat *fmt, const RGBAColour& in) { return SDL_MapRGBA(fmt, in.r(), in.g(), in.b(), in.a()); }