summaryrefslogtreecommitdiff
path: root/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'screen.c')
-rw-r--r--screen.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/screen.c b/screen.c
index 3412da4..f86447f 100644
--- a/screen.c
+++ b/screen.c
@@ -67,7 +67,10 @@ void cText2SkinScreen::DrawBitmap(int x, int y, const cBitmap &Bitmap, const tCo
DrawBitmapOverlay(*mRegions[i], x, y, (cBitmap&)Bitmap, ColorMask);
//mRegions[i]->DrawBitmap(x, y, Bitmap);
#else
- mOsd->DrawBitmap(x, y, Bitmap, ColorFg, ColorBg);
+ // mOsd->DrawBitmap(x, y, Bitmap, ColorFg, ColorBg);
+ cBitmap *bm = NULL;
+ for (int i = 0; (bm = mOsd->GetBitmap(i)) != NULL; ++i)
+ DrawBitmapOverlay(*bm, x, y, (cBitmap&)Bitmap, ColorMask);
#endif
}
@@ -122,6 +125,14 @@ void cText2SkinScreen::Flush(void)
mOsd->DrawBitmap(mRegions[i]->X0(), mRegions[i]->Y0(), *mRegions[i]);
#endif
}
+#ifdef BENCH
+ int x1 = 0, y1 = 0, x2 = 0, y2 = 0;
+ cBitmap *bm;
+ for (int j = 0; (bm = mOsd->GetBitmap(j)) != NULL; j++)
+ if (bm->Dirty(x1, y1, x2, y2))
+ fprintf(stderr, "Flush dirty screen area %2i: x1=%3i x2=%3i y1=%3i y2=%3i\n",
+ j, x1, x2, y1, y2);
+#endif
if (!mOffScreen)
mOsd->Flush();
}