When using the render sample, I have noticed the following issues with wxNativeRenderer on Windows (i.e., wxRendererXP). They do not include the long-standing issue with title bar bitmap, which is what Windows gives us.
DrawGauge() draws bad looking gauge in dark modeThis is probably caused by the underlying native API (DrawThemeBackground()) not working well in dark mode.
The method is used in wxWidgets for progress bar columns in wxDataViewCtrl. See also #26767.
DrawTreeItemButton() in light and dark modeThe light mode still uses the old style +/- button while dark mode uses the modern chevron. This is probably due to different theme names being used. wxWidgets has switched to use the chevron everywhere (wxTreeCtrl, wxPropertyGrid), so it should be done in the renderer as well.
DrawItemText() does not work with wxGCDCThis fails because we call DrawThemeTextEx(hTheme, dc.GetHDC()…) with null dc handle. This is because in wxDC::GetHDC() we have wxMSWDCImpl * const impl = wxDynamicCast(GetImpl(), wxMSWDCImpl); and the cast for some reason (GetImpl() is not nullptr) results in nullptr.
I do not know why the cast fails but this issue can be fixed for GDI+ by doing what DrawGauge() does: In the API call, replace dc.GetHDC() with GetHdcOf(dc.GetTempHDC()). However, doing this breaks in Direct2D; not only the font is too big (even on 100% DPI), the renderer drawing functions stop drawing after the call?!
After switching from the dark to the light mode, the header button becomes unthemed and the tree button switches style to the modern one (see Issue 2).
Image: Image (view on web)—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
Thanks for reporting these issues, but unfortunately I don't have any ideas about any of them immediately, so they will need to be debugged.
BTW, I think they're all independent and so we probably should address them in different issues. But I'll only create them when/if I find something worth adding to this issue (this comment is mostly just to let you know that I don't ignore your bug reports, it's just that I don't have time to do anything useful about them...).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()