Browse Source

* Dotted filenames for package rtl-console

Michaël Van Canneyt 2 years ago
parent
commit
6df876e546
53 changed files with 398 additions and 15 deletions
  1. 3 0
      packages/rtl-console/namespaced/System.Console.Crt.pp
  2. 3 0
      packages/rtl-console/namespaced/System.Console.Keyboard.pp
  3. 3 0
      packages/rtl-console/namespaced/System.Console.Mouse.pp
  4. 3 0
      packages/rtl-console/namespaced/System.Console.Terminfo.pp
  5. 3 0
      packages/rtl-console/namespaced/System.Console.Unixkvmbase.pp
  6. 3 0
      packages/rtl-console/namespaced/System.Console.Vesamode.pp
  7. 3 0
      packages/rtl-console/namespaced/System.Console.Vidcrt.pp
  8. 3 0
      packages/rtl-console/namespaced/System.Console.Video.pp
  9. 3 0
      packages/rtl-console/namespaced/System.Console.Winevent.pp
  10. 68 0
      packages/rtl-console/namespaces.lst
  11. 7 0
      packages/rtl-console/src/amicommon/crt.pp
  12. 7 0
      packages/rtl-console/src/amicommon/keyboard.pp
  13. 2 0
      packages/rtl-console/src/amicommon/mouse.pp
  14. 9 0
      packages/rtl-console/src/amicommon/vidcrt.pp
  15. 12 0
      packages/rtl-console/src/amicommon/video.pp
  16. 2 0
      packages/rtl-console/src/emx/crt.pp
  17. 8 1
      packages/rtl-console/src/go32v2/crt.pp
  18. 8 0
      packages/rtl-console/src/go32v2/mouse.pp
  19. 7 0
      packages/rtl-console/src/go32v2/vesamode.pp
  20. 9 0
      packages/rtl-console/src/go32v2/video.pp
  21. 8 1
      packages/rtl-console/src/msdos/crt.pp
  22. 8 0
      packages/rtl-console/src/msdos/keyboard.pp
  23. 8 2
      packages/rtl-console/src/msdos/mouse.pp
  24. 7 0
      packages/rtl-console/src/msdos/vesamode.pp
  25. 9 0
      packages/rtl-console/src/msdos/video.pp
  26. 2 0
      packages/rtl-console/src/netware/crt.pp
  27. 2 0
      packages/rtl-console/src/netware/keyboard.pp
  28. 2 0
      packages/rtl-console/src/netware/mouse.pp
  29. 7 0
      packages/rtl-console/src/netware/video.pp
  30. 6 0
      packages/rtl-console/src/netwlibc/crt.pp
  31. 6 0
      packages/rtl-console/src/netwlibc/keyboard.pp
  32. 2 0
      packages/rtl-console/src/netwlibc/mouse.pp
  33. 7 0
      packages/rtl-console/src/netwlibc/video.pp
  34. 2 0
      packages/rtl-console/src/os2/crt.pp
  35. 7 0
      packages/rtl-console/src/os2commn/keyboard.pp
  36. 8 0
      packages/rtl-console/src/os2commn/mouse.pp
  37. 7 0
      packages/rtl-console/src/os2commn/video.pp
  38. 10 4
      packages/rtl-console/src/unix/crt.pp
  39. 10 1
      packages/rtl-console/src/unix/keyboard.pp
  40. 11 0
      packages/rtl-console/src/unix/mouse.pp
  41. 7 0
      packages/rtl-console/src/unix/terminfo.pp
  42. 7 0
      packages/rtl-console/src/unix/unixkvmbase.pp
  43. 12 4
      packages/rtl-console/src/unix/video.pp
  44. 8 0
      packages/rtl-console/src/watcom/crt.pp
  45. 9 2
      packages/rtl-console/src/win/crt.pp
  46. 11 0
      packages/rtl-console/src/win/keyboard.pp
  47. 7 0
      packages/rtl-console/src/win/mouse.pp
  48. 7 0
      packages/rtl-console/src/win/video.pp
  49. 7 0
      packages/rtl-console/src/win/winevent.pp
  50. 7 0
      packages/rtl-console/src/win16/crt.pp
  51. 7 0
      packages/rtl-console/src/win16/keyboard.pp
  52. 2 0
      packages/rtl-console/src/win16/mouse.pp
  53. 12 0
      packages/rtl-console/src/win16/video.pp

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Crt.pp

