aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sword25/gfx/opengl/openglgfx.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/engines/sword25/gfx/opengl/openglgfx.cpp b/engines/sword25/gfx/opengl/openglgfx.cpp
index bc2e228030..bc3f87e556 100644
--- a/engines/sword25/gfx/opengl/openglgfx.cpp
+++ b/engines/sword25/gfx/opengl/openglgfx.cpp
@@ -212,18 +212,21 @@ bool OpenGLGfx::GetVsync() const {
// -----------------------------------------------------------------------------
-bool OpenGLGfx::Fill(const Common::Rect *FillRectPtr, unsigned int Color) {
- Common::Rect Rect;
-
- if (!FillRectPtr) {
- Rect.left = 0;
- Rect.top = 0;
- Rect.right = m_Width;
- Rect.bottom = m_Height;
- FillRectPtr = &Rect;
+bool OpenGLGfx::Fill(const Common::Rect *fillRectPtr, unsigned int color) {
+ Common::Rect rect;
+
+ if (!fillRectPtr) {
+ rect.left = 0;
+ rect.top = 0;
+ rect.right = m_Width - 1;
+ rect.bottom = m_Height - 1;
+ fillRectPtr = ▭
}
- warning("STUB: Fill()");
+ if (fillRectPtr->width() > 0 && fillRectPtr->height() > 0) {
+ _backSurface.fillRect(*fillRectPtr, color);
+ g_system->copyRectToScreen((byte *)_backSurface.getBasePtr(fillRectPtr->left, fillRectPtr->top), _backSurface.pitch, fillRectPtr->left, fillRectPtr->top, fillRectPtr->width(), fillRectPtr->height());
+ }
return true;
}