anchor.diff:     *  SDL_GetNumVideoDisplays()
      *}
   
  -  function SDL_GetDisplayBounds(displayIndex: SInt32; rect: PSDL_Rect): SInt32 cdecl external {$IFDEF GPC} name 'SDL_GetDisplayBounds' {$ELSE} SDL_LibName {$ENDIF};
  +  function SDL_GetDisplayBounds(displayIndex: SInt32; rect: PSDLRect): SInt32 cdecl external {$IFDEF GPC} name 'SDL_GetDisplayBounds' {$ELSE} SDL_LibName {$ENDIF};
   
     {**
      *  Returns the number of available display modes.
  
positive.code:    *  SDL_EnclosePoints
     *}
  
    TSDLRect = record
      x,y: SInt32;
      w,h: SInt32;
    end;
  
  /**
   *  \brief Returns true if the rectangle has no area.
   */
  #define SDL_RectEmpty(X)    ((!(X)) || ((X)->w <= 0) || ((X)->h <= 0))
  
  /**
   *  \brief Returns true if the two rectangles are equal.
   */
  #define SDL_RectEquals(A, B)   (((A)) && ((B)) && \
                                  ((A)->x == (B)->x) && ((A)->y == (B)->y) && \
                                  ((A)->w == (B)->w) && ((A)->h == (B)->h))
  
  /**
   *  \brief Determine whether two rectangles intersect.
   *  
   *  \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
   */
  extern DECLSPEC SDL_bool SDLCALL SDL_HasIntersection(const SDL_Rect * A,
                                                       const SDL_Rect * B);
  
  /**
   *  \brief Calculate the intersection of two rectangles.
   *  
   *  \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
   */
  extern DECLSPEC SDL_bool SDLCALL SDL_IntersectRect(const SDL_Rect * A,
                                                     const SDL_Rect * B,
                                                     SDL_Rect * result);
  
  /**
   *  \brief Calculate the union of two rectangles.
   */
  procedure SDL_UnionRect(const SDL_Rect * A,
                                             const SDL_Rect * B,
                                             SDL_Rect * result);
  
  /**
   *  \brief Calculate a minimal rectangle enclosing a set of points
   *
   *  \return SDL_TRUE if any points were within the clipping rect
   */
  extern DECLSPEC SDL_bool SDLCALL SDL_EnclosePoints(const SDL_Point * points,
                                                     int count,
                                                     const SDL_Rect * clip,
                                                     SDL_Rect * result);
  
  /**
   *  \brief Calculate the intersection of a rectangle and line segment.
   *  
   *  \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
   */
  extern DECLSPEC SDL_bool SDLCALL SDL_IntersectRectAndLine(const SDL_Rect *
                                                            rect, int *X1,
                                                            int *Y1, int *X2,
                                                            int *Y2);
  
  
    //from "sdl_video.h"
  type  
    {**
     *  The structure that defines a display mode
     *  
     *   SDL_GetNumDisplayModes()
     *   SDL_GetDisplayMode()
     *   SDL_GetDesktopDisplayMode()
  
negative.code:   SDL_WINDOW_INPUT_FOCUS = $00000200;        {**< window has input focus *}
    SDL_WINDOW_MOUSE_FOCUS = $00000400;        {**< window has mouse focus *}
    SDL_WINDOW_FULLSCREEN_DESKTOP = SDL_WINDOW_FULLSCREEN or $00001000;
    SDL_WINDOW_FOREIGN = $00000800;            {**< window not created by SDL *}
  
  type
    TSDL_WindowFlags = DWord;
  