@@ -0,0 +1,3 @@
+unit System.Console.Crt;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i crt.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Keyboard.pp

@@ -0,0 +1,3 @@
+unit System.Console.Keyboard;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i keyboard.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Mouse.pp

@@ -0,0 +1,3 @@
+unit System.Console.Mouse;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i mouse.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Terminfo.pp

@@ -0,0 +1,3 @@
+unit System.Console.Terminfo;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i terminfo.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Unixkvmbase.pp

@@ -0,0 +1,3 @@
+unit System.Console.Unixkvmbase;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i unixkvmbase.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Vesamode.pp

@@ -0,0 +1,3 @@
+unit System.Console.Vesamode;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i vesamode.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Vidcrt.pp

@@ -0,0 +1,3 @@
+unit System.Console.Vidcrt;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i vidcrt.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Video.pp

@@ -0,0 +1,3 @@
+unit System.Console.Video;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i video.pp}

+ 3 - 0
packages/rtl-console/namespaced/System.Console.Winevent.pp

@@ -0,0 +1,3 @@
+unit System.Console.Winevent;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i winevent.pp}

+ 68 - 0
packages/rtl-console/namespaces.lst

@@ -0,0 +1,68 @@
+src/emx/crt.pp=namespaced/System.Console.Crt.pp
+{s*:src/emx/}=namespaced/
+{i+:src/emx/}
+src/go32v2/vesamode.pp=namespaced/System.Console.Vesamode.pp
+{s*:src/go32v2/}=namespaced/
+{i+:src/go32v2/}
+src/go32v2/mouse.pp=namespaced/System.Console.Mouse.pp
+src/go32v2/crt.pp=namespaced/System.Console.Crt.pp
+src/go32v2/video.pp=namespaced/System.Console.Video.pp
+src/go32v2/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/watcom/crt.pp=namespaced/System.Console.Crt.pp
+{s*:src/watcom/}=namespaced/
+{i+:src/watcom/}
+src/os2commn/mouse.pp=namespaced/System.Console.Mouse.pp
+{s*:src/os2commn/}=namespaced/
+{i+:src/os2commn/}
+src/os2commn/video.pp=namespaced/System.Console.Video.pp
+src/os2commn/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/win/mouse.pp=namespaced/System.Console.Mouse.pp
+{s*:src/win/}=namespaced/
+{i+:src/win/}
+src/win/crt.pp=namespaced/System.Console.Crt.pp
+src/win/video.pp=namespaced/System.Console.Video.pp
+src/win/winevent.pp=namespaced/System.Console.Winevent.pp
+src/win/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/netwlibc/mouse.pp=namespaced/System.Console.Mouse.pp
+{s*:src/netwlibc/}=namespaced/
+{i+:src/netwlibc/}
+src/netwlibc/crt.pp=namespaced/System.Console.Crt.pp
+src/netwlibc/video.pp=namespaced/System.Console.Video.pp
+src/netwlibc/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/netware/mouse.pp=namespaced/System.Console.Mouse.pp
+{s*:src/netware/}=namespaced/
+{i+:src/netware/}
+src/netware/crt.pp=namespaced/System.Console.Crt.pp
+src/netware/video.pp=namespaced/System.Console.Video.pp
+src/netware/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/msdos/vesamode.pp=namespaced/System.Console.Vesamode.pp
+{s*:src/msdos/}=namespaced/
+{i+:src/msdos/}
+src/msdos/mouse.pp=namespaced/System.Console.Mouse.pp
+src/msdos/crt.pp=namespaced/System.Console.Crt.pp
+src/msdos/video.pp=namespaced/System.Console.Video.pp
+src/msdos/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/unix/unixkvmbase.pp=namespaced/System.Console.Unixkvmbase.pp
+{s*:src/unix/}=namespaced/
+{i+:src/unix/}
+src/unix/mouse.pp=namespaced/System.Console.Mouse.pp
+src/unix/crt.pp=namespaced/System.Console.Crt.pp
+src/unix/video.pp=namespaced/System.Console.Video.pp
+src/unix/terminfo.pp=namespaced/System.Console.Terminfo.pp
+src/unix/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/os2/crt.pp=namespaced/System.Console.Crt.pp
+{s*:src/os2/}=namespaced/
+{i+:src/os2/}
+src/amicommon/vidcrt.pp=namespaced/System.Console.Vidcrt.pp
+{s*:src/amicommon/}=namespaced/
+{i+:src/amicommon/}
+src/amicommon/mouse.pp=namespaced/System.Console.Mouse.pp
+src/amicommon/crt.pp=namespaced/System.Console.Crt.pp
+src/amicommon/video.pp=namespaced/System.Console.Video.pp
+src/amicommon/keyboard.pp=namespaced/System.Console.Keyboard.pp
+src/win16/mouse.pp=namespaced/System.Console.Mouse.pp
+{s*:src/win16/}=namespaced/
+{i+:src/win16/}
+src/win16/crt.pp=namespaced/System.Console.Crt.pp
+src/win16/video.pp=namespaced/System.Console.Video.pp
+src/win16/keyboard.pp=namespaced/System.Console.Keyboard.pp

