From 2fd53b7dba887c03e25fb74083f01a3a31b00d82 Mon Sep 17 00:00:00 2001 From: Vincent Wei Date: Fri, 10 Jan 2020 11:22:26 +0800 Subject: [PATCH] implement kernel_ShowCursorForGDI for compositing schema --- src/kernel/cursor-procs.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/kernel/cursor-procs.c b/src/kernel/cursor-procs.c index cca58ab0..f942f7a5 100644 --- a/src/kernel/cursor-procs.c +++ b/src/kernel/cursor-procs.c @@ -942,6 +942,7 @@ inline static BOOL does_need_hide (const RECT* prc) } #ifdef _MGUSE_SHAREDFB +/* version for _MGUSE_SHAREDFB */ void kernel_ShowCursorForGDI (BOOL fShow, void* pdc) { PDC cur_pdc = (PDC)pdc; @@ -975,7 +976,24 @@ void kernel_ShowCursorForGDI (BOOL fShow, void* pdc) } } } -#endif +#else +/* version for _MGUSE_COMPOSITING */ +void kernel_ShowCursorForGDI (BOOL fShow, void* pdc) +{ + PDC cur_pdc = (PDC)pdc; + const RECT* prc = NULL; + + if (!mgIsServer && (SHAREDRES_TOPMOST_LAYER != __mg_layer)) { + return; + } + + prc = &cur_pdc->rc_output; + if (cur_pdc->surface->video && fShow) { + GAL_UpdateRect (cur_pdc->surface, + prc->left, prc->top, RECTWP(prc), RECTHP(prc)); + } +} +#endif /* _MGUSE_SHAREDFB */ int GUIAPI ShowCursor (BOOL fShow) {