anchor.diff:  {* The SDL thread structure, defined in SDL_thread.c *}
   //todo!
   type
  -  PSDL_Thread = Pointer;
  -
  -{* The SDL thread ID *}
  -  TSDL_ThreadID = LongWord;
  -
  -{* The SDL thread priority
  - *
  - * Note: On many systems you require special privileges to set high priority.
  - *}
  +  {* The SDL thread priority
  +   *
  +   * Note: On many systems you require special privileges to set high priority.
  +   *}
   
     TSDL_ThreadPriority = (SDL_THREAD_PRIORITY_LOW,
                            SDL_THREAD_PRIORITY_NORMAL,
                            SDL_THREAD_PRIORITY_HIGH);
   
  -{* The function passed to SDL_CreateThread()
  -   It is passed a void* user context parameter and returns an int.
  - *}
  +  {* The function passed to SDL_CreateThread()
  +     It is passed a void* user context parameter and returns an int.
  +   *}
     PSDL_ThreadFunction = ^TSDL_ThreadFunction;
     TSDL_ThreadFunction = function(data: Pointer):Integer;
   
  -{.$IFDEF WIN32}
  +  {* The SDL thread ID *}
  +  TSDL_ThreadID = LongWord;
  +
  +  PSDL_Thread = Pointer;
  +  {
  +
  +  PSDL_Thread = ^TSDL_Thread;
  +  TSDL_Thread = record
  +    threadid: TSDL_ThreadID;
  +    handle: THandle;
  +    status: SInt32;
  +    errbuf: TSDL_Error;
  +    name: PAnsiChar;
  +    data: Pointer;
  +  end;              }
  +
  +{$IFDEF WINDOWS}
     {**
      *  SDL_thread.h
      *
  
positive.code:   "sdl_error.h",
    "sdl_version.h",
    "sdl_render.h",
    "sdl_thread.h"
    "sdl_timer.h"
  
    I will not translate:
  
negative.code:   Result := SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X,Y,Z);
  end;
  
  {$IFDEF WINDOWS}
  //from "sdl_thread.h"
  
  function SDL_CreateThread(fn: TSDL_ThreadFunction; name: PAnsiChar; data: Pointer): PSDL_Thread;
  begin
    Result := SDL_CreateThread(fn,name,data,BeginThread,EndThread);
  end;
  
  {$ENDIF}
  
  //from "sdl_rect.h"
  function SDL_RectEmpty(X: TSDL_Rect): Boolean;
  begin
  