+ 7 - 0
packages/rtl-console/src/amicommon/crt.pp

@@ -12,7 +12,9 @@
 
  **********************************************************************}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -20,8 +22,13 @@ interface
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Amiga.Core.Exec, Amiga.Core.Amigados, Amiga.Core.Utility, Amiga.Core.Conunit, Amiga.Core.Intuition, Amiga.Core.Agraphics;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   exec, amigados, Utility, conunit, intuition, agraphics;
+{$ENDIF FPC_DOTTEDUNITS}
 
 var
   MaxCols, MaxRows: LongInt;

+ 7 - 0
packages/rtl-console/src/amicommon/keyboard.pp

@@ -14,7 +14,9 @@
  **********************************************************************}
 
 {$MODE OBJFPC}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i keybrdh.inc}
@@ -42,8 +44,13 @@ var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+   MacOsApi.Video, Amiga.Core.Exec, Amiga.Core.Intuition, Amiga.Core.Inputevent, System.Console.Mouse, System.SysUtils, Amiga.Core.Keymap, Amiga.Core.Timer, Amiga.Core.Amigados;
+{$ELSE FPC_DOTTEDUNITS}
 uses
    video, exec, intuition, inputevent, mouse, sysutils, keymap, timer, amigados;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i keyboard.inc}
 {$i keyscan.inc}

+ 2 - 0
packages/rtl-console/src/amicommon/mouse.pp

@@ -15,7 +15,9 @@
  **********************************************************************}
 
 {$MODE OBJFPC}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i mouseh.inc}

+ 9 - 0
packages/rtl-console/src/amicommon/vidcrt.pp

@@ -1,11 +1,20 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit vidcrt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, MacOsApi.Video, System.SysUtils,
+  System.Console.Mouse,
+  System.Types, System.Math, PalmApi.Keyboard;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, Video, sysutils,
   mouse,
   Types, Math, keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$include crth.inc}
 

+ 12 - 0
packages/rtl-console/src/amicommon/video.pp

@@ -16,7 +16,9 @@
 
 {$MODE OBJFPC}
 {$modeswitch advancedrecords}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {.$define VIDEODEBUG}
 {.$define WITHBUFFERING}
@@ -30,8 +32,13 @@ unit Video;
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Amiga.Core.Amigados, Amiga.Core.Intuition, Amiga.Core.Utility, System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   amigados, intuition, utility, sysutils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i videoh.inc}
 
