#line 3510 "/home/travis/build/felix-lang/felix/src/packages/sdl.fdoc"
  
  //Module        : SDL_video_h
  //Timestamp     : 2006/1/6 2:18:42 UTC
  //Timestamp     : 2006/1/6 13:18:42 (local)
  //Raw Header    : SDL_video.h
  //Preprocessor  : gcc -E
  //Input file: sdl.flxcc.i
  //Flxcc Control : sdl.flxcc
  //Felix Version : 1.1.2_rc1
  
  //#define SDL_BlitSurface SDL_UpperBlit
  //#define SDL_SaveBMP(surface, file) \
  //#define SDL_AllocSurface    SDL_CreateRGBSurface
  //#define SDL_PHYSPAL 0x02
  //#define SDL_LOGPAL 0x01
  //#define SDL_YVYU_OVERLAY  0x55595659  /* Packed mode: Y0+V0+Y1+U0 (1 plane) */
  //#define SDL_UYVY_OVERLAY  0x59565955  /* Packed mode: U0+Y0+V0+Y1 (1 plane) */
  //#define SDL_YUY2_OVERLAY  0x32595559  /* Packed mode: Y0+U0+Y1+V0 (1 plane) */
  //#define SDL_IYUV_OVERLAY  0x56555949  /* Planar mode: Y + U + V  (3 planes) */
  //#define SDL_YV12_OVERLAY  0x32315659  /* Planar mode: Y + V + U  (3 planes) */
  //#define SDL_PREALLOC  0x01000000      /* Surface uses preallocated memory */
  //#define SDL_SRCALPHA  0x00010000      /* Blit uses source alpha blending */
  //#define SDL_RLEACCEL  0x00004000      /* Surface is RLE encoded */
  //#define SDL_RLEACCELOK        0x00002000      /* Private flag */
  //#define SDL_SRCCOLORKEY       0x00001000      /* Blit uses a source color key */
  //#define SDL_HWACCEL   0x00000100      /* Blit uses hardware acceleration */
  //#define SDL_NOFRAME   0x00000020      /* No window caption or edge frame */
  //#define SDL_RESIZABLE 0x00000010      /* This video mode may be resized */
  //#define SDL_OPENGLBLIT        0x0000000A      /* Create an OpenGL rendering context and use it for blitting */
  //#define SDL_OPENGL      0x00000002      /* Create an OpenGL rendering context */
  //#define SDL_FULLSCREEN        0x80000000      /* Surface is a full screen display */
  //#define SDL_DOUBLEBUF 0x40000000      /* Set up double-buffered video mode */
  //#define SDL_HWPALETTE 0x20000000      /* Surface has exclusive palette */
  //#define SDL_ANYFORMAT 0x10000000      /* Allow any video depth/pixel-format */
  //#define SDL_ASYNCBLIT 0x00000004      /* Use asynchronous blits if possible */
  //#define SDL_HWSURFACE 0x00000001      /* Surface is in video memory */
  //#define SDL_SWSURFACE 0x00000000      /* Surface is in system memory */
  //#define SDL_Colour SDL_Color
  //#define SDL_ALPHA_TRANSPARENT 0
  //#define SDL_ALPHA_OPAQUE 255
  //#define _SDL_video_h
  
  open class SDL_video_h
  {
    requires package "sdl2";
  
    // Window position special values
    const SDL_WINDOWPOS_CENTERED : int;
    const SDL_WINDOWPOS_UNDEFINED : int;
  
    // Window flags
    const SDL_WINDOW_FULLSCREEN : uint32;
    const SDL_WINDOW_FULLSCREEN_DESKTOP : uint32;
    const SDL_WINDOW_OPENGL : uint32;
    const SDL_WINDOW_SHOWN : uint32;
    const SDL_WINDOW_HIDDEN : uint32;
    const SDL_WINDOW_BORDERLESS : uint32;
    const SDL_WINDOW_RESIZABLE : uint32;
    const SDL_WINDOW_MINIMIZED : uint32;
    const SDL_WINDOW_MAXIMIZED : uint32;
    const SDL_WINDOW_INPUT_GRABBED : uint32;
    const SDL_WINDOW_INPUT_FOCUS : uint32;
    const SDL_WINDOW_MOUSE_FOCUS : uint32;
    const SDL_WINDOW_FOREIGN: uint32;
  
    type SDL_Window = "SDL_Window*";
    gen SDL_CreateWindow: string * int * int * int * int * uint32 -> SDL_Window =
       "SDL_CreateWindow ($1.c_str(), $2, $3, $4, $5, $6)"
    ;
    proc SDL_DestroyWindow : SDL_Window;
  
    fun SDL_GetWindowSurface : SDL_Window -> &SDL_Surface;
    gen SDL_UpdateWindowSurface: SDL_Window -> int;
    fun SDL_GetWindowID: SDL_Window -> uint32;
    proc SDL_GetWindowPosition : SDL_Window * &int * ∫
    proc SDL_GetWindowSize: SDL_Window * &int * ∫
    proc SDL_SetWindowGrab: SDL_Window * bool = "SDL_SetWindowGrab($1,SDL_bool($2));";
    fun SDL_GetWindowGrab: SDL_Window -> bool;
  
    proc SDL_SetWindowMinumumSize: SDL_Window * int * int;
    proc SDL_GetWindowMinumumSize: SDL_Window * &int * ∫
    proc SDL_SetWindowMaximumSize: SDL_Window * int * int;
    proc SDL_GetWindowMaximumSize: SDL_Window * &int * ∫
  
    proc SDL_ShowWindow: SDL_Window;
    proc SDL_HideWindow: SDL_Window;
    proc SDL_RaiseWindow: SDL_Window;
    proc SDL_MaximizeWindow: SDL_Window;
    proc SDL_MinimizeWindow: SDL_Window;
    proc SDL_RestoreWindow: SDL_Window;
    proc SDL_SetWindowFullScreen: SDL_Window;
    proc SDL_SetWindowBrightness: SDL_Window * float;
    fun SDL_SetWindowBrightness: SDL_Window -> float;
    fun SDL_GetWindowBordered: SDL_Window -> bool;
    proc SDL_SetWindowBordered: SDL_Window * bool = "SDL_SetWindowBordered($1,SDL_bool($2));";
  
  
  }