[LPK][GDI32] Enable mirroring via version resource (#965)
authorBaruch Rutman <peterooch@gmail.com>
Wed, 24 Oct 2018 19:34:38 +0000 (22:34 +0300)
committerHermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Wed, 24 Oct 2018 19:34:38 +0000 (21:34 +0200)
commit6a3b1879a184e07dd52cbb7ac8edb78ca9e8ba23
treedd2f4bfa1c02641ac8b76b09f1d7bf4feabeeb55
parent17449bcff17fcf36ff82eeb3669266fb3b2057f2
[LPK][GDI32] Enable mirroring via version resource (#965)

Add a mechanism that detects via the version resource whether it's needed to mirror
the application layout or not. This is a "follow up" to commit 5b14b6f.

This code is taken from the GetProcessDefaultLayout() function from Wine
(called there "WIN_CreateWindowEx").

In Windows the version-resource mirroring happens when the GDI is loading the LPK.

- Implement mirroring via version resource. GDI linking on startup is required.

- GDI32: Add LPK loading on GDI startup.

To enable mirroring via version resource the lpk.dll must be loaded before any windows are created.
This is done through GdiInitializeLanguagePack() function which is called in GdiProcessSetup().

- LPK: Use Wine debug messaging.
dll/win32/lpk/CMakeLists.txt
dll/win32/lpk/bidi.c
dll/win32/lpk/lpk.c
dll/win32/lpk/ros_lpk.h
dll/win32/lpk/stub.c
win32ss/gdi/gdi32/include/gdi32p.h
win32ss/gdi/gdi32/main/dllmain.c
win32ss/gdi/gdi32/misc/misc.c
win32ss/gdi/gdi32/objects/utils.c