@@ -56,8 +63,13 @@ var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+   Amiga.Core.Exec, Amiga.Core.Agraphics, System.Unicode.Graphemebreakproperty, System.Unicode.Eastasianwidth, System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
    exec, agraphics, graphemebreakproperty, eastasianwidth, charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 procedure SysUpdateScreen(Force: Boolean); forward;
 

+ 2 - 0
packages/rtl-console/src/emx/crt.pp

@@ -10,7 +10,9 @@
 
 ****************************************************************************}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$ASMMODE ATT}
 

+ 8 - 1
packages/rtl-console/src/go32v2/crt.pp

@@ -12,7 +12,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -24,8 +26,13 @@ Var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  DOSApi.GO32;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   go32;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$ASMMODE ATT}
 
@@ -45,7 +52,6 @@ begin
   realintr($10,regs);
 end;
 
-
 function GetScreenHeight : longint;
 begin
   getscreenheight:=mem[$40:$84]+1;
@@ -753,4 +759,5 @@ begin
   initdelay;
 { Enable ctrl-c input (JM) }
   __djgpp_set_ctrl_c(0);
+  
 end.

+ 8 - 0
packages/rtl-console/src/go32v2/mouse.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i mouseh.inc}
@@ -23,8 +25,14 @@ procedure DoCustomMouse(b : boolean);
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  MacOsApi.Video,DOSApi.GO32;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   video,go32;
+{$ENDIF FPC_DOTTEDUNITS}
+
 
 {$i mouse.inc}
 

+ 7 - 0
packages/rtl-console/src/go32v2/vesamode.pp

@@ -13,14 +13,21 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit vesamode;
+{$ENDIF FPC_DOTTEDUNITS}
 
   interface
 
   implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+       TP.DOS,DOSApi.GO32,DOSApi.dpmiexcp,MacOsApi.Video,System.Console.Mouse;
+{$ELSE FPC_DOTTEDUNITS}
     uses
        dos,go32,dpmiexcp,video,mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 
     type
        twordarray = array[0..0] of word;

+ 9 - 0
packages/rtl-console/src/go32v2/video.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -25,10 +27,17 @@ var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Console.Mouse,
+  DOSApi.GO32,
+  System.Unicode.Graphemebreakproperty,System.Unicode.Eastasianwidth,System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   mouse,
   go32,
   graphemebreakproperty,eastasianwidth,charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i video.inc}
 

+ 8 - 1
packages/rtl-console/src/msdos/crt.pp

@@ -12,7 +12,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$GOTO on}
 
@@ -26,8 +28,13 @@ Var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  TP.DOS;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   dos;
+{$ENDIF FPC_DOTTEDUNITS}
 
 var
   DelayCnt : Longint;
@@ -55,7 +62,6 @@ begin
   intr($10,regs);
 end;
 
-
 function GetScreenHeight : word;
 begin
   getscreenheight:=mem[$40:$84]+1;
@@ -865,4 +871,5 @@ begin
   initdelay;
 { Enable ctrl-c input (JM) }
 //  __djgpp_set_ctrl_c(0);
+
 end.

+ 8 - 0
packages/rtl-console/src/msdos/keyboard.pp

@@ -13,15 +13,23 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i keybrdh.inc}
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  TP.DOS;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   dos;
+{$ENDIF FPC_DOTTEDUNITS}
+
 
 {$i keyboard.inc}
 

+ 8 - 2
packages/rtl-console/src/msdos/mouse.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i mouseh.inc}
@@ -23,8 +25,13 @@ procedure DoCustomMouse(b : boolean);
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  MacOsApi.Video,TP.DOS;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   video,dos;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i mouse.inc}
 
@@ -319,7 +326,6 @@ asm
 @@no_mouse:
 end;
 
-
 procedure SysShowMouse;
 
 begin
