# maplespe/dwmblurglass architecture

> Architecture diagram of the GitHub repository maplespe/dwmblurglass, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/maplespe/dwmblurglass
- Repository: https://github.com/maplespe/dwmblurglass

## Overview

DWMBlurGlass is a Windows utility that applies configurable blur and material effects to global system title bars. The main workflow is user configuration in the GUI, installation and startup of an extension in the Desktop Window Manager (DWM), then per-window backdrop creation and redraw. The README also documents title-bar color and text customization, Aero reflections, button adjustments, legacy blur support, and multiple blur methods. The tree and sampled excerpts support the broad component boundaries; some feature wiring in unsampled source is intentionally left unspecified.

Main entry points: [`DWMBlurGlassExt/Section/VisualManager.cpp`](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Section/VisualManager.cpp) (Visual manager), [`DWMBlurGlassExt/DWMBlurGlass.cpp`](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/DWMBlurGlass.cpp) (Extension startup), [`DWMBlurGlass/MainWindow.cpp`](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/MainWindow.cpp) (Configuration window), [`DWMBlurGlassExt/Backdrops/BackdropFactory.cpp`](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Backdrops/BackdropFactory.cpp) (Backdrop factory)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Configuration UI"]
  node_gui["Configuration window<br/>[MainWindow.cpp]"]
  node_settings["Effect settings<br/>[MainPage.cpp]"]
  node_config["Config persistence<br/>[Common.cpp]"]
  node_language["Language and styles<br/>[UIManager.cpp]"]
end

subgraph group_setup["Extension lifecycle"]
  node_install["Install and inject<br/>[Helper.cpp]"]
  node_extension["Extension startup<br/>[DWMBlurGlass.cpp]"]
  node_dll["DLL entry<br/>[dllmain.cpp]"]
end

subgraph group_render["Backdrop rendering"]
  node_visuals["Visual manager<br/>[VisualManager.cpp]"]
  node_factory["Backdrop factory"]
  node_materials["Material backdrops"]
  node_effects["Composition effects"]
  node_sections["Blur methods"]
end

subgraph group_enhance["Window enhancements"]
  node_reflection["Aero reflections"]
  node_titlebar["Title-bar tweaks<br/>[CustomButton.cpp]"]
end

subgraph group_foundation["DWM integration"]
  node_hooks["DWM hooks<br/>[HookHelper.cpp]"]
  node_dwmstruct["DWM structures<br/>[DWMStruct.cpp]"]
end

node_user(("User"))
node_windows["Windows DWM"]
node_system["Windows composition APIs"]

node_user -->|"configures"| node_gui
node_gui -->|"shows"| node_settings
node_settings -->|"loads and saves"| node_config
node_gui -->|"loads strings"| node_language
node_user -->|"requests install"| node_install
node_install -->|"injects"| node_extension
node_dll -->|"starts"| node_extension
node_extension -->|"installs hooks"| node_hooks
node_hooks -->|"intercepts DWM"| node_dwmstruct
node_hooks -->|"dispatches window updates"| node_visuals
node_visuals -->|"reads window state"| node_dwmstruct
node_visuals -->|"creates backdrops"| node_factory
node_factory -->|"selects material"| node_materials
node_materials -->|"composes effects"| node_effects
node_factory -->|"uses blur methods"| node_sections
node_visuals -->|"refreshes reflection config"| node_reflection
node_extension -.->|"enables tweaks"| node_titlebar
node_materials -->|"uses composition APIs"| node_system
node_visuals -->|"redraws windows"| node_windows

