mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-10-24 07:13:11 +03:00
- Introduce DragAndDrop with capability queries, copy-only file offers, image previews, cancellation, and completion callbacks. - Implement XDND and OLE sources with safe input recovery and window teardown. - Keep SDL2 and SDL3 presentation and input handling in their own backends. - Load X11 dynamically without adding a link dependency. - Reuse Image, URI, and timing APIs; fix Image::fillWithColor(). - Add a manual playground, integration tests, and consumer documentation. - Migrate SDK builds and packaging to SDL3 and fix bundled runtime lookup.
33 lines
665 B
C++
33 lines
665 B
C++
#ifndef EE_WINDOW_NATIVE_WINDOW_CONTEXT_HPP
|
|
#define EE_WINDOW_NATIVE_WINDOW_CONTEXT_HPP
|
|
|
|
#include <eepp/config.hpp>
|
|
|
|
namespace EE { namespace Window {
|
|
|
|
class Window;
|
|
|
|
/** Borrowed native handles. Never release a backend-owned connection/window/surface. */
|
|
struct NativeWindowContext {
|
|
enum class Kind : Uint8 { Unsupported, X11, Wayland, Win32, Cocoa, Haiku };
|
|
|
|
Window* owner{ nullptr };
|
|
union Handles {
|
|
struct {
|
|
void* display;
|
|
unsigned long window;
|
|
} x11;
|
|
struct {
|
|
void* display;
|
|
void* surface;
|
|
} wayland;
|
|
void* window;
|
|
Handles() : x11{ nullptr, 0 } {}
|
|
} handles;
|
|
Kind kind{ Kind::Unsupported };
|
|
};
|
|
|
|
}} // namespace EE::Window
|
|
|
|
#endif
|