@@ -332,6 +338,7 @@ begin
           begin
              oldmousex:=getmousex-1;
              oldmousey:=getmousey-1;
+             
              mem[videoseg:(((screenwidth*oldmousey)+oldmousex)*2)+1]:=
                mem[videoseg:(((screenwidth*oldmousey)+oldmousex)*2)+1] xor $7f;
              CustomMouse_MouseIsVisible:=true;
@@ -555,7 +562,6 @@ Const
     PollMouseEvent  : Nil;
     PutMouseEvent  : Nil;
   );
-
 Begin
   SetMouseDriver(SysMouseDriver);
 end.

+ 7 - 0
packages/rtl-console/src/msdos/vesamode.pp

@@ -13,14 +13,21 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit vesamode;
+{$ENDIF FPC_DOTTEDUNITS}
 
   interface
 
   implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+       TP.DOS,MacOsApi.Video,System.Console.Mouse;
+{$ELSE FPC_DOTTEDUNITS}
     uses
        dos,video,mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 
     type
        PFarChar = ^AnsiChar; far;

+ 9 - 0
packages/rtl-console/src/msdos/video.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -25,10 +27,17 @@ var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Console.Mouse,
+  TP.DOS,
+  System.Unicode.Graphemebreakproperty,System.Unicode.Eastasianwidth,System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   mouse,
   dos,
   graphemebreakproperty,eastasianwidth,charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i video.inc}
 

+ 2 - 0
packages/rtl-console/src/netware/crt.pp

@@ -21,7 +21,9 @@
                    TextMode, Sound and NoSound are dummys, don't know how to
                    implement that for netware
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 

+ 2 - 0
packages/rtl-console/src/netware/keyboard.pp

@@ -14,7 +14,9 @@
  **********************************************************************}
 { 2001/04/16 armin: first version for netware
   2002/03/03 armin: changes for fpc 1.1 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i keybrdh.inc}

+ 2 - 0
packages/rtl-console/src/netware/mouse.pp

@@ -15,7 +15,9 @@
  **********************************************************************}
 {2001/04/14 armin: first version, only a dummy, i think there is no 'official' way to support
                    a mouse under netware }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$ifdef NOMOUSE}

+ 7 - 0
packages/rtl-console/src/netware/video.pp

@@ -15,15 +15,22 @@
  **********************************************************************}
 { 2001/04/16 armin: first version for netware
   2002/02/26 armin: changes for current fpc }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Video;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i videoh.inc}
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  TP.DOS,System.Unicode.Graphemebreakproperty,System.Unicode.Eastasianwidth,System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   dos,graphemebreakproperty,eastasianwidth,charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i video.inc}
 {$i nwsys.inc}

+ 6 - 0
packages/rtl-console/src/netwlibc/crt.pp

@@ -13,7 +13,9 @@
 
  **********************************************************************}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -25,7 +27,11 @@ Const
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses Api.Libc;
+{$ELSE FPC_DOTTEDUNITS}
 uses Libc;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$ASMMODE ATT}

+ 6 - 0
packages/rtl-console/src/netwlibc/keyboard.pp

@@ -12,7 +12,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -20,7 +22,11 @@ interface
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses Api.Libc;
+{$ELSE FPC_DOTTEDUNITS}
 uses Libc;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i keyboard.inc}
 

+ 2 - 0
packages/rtl-console/src/netwlibc/mouse.pp

@@ -15,7 +15,9 @@
  **********************************************************************}
 {2001/04/14 armin: first version, only a dummy, i think there is no 'official' way to support
                    a mouse under netware }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$ifdef NOMOUSE}

+ 7 - 0
packages/rtl-console/src/netwlibc/video.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -21,8 +23,13 @@ interface
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Api.Libc,System.Unicode.Graphemebreakproperty,System.Unicode.Eastasianwidth,System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Libc,graphemebreakproperty,eastasianwidth,charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i video.inc}
 

+ 2 - 0
packages/rtl-console/src/os2/crt.pp

