Compare commits
6 commits
feature/mf
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b70747b57 | |||
| 02cbcea9e5 | |||
| bb88845622 | |||
| bb38e35f0f | |||
| 64e00c5031 | |||
| 6a6c51cb73 |
6 changed files with 13 additions and 5 deletions
|
|
@ -34,6 +34,7 @@ FEATURE: LGDP4532 driver improvements.
|
|||
FIX: Win32 Keyboard driver now retrieves lock key states on window activate
|
||||
FEATURE: Add SSD1312 GDISP driver
|
||||
FEATURE: Add CH1115 GDISP driver
|
||||
FIX: Fix multiple redraws of GWIN windows (thanks to Sergey Kushnir)
|
||||
|
||||
|
||||
*** Release 2.9 ***
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
Homepage: http://ugfx.io
|
||||
Documentation: http://wiki.ugfx.io
|
||||
API-Reference: http://api.ugfx.io
|
||||
Forum: http://community.ugfx.io
|
||||
uGFX-Studio: http://studio.ugfx.io
|
||||
Homepage: https://ugfx.io
|
||||
Documentation: https://wiki.ugfx.io
|
||||
API-Reference: https://api.ugfx.io
|
||||
Forum: https://community.ugfx.io
|
||||
|
|
|
|||
|
|
@ -749,6 +749,7 @@ static void WM_Delete(GHandle gh) {
|
|||
|
||||
static void WM_Redraw(GHandle gh) {
|
||||
gU32 flags;
|
||||
gU32 parents = 0; // Used to indicate whether the window (gh) has parent(s).
|
||||
|
||||
flags = gh->flags;
|
||||
gh->flags &= ~(GWIN_FLG_NEEDREDRAW|GWIN_FLG_BGREDRAW|GWIN_FLG_PARENTREVEAL);
|
||||
|
|
@ -790,6 +791,8 @@ static void WM_Redraw(GHandle gh) {
|
|||
if (gh->parent) {
|
||||
// Child redraw is done
|
||||
|
||||
parents++;
|
||||
|
||||
// Get the parent to redraw the area
|
||||
gh = gh->parent;
|
||||
|
||||
|
|
@ -806,6 +809,11 @@ static void WM_Redraw(GHandle gh) {
|
|||
// Clear the area to the background color
|
||||
gdispGFillArea(gh->display, gh->x, gh->y, gh->width, gh->height, gwinGetDefaultBgColor());
|
||||
|
||||
#if GWIN_NEED_CONTAINERS
|
||||
if (!parents)
|
||||
return;
|
||||
#endif
|
||||
|
||||
// Now loop over all windows looking for overlaps. Redraw them if they overlap the newly exposed area.
|
||||
for(gx = gwinGetNextWindow(0); gx; gx = gwinGetNextWindow(gx)) {
|
||||
if ((gx->flags & GWIN_FLG_SYSVISIBLE)
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Reference in a new issue