-
-
Notifications
You must be signed in to change notification settings - Fork 27
Description
This was suggested in DWMBlurGlass before, but I'd like to re-suggest it here, with a greater knowledge of how it works.
Windows 7's frames had highlights, which consisted of two parts:
The corner highlights
The image for these in Windows 7 is defined in the DWMWindow class, part 34 (named LeftHighlightCorner).
These can be observed in just about every window with a frame, and the highlight on the right uses the same image as the left, but flipped.
Here is the image from the Windows 7 theme:
The side highlights
The image for these in Windows 7 is defined in the DWMWindow class, part 43 (named SideHighlight).
These can be observed in most windows with a frame, and they start relative to where the bottom of the top frame is:
Because of this, sheet-of-glass windows, which have no defined inner frames, do not have side highlights:
It should also be noted that "frame" in the context of this issue means any frame, not just windows with a titlebar. As such, the titlebar-lacking tray flyouts have these side highlights, as well as the aforementioned corner highlights:
Here is the image from the Windows 7 theme:
Implementation
Some people may remember that I once tried restoring these highlights in OpenGlass, via directly rendering them on top of the glass shader, akin to what is done for the reflection texture. This is incorrect behavior and should not be done. From my understanding, the highlights are simply MIL visuals that are children of the CTopLevelWindow visual.
To assist with anyone wishing to implement this, here are the binaries and private PDBs for uDWM.dll and dwmcore.dll from Windows 8 build 7762, the DWM of which is nearly if not completely identical to that of Windows 7's:
To clarify, private PDBs include type definitions (struct members, enum names) and function argument names.