@@ -10,7 +10,9 @@
 
 ****************************************************************************}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 

+ 7 - 0
packages/rtl-console/src/os2commn/keyboard.pp

@@ -13,15 +13,22 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i keybrdh.inc}
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+ OS2Api.kbdcalls, OS2Api.doscalls;
+{$ELSE FPC_DOTTEDUNITS}
 uses
  KbdCalls, DosCalls;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i keyboard.inc}
 

+ 8 - 0
packages/rtl-console/src/os2commn/mouse.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i mouseh.inc}
@@ -23,9 +25,15 @@ const
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+ MacOsApi.Video,
+ OS2Api.moucalls, OS2Api.doscalls;
+{$ELSE FPC_DOTTEDUNITS}
 uses
  Video,
  MouCalls, DosCalls;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i mouse.inc}
 

+ 7 - 0
packages/rtl-console/src/os2commn/video.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -21,8 +23,13 @@ interface
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  OS2Api.doscalls, OS2Api.viocalls, System.Console.Mouse, System.Unicode.Graphemebreakproperty, System.Unicode.Eastasianwidth, System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   DosCalls, VioCalls, Mouse, graphemebreakproperty, eastasianwidth, charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i video.inc}
 

+ 10 - 4
packages/rtl-console/src/unix/crt.pp

@@ -11,11 +11,13 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 Interface
 {$mode fpc} // Shortstring is assumed
-{$i crth.inc}
+ {$i crth.inc}
 
 Const
   { Controlling consts }
@@ -38,7 +40,11 @@ var
 
 Implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses UnixApi.Base ,UnixApi.Unix, UnixApi.TermIO;
+{$ELSE FPC_DOTTEDUNITS}
 uses BaseUnix ,unix, termio;
+{$ENDIF FPC_DOTTEDUNITS}
 
 Const
   OldTextAttr : byte = $07;
@@ -1466,10 +1472,10 @@ end;
 ******************************************************************************}
 
 var
-  OldIO : termio.TermIos;
+  OldIO : {$IFDEF FPC_DOTTEDUNITS}UnixApi.{$ENDIF}TermIo.TermIos;
   inputRaw, outputRaw: boolean;
 
-procedure saveRawSettings(const tio: termio.termios);
+procedure saveRawSettings(const tio: {$IFDEF FPC_DOTTEDUNITS}UnixApi.{$ENDIF}TermIo.termios);
 Begin
   with tio do
    begin
@@ -1484,7 +1490,7 @@ Begin
    end;
 end;
 
-procedure restoreRawSettings(tio: termio.termios);
+procedure restoreRawSettings(tio: {$IFDEF FPC_DOTTEDUNITS}UnixApi.{$ENDIF}TermIo.termios);
 begin
   with tio do
     begin

+ 10 - 1
packages/rtl-console/src/unix/keyboard.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$inline on}
 
@@ -56,10 +58,17 @@ function AddSpecialSequence(const St : Shortstring;Proc : Tprocedure) : PTreeEle
                                implementation
 {*****************************************************************************}
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Console.Mouse,  System.Strings,System.Console.Unixkvmbase,
+  UnixApi.TermIO,UnixApi.Base
+  {$ifdef Linux},LinuxApi.Vcs{$endif};
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Mouse,  Strings,unixkvmbase,
   termio,baseUnix
   {$ifdef linux},linuxvcs{$endif};
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i keyboard.inc}
 
@@ -1646,7 +1655,7 @@ End;
 procedure SysInitKeyboard;
 begin
   PendingEnhancedKeyEvent:=NilEnhancedKeyEvent;
-  Utf8KeyboardInputEnabled:=UnixKVMBase.UTF8Enabled;
+  Utf8KeyboardInputEnabled:={$IFDEF FPC_DOTTEDUNITS}System.Console.{$ENDIF}UnixKVMBase.UTF8Enabled;
   SetRawMode(true);
 {$ifdef logging}
      assign(f,'keyboard.log');

