1*84e872a0SLloyd Pique /* 2*84e872a0SLloyd Pique * Copyright © 2011 Benjamin Franzke 3*84e872a0SLloyd Pique * 4*84e872a0SLloyd Pique * Permission is hereby granted, free of charge, to any person obtaining a 5*84e872a0SLloyd Pique * copy of this software and associated documentation files (the "Software"), 6*84e872a0SLloyd Pique * to deal in the Software without restriction, including without limitation 7*84e872a0SLloyd Pique * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*84e872a0SLloyd Pique * and/or sell copies of the Software, and to permit persons to whom the 9*84e872a0SLloyd Pique * Software is furnished to do so, subject to the following conditions: 10*84e872a0SLloyd Pique * 11*84e872a0SLloyd Pique * The above copyright notice and this permission notice (including the next 12*84e872a0SLloyd Pique * paragraph) shall be included in all copies or substantial portions of the 13*84e872a0SLloyd Pique * Software. 14*84e872a0SLloyd Pique * 15*84e872a0SLloyd Pique * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16*84e872a0SLloyd Pique * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17*84e872a0SLloyd Pique * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18*84e872a0SLloyd Pique * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19*84e872a0SLloyd Pique * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20*84e872a0SLloyd Pique * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21*84e872a0SLloyd Pique * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22*84e872a0SLloyd Pique * DEALINGS IN THE SOFTWARE. 23*84e872a0SLloyd Pique * 24*84e872a0SLloyd Pique * Authors: 25*84e872a0SLloyd Pique * Benjamin Franzke <[email protected]> 26*84e872a0SLloyd Pique */ 27*84e872a0SLloyd Pique 28*84e872a0SLloyd Pique #ifndef _WAYLAND_EGL_PRIV_H 29*84e872a0SLloyd Pique #define _WAYLAND_EGL_PRIV_H 30*84e872a0SLloyd Pique 31*84e872a0SLloyd Pique #include <stdint.h> 32*84e872a0SLloyd Pique 33*84e872a0SLloyd Pique #ifdef __cplusplus 34*84e872a0SLloyd Pique extern "C" { 35*84e872a0SLloyd Pique #endif 36*84e872a0SLloyd Pique 37*84e872a0SLloyd Pique /* 38*84e872a0SLloyd Pique * NOTE: This version must be kept in sync with the version field in the 39*84e872a0SLloyd Pique * wayland-egl-backend pkgconfig file generated in meson.build. 40*84e872a0SLloyd Pique */ 41*84e872a0SLloyd Pique #define WL_EGL_WINDOW_VERSION 3 42*84e872a0SLloyd Pique 43*84e872a0SLloyd Pique struct wl_surface; 44*84e872a0SLloyd Pique 45*84e872a0SLloyd Pique struct wl_egl_window { 46*84e872a0SLloyd Pique const intptr_t version; 47*84e872a0SLloyd Pique 48*84e872a0SLloyd Pique int width; 49*84e872a0SLloyd Pique int height; 50*84e872a0SLloyd Pique int dx; 51*84e872a0SLloyd Pique int dy; 52*84e872a0SLloyd Pique 53*84e872a0SLloyd Pique int attached_width; 54*84e872a0SLloyd Pique int attached_height; 55*84e872a0SLloyd Pique 56*84e872a0SLloyd Pique void *driver_private; 57*84e872a0SLloyd Pique void (*resize_callback)(struct wl_egl_window *, void *); 58*84e872a0SLloyd Pique void (*destroy_window_callback)(void *); 59*84e872a0SLloyd Pique 60*84e872a0SLloyd Pique struct wl_surface *surface; 61*84e872a0SLloyd Pique }; 62*84e872a0SLloyd Pique 63*84e872a0SLloyd Pique #ifdef __cplusplus 64*84e872a0SLloyd Pique } 65*84e872a0SLloyd Pique #endif 66*84e872a0SLloyd Pique 67*84e872a0SLloyd Pique #endif 68