Files
ObsidianDragon/src/platform/windows_backdrop.h
DanS 3aee55b49c ObsidianDragon - DragonX ImGui Wallet
Full-node GUI wallet for DragonX cryptocurrency.
Built with Dear ImGui, SDL3, and OpenGL3/DX11.

Features:
- Send/receive shielded and transparent transactions
- Autoshield with merged transaction display
- Built-in CPU mining (xmrig)
- Peer management and network monitoring
- Wallet encryption with PIN lock
- QR code generation for receive addresses
- Transaction history with pagination
- Console for direct RPC commands
- Cross-platform (Linux, Windows)
2026-02-27 00:26:01 -06:00

69 lines
1.8 KiB
C++

// DragonX Wallet - ImGui Edition
// Copyright 2024-2026 The Hush Developers
// Released under the GPLv3
#pragma once
// Windows-specific backdrop blur (Mica/Acrylic) support
// Uses DWM (Desktop Window Manager) APIs available on Windows 10/11
#ifdef _WIN32
#include <SDL3/SDL.h>
namespace dragonx {
namespace platform {
// Backdrop types available on Windows
enum class WindowsBackdrop {
None, // No system backdrop
Mica, // Windows 11 Mica material
MicaAlt, // Windows 11 Mica Alt (darker)
Acrylic, // Windows 10/11 Acrylic (transient)
Auto // Auto-detect best option
};
// Enable Windows system backdrop blur
// Returns true if successfully enabled
bool enableWindowsBackdrop(SDL_Window* window, WindowsBackdrop type = WindowsBackdrop::Auto);
// Disable Windows system backdrop
void disableWindowsBackdrop(SDL_Window* window);
// Check if system backdrop is available
bool isWindowsBackdropAvailable();
// Get Windows version info
struct WindowsVersionInfo {
int major;
int minor;
int build;
bool isWindows11; // Build >= 22000
bool isWindows10; // Build >= 10240
};
WindowsVersionInfo getWindowsVersion();
} // namespace platform
} // namespace dragonx
#else // !_WIN32
// Stub for non-Windows platforms
namespace dragonx {
namespace platform {
enum class WindowsBackdrop { None, Mica, MicaAlt, Acrylic, Auto };
inline bool enableWindowsBackdrop(SDL_Window*, WindowsBackdrop = WindowsBackdrop::Auto) { return false; }
inline void disableWindowsBackdrop(SDL_Window*) {}
inline bool isWindowsBackdropAvailable() { return false; }
struct WindowsVersionInfo { int major = 0; int minor = 0; int build = 0; bool isWindows11 = false; bool isWindows10 = false; };
inline WindowsVersionInfo getWindowsVersion() { return {}; }
} // namespace platform
} // namespace dragonx
#endif // _WIN32