+ 11 - 0
packages/rtl-console/src/unix/mouse.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$if defined(aix) or defined(solaris) or (defined(bsd) and not(defined(darwin)))}
@@ -32,12 +34,21 @@ interface
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  UnixApi.Base,System.Console.Video
+{$ifndef NOGPM}
+  ,UnixApi.Gpm,LinuxApi.Vcs
+{$endif ndef NOGPM}
+  ;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   BaseUnix,Video
 {$ifndef NOGPM}
   ,gpm,linuxvcs
 {$endif ndef NOGPM}
   ;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i mouse.inc}
 

+ 7 - 0
packages/rtl-console/src/unix/terminfo.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit TermInfo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -646,8 +648,13 @@ function tputs(Ndx: Word; L1: Longint; F: WriterFunc): Longint;
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  UnixApi.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   baseUnix;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function putp(Ndx: Longint): Longint;
 var

+ 7 - 0
packages/rtl-console/src/unix/unixkvmbase.pp

@@ -14,7 +14,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit UnixKvmBase;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {*****************************************************************************}
                                    interface
@@ -26,8 +28,13 @@ function UTF8Enabled: Boolean;
                                 implementation
 {*****************************************************************************}
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  UnixApi.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   baseunix;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$ifdef BEOS}
 function UTF8Enabled: Boolean;

+ 12 - 4
packages/rtl-console/src/unix/video.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$I-}
 {$GOTO on}
@@ -28,9 +30,15 @@ unit video;
                                 implementation
 {*****************************************************************************}
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses  UnixApi.Base,UnixApi.TermIO,System.Strings,System.Console.Unixkvmbase,System.Unicode.Graphemebreakproperty,System.Unicode.Eastasianwidth
+     ,System.CharSet
+     {$ifdef Linux},LinuxApi.Vcs{$endif};
+{$ELSE FPC_DOTTEDUNITS}
 uses  baseunix,termio,strings,unixkvmbase,graphemebreakproperty,eastasianwidth
      ,charset
      {$ifdef linux},linuxvcs{$endif};
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   CP_ISO01 = 28591;  {ISO 8859-1}
@@ -875,10 +883,10 @@ end;
 {$endif}
 
 var
-  preInitVideoTio, postInitVideoTio: termio.termios;
+  preInitVideoTio, postInitVideoTio: {$IFDEF FPC_DOTTEDUNITS}UnixApi.{$ENDIF}TermIo.termios;
   inputRaw, outputRaw: boolean;
 
-procedure saveRawSettings(const tio: termio.termios);
+procedure saveRawSettings(const tio: {$IFDEF FPC_DOTTEDUNITS}UnixApi.{$ENDIF}TermIo.termios);
 
 begin
   with tio do
@@ -894,7 +902,7 @@ begin
    end;
 end;
 
-procedure restoreRawSettings(tio: termio.termios);
+procedure restoreRawSettings(tio: {$IFDEF FPC_DOTTEDUNITS}UnixApi.{$ENDIF}TermIo.termios);
 begin
   with tio do
     begin
@@ -965,7 +973,7 @@ end;
 
 procedure prepareDoneVideo;
 var
-  tio: termio.termios;
+  tio: {$IFDEF FPC_DOTTEDUNITS}UnixApi.{$ENDIF}TermIo.termios;
 begin
   TCGetAttr(1,tio);
   saveRawSettings(tio);

+ 8 - 0
packages/rtl-console/src/watcom/crt.pp

@@ -2,7 +2,9 @@
 
 }
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -10,8 +12,13 @@ interface
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WatcomApi.WatCom;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   watcom;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$ASMMODE ATT}
@@ -739,4 +746,5 @@ begin
   initdelay;
 { Enable ctrl-c input (JM) }
 //  __djgpp_set_ctrl_c(0);
+
 end.

+ 9 - 2
packages/rtl-console/src/win/crt.pp

