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)
69 lines
1.8 KiB
C++
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
|