click node_gui "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/MainWindow.cpp"
click node_settings "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/Page/MainPage.cpp"
click node_config "https://github.com/maplespe/dwmblurglass/blob/master/Common/Common.cpp"
click node_language "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/UIManager.cpp"
click node_install "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/Helper/Helper.cpp"
click node_extension "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/DWMBlurGlass.cpp"
click node_dll "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/dllmain.cpp"
click node_hooks "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Helper/HookHelper.cpp"
click node_dwmstruct "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Common/DWMStruct.cpp"
click node_visuals "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Section/VisualManager.cpp"
click node_factory "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Backdrops/BackdropFactory.cpp"
click node_materials "https://github.com/maplespe/dwmblurglass/tree/master/DWMBlurGlassExt/Backdrops"
click node_effects "https://github.com/maplespe/dwmblurglass/tree/master/DWMBlurGlassExt/Effects"
click node_sections "https://github.com/maplespe/dwmblurglass/tree/master/DWMBlurGlassExt/Section"
click node_reflection "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Backdrops/GlassReflectionBackdrop.hpp"
click node_titlebar "https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Section/CustomButton.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_gui,node_settings,node_config,node_language,node_user toneBlue
class node_install,node_extension,node_dll toneAmber
class node_visuals,node_factory,node_materials,node_effects,node_sections,node_system toneMint
class node_reflection,node_titlebar toneRose
class node_hooks,node_dwmstruct,node_windows toneIndigo
```

## Components

### Configuration UI

- [Configuration window](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/MainWindow.cpp): `DWMBlurGlass/MainWindow.cpp`
- [Effect settings](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/Page/MainPage.cpp): `DWMBlurGlass/Page/MainPage.cpp`
- [Config persistence](https://github.com/maplespe/dwmblurglass/blob/master/Common/Common.cpp): `Common/Common.cpp`
- [Language and styles](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/UIManager.cpp): `DWMBlurGlass/UIManager.cpp`

### Extension lifecycle

- [Install and inject](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlass/Helper/Helper.cpp): `DWMBlurGlass/Helper/Helper.cpp`
- [Extension startup](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/DWMBlurGlass.cpp): `DWMBlurGlassExt/DWMBlurGlass.cpp`
- [DLL entry](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/dllmain.cpp): `DWMBlurGlassExt/dllmain.cpp`

### Backdrop rendering

- [Visual manager](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Section/VisualManager.cpp): `DWMBlurGlassExt/Section/VisualManager.cpp`
- [Backdrop factory](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Backdrops/BackdropFactory.cpp): `DWMBlurGlassExt/Backdrops/BackdropFactory.cpp`
- [Material backdrops](https://github.com/maplespe/dwmblurglass/tree/master/DWMBlurGlassExt/Backdrops): `DWMBlurGlassExt/Backdrops`
- [Composition effects](https://github.com/maplespe/dwmblurglass/tree/master/DWMBlurGlassExt/Effects): `DWMBlurGlassExt/Effects`
- [Blur methods](https://github.com/maplespe/dwmblurglass/tree/master/DWMBlurGlassExt/Section): `DWMBlurGlassExt/Section`

### Window enhancements

- [Aero reflections](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Backdrops/GlassReflectionBackdrop.hpp): `DWMBlurGlassExt/Backdrops/GlassReflectionBackdrop.hpp`
- [Title-bar tweaks](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Section/CustomButton.cpp): `DWMBlurGlassExt/Section/CustomButton.cpp`

### DWM integration

- [DWM hooks](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Helper/HookHelper.cpp): `DWMBlurGlassExt/Helper/HookHelper.cpp`
- [DWM structures](https://github.com/maplespe/dwmblurglass/blob/master/DWMBlurGlassExt/Common/DWMStruct.cpp): `DWMBlurGlassExt/Common/DWMStruct.cpp`

### Other components

- **User**
- **Windows DWM**
- **Windows composition APIs**

## Connections

- User → Configuration window: configures
- Configuration window → Effect settings: shows
- Effect settings → Config persistence: loads and saves
- Configuration window → Language and styles: loads strings
- User → Install and inject: requests install
- Install and inject → Extension startup: injects
- DLL entry → Extension startup: starts
- Extension startup → DWM hooks: installs hooks
- DWM hooks → DWM structures: intercepts DWM
- DWM hooks → Visual manager: dispatches window updates
- Visual manager → DWM structures: reads window state
- Visual manager → Backdrop factory: creates backdrops
- Backdrop factory → Material backdrops: selects material
- Material backdrops → Composition effects: composes effects
- Backdrop factory → Blur methods: uses blur methods
- Visual manager → Aero reflections: refreshes reflection config
- Extension startup → Title-bar tweaks: enables tweaks
- Material backdrops → Windows composition APIs: uses composition APIs
- Visual manager → Windows DWM: redraws windows
