// 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
