src/video/wayland/SDL_waylandvideo.h
author Philipp Wiesemann <philipp.wiesemann@arcor.de>
Thu, 04 Dec 2014 21:33:59 +0100
changeset 9265 562e58dcbb4c
parent 8149 681eb46b8ac4
permissions -rw-r--r--
Corrected header file guard comment.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8062
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     1
/*
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     2
  Simple DirectMedia Layer
8149
681eb46b8ac4 Fixed bug 2374 - Update copyright for 2014...
Sam Lantinga <slouken@libsdl.org>
parents: 8104
diff changeset
     3
  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
8062
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     4
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     5
  This software is provided 'as-is', without any express or implied
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     6
  warranty.  In no event will the authors be held liable for any damages
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     7
  arising from the use of this software.
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     8
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
     9
  Permission is granted to anyone to use this software for any purpose,
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    10
  including commercial applications, and to alter it and redistribute it
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    11
  freely, subject to the following restrictions:
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    12
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    13
  1. The origin of this software must not be misrepresented; you must not
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    14
     claim that you wrote the original software. If you use this software
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    15
     in a product, an acknowledgment in the product documentation would be
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    16
     appreciated but is not required.
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    17
  2. Altered source versions must be plainly marked as such, and must not be
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    18
     misrepresented as being the original software.
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    19
  3. This notice may not be removed or altered from any source distribution.
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    20
*/
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    21
8104
2e4f1bd21196 Dynamic loading support for Wayland
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8082
diff changeset
    22
#include "../../SDL_internal.h"
8062
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    23
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    24
#ifndef _SDL_waylandvideo_h
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    25
#define _SDL_waylandvideo_h
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    26
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    27
#include <EGL/egl.h>
8104
2e4f1bd21196 Dynamic loading support for Wayland
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8082
diff changeset
    28
#include "wayland-util.h"
8062
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    29
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    30
struct xkb_context;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    31
struct SDL_WaylandInput;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    32
8082
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    33
#ifdef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    34
struct SDL_WaylandTouch;
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    35
struct qt_surface_extension;
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    36
struct qt_windowmanager;
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    37
#endif /* SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH */
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    38
8062
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    39
typedef struct {
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    40
    struct wl_display *display;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    41
    struct wl_registry *registry;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    42
    struct wl_compositor *compositor;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    43
    struct wl_output *output;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    44
    struct wl_shm *shm;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    45
    struct wl_cursor_theme *cursor_theme;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    46
    struct wl_cursor *default_cursor;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    47
    struct wl_pointer *pointer;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    48
    struct wl_shell *shell;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    49
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    50
    struct {
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    51
        int32_t x, y, width, height;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    52
    } screen_allocation;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    53
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    54
    struct wl_list modes_list;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    55
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    56
    EGLDisplay edpy;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    57
    EGLContext context;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    58
    EGLConfig econf;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    59
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    60
    struct xkb_context *xkb_context;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    61
    struct SDL_WaylandInput *input;
8082
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    62
    
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    63
#ifdef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH    
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    64
    struct SDL_WaylandTouch *touch;
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    65
    struct qt_surface_extension *surface_extension;
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    66
    struct qt_windowmanager *windowmanager;
5b83ad3f01ac Implements touch support on QTWayland. Contributed by Thomas Perl.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 8062
diff changeset
    67
#endif /* SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH */
8062
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    68
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    69
    uint32_t shm_formats;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    70
} SDL_VideoData;
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    71
9265
562e58dcbb4c Corrected header file guard comment.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 8149
diff changeset
    72
#endif /* _SDL_waylandvideo_h */
8062
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    73
4fc5f66d63cc Wayland support
Gabriel Jacobo <gabomdq@gmail.com>
parents:
diff changeset
    74
/* vi: set ts=4 sw=4 expandtab: */