Skip to content

Commit ef68cb8

Browse files
committed
Quick.Console MACOS compatibility
1 parent 1075394 commit ef68cb8

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

Quick.Console.pas

+17-17
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
Author : Kike Pérez
88
Version : 1.9
99
Created : 10/05/2017
10-
Modified : 17/02/2019
10+
Modified : 29/03/2019
1111
1212
This file is part of QuickLib: https://github.com/exilon/QuickLib
1313
@@ -57,7 +57,7 @@ interface
5757
crt,
5858
{$ENDIF}
5959
{$ENDIF}
60-
{$IFDEF DELPHILINUX}
60+
{$IF Defined(DELPHILINUX) OR Defined(MACOS)}
6161
Quick.SyncObjs.Linux.Compatibility,
6262
Posix.StdDef,
6363
{$ENDIF}
@@ -118,8 +118,8 @@ TConsoleProperties = record
118118
TOutputProc<T> = procedure(const aLine : T) of object;
119119
TExecuteProc = procedure of object;
120120
{$ENDIF}
121-
{$IF DEFINED(FPCLINUX) OR DEFINED(DELPHILINUX)}
122-
{$IFDEF DELPHILINUX}
121+
{$IF DEFINED(FPCLINUX) OR DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
122+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
123123
tcrtcoord = Byte;
124124
{$ENDIF}
125125
TCoord = record
@@ -192,7 +192,7 @@ TConsoleMenu = class
192192
procedure ClearLine(Y : Integer); overload;
193193
procedure ShowCursor;
194194
procedure HideCursor;
195-
{$IFDEF DELPHILINUX}
195+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
196196
procedure SaveCursor;
197197
procedure RestoreCursor;
198198
procedure CursorOn;
@@ -235,7 +235,7 @@ TConsoleMenu = class
235235
implementation
236236

237237

238-
{$IFDEF DELPHILINUX}
238+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
239239
const
240240
AEC =chr($1B)+chr($5b);
241241
SAVE_CURSOR_POS = chr($1B) + '7';
@@ -326,7 +326,7 @@ procedure cout(const cMsg : string; params : array of const; cEventType : TLogEv
326326
cout(Format(cMsg,params),cEventType);
327327
end;
328328

329-
{$IFDEF DELPHILINUX}
329+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
330330
procedure SaveCursor;
331331
begin
332332
write(SAVE_CURSOR_POS);
@@ -400,7 +400,7 @@ function GetCursorMaxBottom : Integer;
400400
end;
401401
{$ENDIF}
402402

403-
{$IFDEF DELPHILINUX}
403+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
404404
procedure GotoXY(x,y : Integer);
405405
begin
406406
Write(AEC, y, ';', x, 'H');
@@ -433,7 +433,7 @@ procedure coutXY(x,y : Integer; const cMsg : string; cEventType : TLogEventType)
433433
{$IFDEF MSWINDOWS}
434434
if hStdOut = 0 then Exit;
435435
{$ENDIF}
436-
{$IFNDEF DELPHILINUX}
436+
{$IF NOT DEFINED(DELPHILINUX) AND NOT DEFINED(MACOS)}
437437
LastCoord.X := GetCursorX;
438438
LastCoord.Y := GetCursorY;
439439
{$ELSE}
@@ -462,7 +462,7 @@ procedure coutXY(x,y : Integer; const cMsg : string; cColor : TConsoleColor); ov
462462
{$IFDEF MSWINDOWS}
463463
if hStdOut = 0 then Exit;
464464
{$ENDIF}
465-
{$IFNDEF DELPHILINUX}
465+
{$IF NOT DEFINED(DELPHILINUX) AND NOT DEFINED(MACOS)}
466466
LastCoord.X := GetCursorX;
467467
LastCoord.Y := GetCursorY;
468468
{$ELSE}
@@ -531,7 +531,7 @@ procedure TextColor(Color: Byte);
531531
TextAttr := (TextAttr and $F0) or (Color and $0F);
532532
if TextAttr <> LastMode then SetConsoleTextAttribute(hStdOut, TextAttr);
533533
{$ELSE}
534-
{$IFDEF DELPHILINUX}
534+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
535535
write(AEC,';',Color,'m')
536536
{$ELSE}
537537
crt.TextColor(Color);
@@ -552,7 +552,7 @@ procedure TextBackground(Color: Byte);
552552
TextAttr := (TextAttr and $0F) or ((Color shl 4) and $F0);
553553
if TextAttr <> LastMode then SetConsoleTextAttribute(hStdOut, TextAttr);
554554
{$ELSE}
555-
{$IFDEF DELPHILINUX}
555+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
556556
write(AEC,0,';',Color+10*10);
557557
{$ELSE}
558558
crt.TextBackground(Color);
@@ -611,7 +611,7 @@ procedure ClearScreen;
611611
end;
612612
{$ELSE}
613613
begin
614-
{$IFDEF DELPHILINUX}
614+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
615615
write(AEC,2,'J');
616616
{$ELSE}
617617
ClrScr;
@@ -621,7 +621,7 @@ procedure ClearScreen;
621621

622622
procedure ClearLine;
623623
begin
624-
{$IFNDEF DELPHILINUX}
624+
{$IF NOT DEFINED(DELPHILINUX) AND NOT DEFINED(MACOS)}
625625
ClearLine(GetCursorY);
626626
{$ELSE}
627627
write(AEC,'K');
@@ -644,7 +644,7 @@ procedure ClearLine(Y : Integer);
644644
{$ELSE}
645645
begin
646646
GotoXY(1,Y);
647-
{$IFDEF DELPHILINUX}
647+
{$IF DEFINED(DELPHILINUX) OR DEFINED(MACOS)}
648648
write(AEC,'K');
649649
{$ELSE}
650650
DelLine;
@@ -1061,11 +1061,11 @@ initialization
10611061
{$IF DEFINED(FPC) AND DEFINED(LINUX)}
10621062
InitCriticalSection(CSConsole);
10631063
{$ELSE}
1064-
{$IFNDEF DELPHILINUX}
1064+
{$IF NOT DEFINED(DELPHILINUX) AND NOT DEFINED(MACOS)}
10651065
InitializeCriticalSection(CSConsole);
10661066
//init stdout if not a service
10671067
try
1068-
if GetStdHandle(STD_OUTPUT_HANDLE) <> 0 then InitConsole;
1068+
if HasConsoleOutput then InitConsole;
10691069
except
10701070
//avoid raise exception
10711071
end;

0 commit comments

Comments
 (0)