diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/yasl/native/cocoa.h | 30 | ||||
| -rw-r--r-- | include/yasl/native/wayland.h | 22 | ||||
| -rw-r--r-- | include/yasl/native/x11.h | 22 |
3 files changed, 74 insertions, 0 deletions
diff --git a/include/yasl/native/cocoa.h b/include/yasl/native/cocoa.h new file mode 100644 index 0000000..9066a19 --- /dev/null +++ b/include/yasl/native/cocoa.h @@ -0,0 +1,30 @@ +#ifndef YASL_NATIVE_COCOA_H +#define YASL_NATIVE_COCOA_H + +#include "yasl/yasl.h" + +#ifdef __OBJC__ +@class NSApplication; +@class NSWindow; +@class NSView; +#else +typedef struct objc_object NSApplication; +typedef struct objc_object NSWindow; +typedef struct objc_object NSView; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Return borrowed Cocoa handles (expire on display/surface destruction). + * Return NULL / nil if display/surface is not a Cocoa object or destroyed. */ +YASL_API NSApplication *yasl_cocoa_display_get_application(struct yasl_display *d); +YASL_API NSWindow *yasl_cocoa_surface_get_window(struct yasl_surface *s); +YASL_API NSView *yasl_cocoa_surface_get_view(struct yasl_surface *s); + +#ifdef __cplusplus +} +#endif + +#endif /* YASL_NATIVE_COCOA_H */ diff --git a/include/yasl/native/wayland.h b/include/yasl/native/wayland.h new file mode 100644 index 0000000..4a759d4 --- /dev/null +++ b/include/yasl/native/wayland.h @@ -0,0 +1,22 @@ +#ifndef YASL_NATIVE_WAYLAND_H +#define YASL_NATIVE_WAYLAND_H + +#include "yasl/yasl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct wl_display; +struct wl_surface; + +/* Return borrowed Wayland handles (expire on display/surface destruction). + * Return NULL if display/surface is not a Wayland object or destroyed. */ +YASL_API struct wl_display *yasl_wayland_display_get_wl_display(struct yasl_display *d); +YASL_API struct wl_surface *yasl_wayland_surface_get_wl_surface(struct yasl_surface *s); + +#ifdef __cplusplus +} +#endif + +#endif /* YASL_NATIVE_WAYLAND_H */ diff --git a/include/yasl/native/x11.h b/include/yasl/native/x11.h new file mode 100644 index 0000000..c0105cb --- /dev/null +++ b/include/yasl/native/x11.h @@ -0,0 +1,22 @@ +#ifndef YASL_NATIVE_X11_H +#define YASL_NATIVE_X11_H + +#include "yasl/yasl.h" +#include <stdint.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _XDisplay Display; + +/* Return borrowed X11 handles (expire on display/surface destruction). + * Return NULL / 0 if display/surface is not an X11 object or destroyed. */ +YASL_API Display *yasl_x11_display_get_display(struct yasl_display *d); +YASL_API uintptr_t yasl_x11_surface_get_window(struct yasl_surface *s); + +#ifdef __cplusplus +} +#endif + +#endif /* YASL_NATIVE_X11_H */ |
