From 3718effc431f5622a23c55b254153efdfe4e72c4 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Fri, 4 Mar 2022 15:40:29 +0100 Subject: Add the Wayland platform to FLTK 1.4 --- FL/platform.H | 2 ++ FL/platform_types.h | 13 ++++++++++++- FL/wayland.H | 31 +++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100755 FL/wayland.H (limited to 'FL') diff --git a/FL/platform.H b/FL/platform.H index 4e068c2e0..4b9d6d687 100644 --- a/FL/platform.H +++ b/FL/platform.H @@ -37,6 +37,8 @@ class Fl_Window; # include "win32.H" # elif defined(__APPLE__) # include "mac.H" +# elif defined(FLTK_USE_WAYLAND) +# include "wayland.H" # elif defined(FLTK_USE_X11) # include "x11.H" # endif // _WIN32 diff --git a/FL/platform_types.h b/FL/platform_types.h index 51963d6e4..5ea11f7f4 100644 --- a/FL/platform_types.h +++ b/FL/platform_types.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 by Bill Spitzak and others. + * Copyright 2016-2022 by Bill Spitzak and others. * * This library is free software. Distribution and use rights are outlined in * the file "COPYING" which should have been included with this file. If this @@ -116,6 +116,17 @@ typedef struct HGLRC__ *GLContext; struct dirent {char d_name[1];}; #endif +#elif defined(FLTK_USE_WAYLAND) +typedef struct fl_wld_buffer *Fl_Offscreen; /**< an offscreen drawing buffer */ +typedef struct _cairo_pattern* Fl_Bitmask; +typedef struct flWaylandRegion* Fl_Region; +typedef int FL_SOCKET; /**< socket or file descriptor */ +typedef void *EGLContext; +typedef EGLContext GLContext; +#include +#include +#include + #elif defined(FLTK_USE_X11) typedef unsigned long Fl_Offscreen; diff --git a/FL/wayland.H b/FL/wayland.H new file mode 100755 index 000000000..af0851da7 --- /dev/null +++ b/FL/wayland.H @@ -0,0 +1,31 @@ +// +// Wayland platform header file for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2021 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// https://www.fltk.org/COPYING.php +// +// Please see the following page on how to report bugs and issues: +// +// https://www.fltk.org/bugs.php +// + +#if !defined(FL_PLATFORM_H) +# error "Never use directly; include instead." +#endif // !FL_PLATFORM_H + +typedef struct wld_window *Window; + +extern struct wl_display *fl_display; + +struct flWaylandRegion { + int count; + struct _cairo_rectangle *rects; +}; // a region is the union of a series of rectangles + +#include +extern FL_EXPORT uint32_t fl_event_time; -- cgit v1.2.3