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)
This commit is contained in:
68
src/platform/windows_backdrop.h
Normal file
68
src/platform/windows_backdrop.h
Normal file
@@ -0,0 +1,68 @@
|
||||
// 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
|
||||
Reference in New Issue
Block a user