There were menu drawing regression after 03adec8141.
This PR will fix it. CORE-16244
- We don't have to draw the frame manually because of WS_EX_DLGMODALFRAME extended style.
- We don't need the margins (MENU_TOP_MARGIN and MENU_BOTTOM_MARGIN) in the client area any more because the client area doesn't contain the frame width.
- Use GetSystemMetrics(SM_CXDLGFRAME) and GetSystemMetrics(SM_CYDLGFRAME) for frame width.
CORE-16269
- Add IntGdiAddFontResourceEx function that is extended from IntGdiAddFontResource, in order to add dwFlags parameter.
- Add IntLoadFontsInRegistry function that will load the fonts from registry info.
- If loading from registry failed, IntLoadSystemFonts will be called.
- Use IntLoadFontsInRegistry rather than IntLoadSystemFonts in the OS startup.
- Add NameFromCharSet function.
- Append " (CharSetName)" to registry value name if not TrueType.
With this change we can remove the workaround from the off-screen
menus dropping below their parent.
Many thanks to Joachim for his help debugging / testing this.
CORE-16297
CORE-16294
We had added "Arial Black" font, so a request for heavy weight font will be realized as it is. This PR will fix font weight (FW_*) calculation of default menu items.
Fix and improve font dumping. CORE-16245
- FontGDI->FontObj is not a pointer.
- "%s" does null check, so we remove redundant null checks.
- Add FaceName and StyleName dumping.
addendum to 0.4.13-dev-707-g
0e4db883e5
Jim Tabor intended to structurally use flTextAlign over
lTextAlign internally within IntExtTextOutW().
He initially committed these changes in 0.4.12-dev-805-g
3377fe184e
But we unintentionally lost these changes via 0.4.13-dev-370-g
8f482af0a8
Many thanks to Doug Lyons who helped a lot with fixing CORE-16133.
CORE-13211
user32!DrawFrameControl drawed invalid menu arrow when the width is shorter than the height.
- Use the squared rectangle.
- Draw it in the transparent background mode.
- Save the old background mode of HDC.
This PR will fix UltraISO's bug.
We assume pso->sizlBitmap.cy is positive. CORE-15995
Because pso->sizlBitmap.cy is certificated as a positive value after initialization in SURFACE_AllocSurface, so we can safely omit abs and labs (absolute) function calls for it.
- Use an auxiliary list where we add the new enumerated faces, for easy
roll-back in case a failure happens during font loading. Only at the
very end when font loading has been successfully done, the auxiliary
list is appended to the corresponding global or per-proceess font list.
- Perform actual cleanup in case of failures.
- Introduce CleanupFontEntryEx() helper to simplify cleanup in
IntGdiLoadFontsFromMemory() in failure paths; implement
CleanupFontEntry() around it.
Additions:
- Perform string buffer NULL check in IntGdiAddFontResource().
- Reorder memory unmapping and section object dereferencing in
IntGdiAddFontResource().
- Move DuplicateUnicodeString() upwards.
- Mark explicitly the Marlett font handling hacks.
Add raster font (*.fnt and *.fon files) support. CORE-16165
- Add IntGetCharSet() function to get the charset by index and/or the number of charsets.
- Make IntGdiLoadFontsFromMemory() a non-recursive function.
- IntGetOutlineTextMetrics() accepts raster fonts.
- Improve CharMap handling (especially TT_PLATFORM_APPLE_UNICODE).
- Write the raster font file info to the registry.
- Don't request font size for raster fonts in IntRequestFontSize() function.
Patch :
Vijay Kiran Kamuju : Add DlgDirList wildcard checks.
Nikolay Sivov : Fix setting negative dialog item ids.
Alistair Leslie-Hughes : Don't reset focus if current dialog is a child.
Dmitry Timoshkov : If there is no dialog controls to set focus to then
set focus to dialog itself.
Zhiyi Zhang : Send notification for the focused button in
IsDialogMessage().
Huw Davies : Avoid using the comma operator in a while condition.
Patch skipped : a525631920d74e9d797f38305b89e63aed1c5c41 : Scale dialog
base units based on DPI awareness.
This fixes:
- CORE-15911 "Scrollbars do not dissapear when Maximizing and not needed"
- CORE-10617 "ListView corrupt scrollbar upon resizing the column-header"
and will appease regression:
- CORE-15429 "Uninitialized scrollbars in 'My Computer'"
By applying clientFix.patch from CORE-15911 contributed by JIRA-user 'I_Kill_Bugs'.
https://reactos.org/testman/compare.php?ids=66723,66729
Earlier I already committed this fix into 0.4.12-RC-9-g
5ac548544f
This callback works. Haven't commit the rest yet. Still thinking about
the data packets types and shapes. Using wordpad to test this. It works,
loads and unloads due to incomplete driver support and no PDEV. It
crashes in ComCtl32 while loading a text file. When this gets committed
without a solution, the code will be commented out.