anchor.diff:     *  Add a function which is called when an event is added to the queue.
      *}
    
  -  procedure SDL_AddEventWatch(filter: TSDL_EventFilter, userdata: Pointer) cdecl; external {$IFDEF GPC} name 'SDL_AddEventWatch' {$ELSE} SDL_LibName {$ENDIF};
  +  procedure SDL_AddEventWatch(filter: TSDL_EventFilter; userdata: Pointer) cdecl; external {$IFDEF GPC} name 'SDL_AddEventWatch' {$ELSE} SDL_LibName {$ENDIF};
   
     {**
      *  Remove an event watch function added with SDL_AddEventWatch()
      *}
    
  -  procedure SDL_DelEventWatch(filter: TSDL_EventFilter, userdata: Pointer) cdecl; external {$IFDEF GPC} name 'SDL_DelEventWatch' {$ELSE} SDL_LibName {$ENDIF};
  +  procedure SDL_DelEventWatch(filter: TSDL_EventFilter; userdata: Pointer) cdecl; external {$IFDEF GPC} name 'SDL_DelEventWatch' {$ELSE} SDL_LibName {$ENDIF};
   
     {**
      *  Run the filter function on the current event queue, removing any
  
positive.code: 
    function SDL_PushEvent(event: PSDL_Event): SInt32 cdecl; external {$IFDEF GPC} name 'SDL_PumpEvents' {$ELSE} SDL_LibName {$ENDIF};
  
  const
    {$IFNDEF GPC}
      TSDL_EventFilter = function( event: PSDL_Event ): Integer; cdecl;;
    {$ELSE}
      TSDL_EventFilter = function( event: PSDL_Event ): Integer;
    {$ENDIF}
  
negative.code:                            SDL_PATCHLEVEL);
  end;
  
  function SDL_VERSION_ATLEAST(X,Y,Z: Cardinal): Boolean;
  begin
    Result := SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X,Y,Z);
  end;
  
  //from "sdl_rect.h"
  function SDL_RectEmpty(X: TSDL_Rect): Boolean;
  begin
    Result := (X.w <= 0) or (X.h <= 0);
  end;
  
  function SDL_RectEquals(A: TSDL_Rect; B: TSDL_Rect): Boolean;
  begin
    Result := (A.x = B.x) and (A.y = B.y) and (A.w = B.w) and (A.h = B.h);
  end;
  
  //from "sdl_pixels.h"
  function SDL_IsPixelFormat_FOURCC(format: Variant): Boolean;
  begin
    {* The flag is set to 1 because 0x1? is not in the printable ASCII range *}
    Result := format and SDL_PIXELFLAG(format) <> 1;
  