src/video/wayland/SDL_waylandwindow.h
author Sam Lantinga
Sun, 01 Jan 2017 18:33:28 -0800
changeset 10737 3406a0f8b041
parent 10492 786e10ab72d8
child 11382 2c50e79b19e0
permissions -rw-r--r--
Updated copyright for 2017
gabomdq@8062
     1
/*
gabomdq@8062
     2
  Simple DirectMedia Layer
slouken@10737
     3
  Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
gabomdq@8062
     4
gabomdq@8062
     5
  This software is provided 'as-is', without any express or implied
gabomdq@8062
     6
  warranty.  In no event will the authors be held liable for any damages
gabomdq@8062
     7
  arising from the use of this software.
gabomdq@8062
     8
gabomdq@8062
     9
  Permission is granted to anyone to use this software for any purpose,
gabomdq@8062
    10
  including commercial applications, and to alter it and redistribute it
gabomdq@8062
    11
  freely, subject to the following restrictions:
gabomdq@8062
    12
gabomdq@8062
    13
  1. The origin of this software must not be misrepresented; you must not
gabomdq@8062
    14
     claim that you wrote the original software. If you use this software
gabomdq@8062
    15
     in a product, an acknowledgment in the product documentation would be
gabomdq@8062
    16
     appreciated but is not required.
gabomdq@8062
    17
  2. Altered source versions must be plainly marked as such, and must not be
gabomdq@8062
    18
     misrepresented as being the original software.
gabomdq@8062
    19
  3. This notice may not be removed or altered from any source distribution.
gabomdq@8062
    20
*/
gabomdq@8062
    21
gabomdq@8104
    22
#include "../../SDL_internal.h"
gabomdq@8062
    23
gabomdq@8062
    24
#ifndef _SDL_waylandwindow_h
gabomdq@8062
    25
#define _SDL_waylandwindow_h
gabomdq@8062
    26
gabomdq@8062
    27
#include "../SDL_sysvideo.h"
gabomdq@8062
    28
#include "SDL_syswm.h"
gabomdq@8062
    29
gabomdq@8062
    30
#include "SDL_waylandvideo.h"
gabomdq@8062
    31
gabomdq@8062
    32
struct SDL_WaylandInput;
gabomdq@8062
    33
gabomdq@8062
    34
typedef struct {
gabomdq@8062
    35
    SDL_Window *sdlwindow;
gabomdq@8062
    36
    SDL_VideoData *waylandData;
gabomdq@8062
    37
    struct wl_surface *surface;
gabomdq@8062
    38
    struct wl_shell_surface *shell_surface;
gabomdq@8062
    39
    struct wl_egl_window *egl_window;
gabomdq@8062
    40
    struct SDL_WaylandInput *keyboard_device;
gabomdq@8082
    41
    EGLSurface egl_surface;
slouken@10304
    42
    struct zwp_locked_pointer_v1 *locked_pointer;
gabomdq@8062
    43
gabomdq@8082
    44
#ifdef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH
gabomdq@8082
    45
    struct qt_extended_surface *extended_surface;
gabomdq@8082
    46
#endif /* SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH */    
gabomdq@8062
    47
} SDL_WindowData;
gabomdq@8062
    48
gabomdq@8062
    49
extern void Wayland_ShowWindow(_THIS, SDL_Window *window);
gabomdq@8062
    50
extern void Wayland_SetWindowFullscreen(_THIS, SDL_Window * window,
gabomdq@8062
    51
                                        SDL_VideoDisplay * _display,
gabomdq@8062
    52
                                        SDL_bool fullscreen);
slouken@10492
    53
extern void Wayland_MaximizeWindow(_THIS, SDL_Window * window);
slouken@10492
    54
extern void Wayland_RestoreWindow(_THIS, SDL_Window * window);
gabomdq@8062
    55
extern int Wayland_CreateWindow(_THIS, SDL_Window *window);
gabomdq@8062
    56
extern void Wayland_SetWindowSize(_THIS, SDL_Window * window);
slouken@10492
    57
extern void Wayland_SetWindowTitle(_THIS, SDL_Window * window);
gabomdq@8062
    58
extern void Wayland_DestroyWindow(_THIS, SDL_Window *window);
gabomdq@8062
    59
gabomdq@8062
    60
extern SDL_bool
gabomdq@8062
    61
Wayland_GetWindowWMInfo(_THIS, SDL_Window * window, SDL_SysWMinfo * info);
icculus@9554
    62
extern int Wayland_SetWindowHitTest(SDL_Window *window, SDL_bool enabled);
gabomdq@8062
    63
gabomdq@8062
    64
#endif /* _SDL_waylandwindow_h */
gabomdq@8062
    65
gabomdq@8062
    66
/* vi: set ts=4 sw=4 expandtab: */