src/video/windows/SDL_windowswindow.h
author Sam Lantinga <slouken@libsdl.org>
Wed, 03 Jan 2018 10:03:25 -0800
changeset 11811 5d94cb6b24d3
parent 11382 2c50e79b19e0
child 11815 16dbfcc5e455
permissions -rw-r--r--
Updated copyright for 2018
slouken@1895
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@11811
     3
  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
slouken@1895
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@1895
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@1895
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@1895
    20
*/
icculus@8093
    21
#include "../../SDL_internal.h"
slouken@1895
    22
slouken@11382
    23
#ifndef SDL_windowswindow_h_
slouken@11382
    24
#define SDL_windowswindow_h_
slouken@1895
    25
gabomdq@8021
    26
#if SDL_VIDEO_OPENGL_EGL   
gabomdq@8021
    27
#include "../SDL_egl_c.h"
gabomdq@8021
    28
#endif
gabomdq@8021
    29
slouken@1895
    30
typedef struct
slouken@1895
    31
{
slouken@3685
    32
    SDL_Window *window;
slouken@1895
    33
    HWND hwnd;
slouken@11101
    34
    HWND parent;
slouken@1913
    35
    HDC hdc;
slouken@5175
    36
    HDC mdc;
slouken@10634
    37
    HINSTANCE hinstance;
slouken@5175
    38
    HBITMAP hbm;
slouken@1895
    39
    WNDPROC wndproc;
slouken@1951
    40
    SDL_bool created;
slouken@6973
    41
    WPARAM mouse_button_flags;
slouken@9889
    42
    SDL_bool initializing;
slouken@8817
    43
    SDL_bool expected_resize;
slouken@8817
    44
    SDL_bool in_border_change;
slouken@8253
    45
    SDL_bool in_title_click;
slouken@10377
    46
    Uint8 focus_click_pending;
dludwig@9990
    47
    SDL_bool windowed_mode_was_maximized;
dludwig@9990
    48
    SDL_bool in_window_deactivation;
slouken@1895
    49
    struct SDL_VideoData *videodata;
gabomdq@8021
    50
#if SDL_VIDEO_OPENGL_EGL  
gabomdq@8021
    51
    EGLSurface egl_surface;
gabomdq@8021
    52
#endif
slouken@1895
    53
} SDL_WindowData;
slouken@1895
    54
slouken@1895
    55
extern int WIN_CreateWindow(_THIS, SDL_Window * window);
slouken@1895
    56
extern int WIN_CreateWindowFrom(_THIS, SDL_Window * window, const void *data);
slouken@1895
    57
extern void WIN_SetWindowTitle(_THIS, SDL_Window * window);
slouken@2970
    58
extern void WIN_SetWindowIcon(_THIS, SDL_Window * window, SDL_Surface * icon);
slouken@1895
    59
extern void WIN_SetWindowPosition(_THIS, SDL_Window * window);
slouken@1895
    60
extern void WIN_SetWindowSize(_THIS, SDL_Window * window);
icculus@10025
    61
extern int WIN_SetWindowOpacity(_THIS, SDL_Window * window, float opacity);
slouken@1895
    62
extern void WIN_ShowWindow(_THIS, SDL_Window * window);
slouken@1895
    63
extern void WIN_HideWindow(_THIS, SDL_Window * window);
slouken@1895
    64
extern void WIN_RaiseWindow(_THIS, SDL_Window * window);
slouken@1895
    65
extern void WIN_MaximizeWindow(_THIS, SDL_Window * window);
slouken@1895
    66
extern void WIN_MinimizeWindow(_THIS, SDL_Window * window);
slouken@1895
    67
extern void WIN_RestoreWindow(_THIS, SDL_Window * window);
icculus@6422
    68
extern void WIN_SetWindowBordered(_THIS, SDL_Window * window, SDL_bool bordered);
icculus@10385
    69
extern void WIN_SetWindowResizable(_THIS, SDL_Window * window, SDL_bool resizable);
slouken@5305
    70
extern void WIN_SetWindowFullscreen(_THIS, SDL_Window * window, SDL_VideoDisplay * display, SDL_bool fullscreen);
slouken@5466
    71
extern int WIN_SetWindowGammaRamp(_THIS, SDL_Window * window, const Uint16 * ramp);
slouken@5466
    72
extern int WIN_GetWindowGammaRamp(_THIS, SDL_Window * window, Uint16 * ramp);
slouken@6662
    73
extern void WIN_SetWindowGrab(_THIS, SDL_Window * window, SDL_bool grabbed);
slouken@1895
    74
extern void WIN_DestroyWindow(_THIS, SDL_Window * window);
slouken@1895
    75
extern SDL_bool WIN_GetWindowWMInfo(_THIS, SDL_Window * window,
slouken@1895
    76
                                    struct SDL_SysWMinfo *info);
jorgen@7089
    77
extern void WIN_OnWindowEnter(_THIS, SDL_Window * window);
slouken@8072
    78
extern void WIN_UpdateClipCursor(SDL_Window *window);
icculus@8938
    79
extern int WIN_SetWindowHitTest(SDL_Window *window, SDL_bool enabled);
slouken@1895
    80
slouken@11382
    81
#endif /* SDL_windowswindow_h_ */
slouken@1895
    82
slouken@1895
    83
/* vi: set ts=4 sw=4 expandtab: */