@@ -12,7 +12,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
@@ -30,8 +32,13 @@ implementation
 {$DEFINE FPC_CRT_CTRLC_TREATED_AS_KEY}
 (* Treatment of Ctrl-C as a regular key ensured during initialization (SetupConsoleInput). *)
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 var
     SaveCursorSize: Longint;
@@ -559,14 +566,14 @@ begin
       if defineDosDevice = nil then begin
         defineDosDevice:=TDefineDosDeviceFunction(GetProcAddress(GetModuleHandle('kernel32.dll'),'DefineDosDeviceA'));
         if defineDosDevice=nil then begin
-          windows.Beep(hz,1000); //fallback
+          {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.Beep(hz,1000); //fallback
           exit;
         end;
         DefineDosDevice(DDD_RAW_TARGET_PATH,'DosBeep','\Device\Beep');
       end;
       beeperDevice:=CreateFile('\\.\DosBeep',0,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
       if beeperDevice = INVALID_HANDLE_VALUE then begin
-        windows.Beep(hz,1000); //fallback
+        {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.Beep(hz,1000); //fallback
         exit;
       end;
     end;

+ 11 - 0
packages/rtl-console/src/win/keyboard.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 {$ifdef DEBUG}
 uses
@@ -35,12 +37,21 @@ implementation
            from Win9x.
 }
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+{$ifndef DEBUG}
+   WinApi.Windows,
+{$endif WiiApi.Debug}
+   TP.DOS,
+   System.Console.Winevent;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 {$ifndef DEBUG}
    Windows,
 {$endif DEBUG}
    Dos,
    WinEvent;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i keyboard.inc}
 

+ 7 - 0
packages/rtl-console/src/win/mouse.pp

@@ -13,15 +13,22 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i mouseh.inc}
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+   WinApi.Windows,TP.DOS,System.Console.Winevent;
+{$ELSE FPC_DOTTEDUNITS}
 uses
    windows,dos,Winevent;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i mouse.inc}
 

+ 7 - 0
packages/rtl-console/src/win/video.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Video;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i videoh.inc}
@@ -22,8 +24,13 @@ procedure VideoSetConsoleOutHandle (NewHandle: THandle);
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows,TP.DOS,System.Unicode.Graphemebreakproperty,System.Unicode.Eastasianwidth,System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   windows,dos,graphemebreakproperty,eastasianwidth,charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i video.inc}
 

+ 7 - 0
packages/rtl-console/src/win/winevent.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit WinEvent;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {
@@ -21,8 +23,13 @@ interface
    because win32 uses only one message queue for mouse and key events
 }
 
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+       WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
     uses
        Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
     type
        TEventProcedure = Procedure(var ir:INPUT_RECORD);

+ 7 - 0
packages/rtl-console/src/win16/crt.pp

@@ -12,7 +12,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit crt;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$GOTO on}
 
@@ -26,8 +28,13 @@ Var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  MacOsApi.Video, PalmApi.Keyboard, WinApi.WinProcs, WinApi.WinTypes;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   video, keyboard, WinProcs, WinTypes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {****************************************************************************
                            Low level Routines

+ 7 - 0
packages/rtl-console/src/win16/keyboard.pp

@@ -13,15 +13,22 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Keyboard;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i keybrdh.inc}
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.WinProcs, WinApi.WinTypes, MacOsApi.Video;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   WinProcs, WinTypes, video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$i keyboard.inc}
 

+ 2 - 0
packages/rtl-console/src/win16/mouse.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Mouse;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {$i mouseh.inc}

+ 12 - 0
packages/rtl-console/src/win16/video.pp

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit video;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}
 {$modeswitch advancedrecords}
@@ -23,8 +25,13 @@ unit video;
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.WinTypes;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   WinTypes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$I videoh.inc}
 
@@ -33,8 +40,13 @@ var
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.WinProcs, System.Unicode.Graphemebreakproperty, System.Unicode.Eastasianwidth, System.CharSet;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   WinProcs, graphemebreakproperty, eastasianwidth, charset;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$I video.inc}