André Hentschel : comctl32: Stop flicker when drawing themed and draw the correct image smoothly.
Alexandre Julliard
julliard at winehq.org
Tue Aug 4 12:25:20 CDT 2009
Module: wine
Branch: master
Commit: b585ca0f64dc4b80f34d47cb514cb50a95202ef3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b585ca0f64dc4b80f34d47cb514cb50a95202ef3
Author: André Hentschel <nerv at dawncrow.de>
Date: Sun Jul 26 15:57:06 2009 +0200
comctl32: Stop flicker when drawing themed and draw the correct image smoothly.
---
dlls/comctl32/progress.c | 26 +++++---------------------
1 files changed, 5 insertions(+), 21 deletions(-)
diff --git a/dlls/comctl32/progress.c b/dlls/comctl32/progress.c
index 56f40bb..c44b816 100644
--- a/dlls/comctl32/progress.c
+++ b/dlls/comctl32/progress.c
@@ -263,38 +263,22 @@ static const ProgressDrawProc drawProcClassic[8] = {
static void draw_theme_bar_H (const ProgressDrawInfo* di, int start, int end)
{
RECT r;
- int right = di->rect.left + end;
r.left = di->rect.left + start;
r.top = di->rect.top;
r.bottom = di->rect.bottom;
- while (r.left < right)
- {
- r.right = min (r.left + di->ledW, right);
- DrawThemeBackground (di->theme, di->hdc, PP_CHUNK, 0, &r, NULL);
- r.left = r.right;
- r.right = min (r.left + di->ledGap, right);
- DrawThemeBackground (di->theme, di->hdc, PP_BAR, 0, &di->bgRect, &r);
- r.left = r.right;
- }
+ r.right = di->rect.left + end;
+ DrawThemeBackground (di->theme, di->hdc, PP_CHUNK, 0, &r, NULL);
}
-/* draw themed horizontal bar from 'start' to 'end' */
+/* draw themed vertical bar from 'start' to 'end' */
static void draw_theme_bar_V (const ProgressDrawInfo* di, int start, int end)
{
RECT r;
- int top = di->rect.bottom - end;
r.left = di->rect.left;
r.right = di->rect.right;
r.bottom = di->rect.bottom - start;
- while (r.bottom > top)
- {
- r.top = max (r.bottom - di->ledW, top);
- DrawThemeBackground (di->theme, di->hdc, PP_CHUNKVERT, 0, &r, NULL);
- r.bottom = r.top;
- r.top = max (r.bottom - di->ledGap, top);
- DrawThemeBackground (di->theme, di->hdc, PP_BARVERT, 0, &di->bgRect, &r);
- r.bottom = r.top;
- }
+ r.top = di->rect.bottom - end;
+ DrawThemeBackground (di->theme, di->hdc, PP_CHUNKVERT, 0, &r, NULL);
}
/* draw themed horizontal background from 'start' to 'end' */
More information about the wine-cvs
mailing list