diff options
| author | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-09-14 22:11:41 +0000 |
|---|---|---|
| committer | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-09-14 22:11:41 +0000 |
| commit | fe9ef3f4444f5a347aed4a13cc1c9a0dd0fbb1fd (patch) | |
| tree | 758fe41c997a0aad1d4cb842867adc21eb1c05f9 /packages/graph | |
| parent | fa0dbb6177c8b1c0567aa698f931173e634b5678 (diff) | |
| download | fpc-fe9ef3f4444f5a347aed4a13cc1c9a0dd0fbb1fd.tar.gz | |
* SetBkColor and GetBkColor made hookable
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@15986 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/graph')
| -rw-r--r-- | packages/graph/src/inc/graph.inc | 10 | ||||
| -rw-r--r-- | packages/graph/src/inc/graphh.inc | 9 | ||||
| -rw-r--r-- | packages/graph/src/inc/modes.inc | 4 |
3 files changed, 18 insertions, 5 deletions
diff --git a/packages/graph/src/inc/graph.inc b/packages/graph/src/inc/graph.inc index e8da7d46cd..c316963ff9 100644 --- a/packages/graph/src/inc/graph.inc +++ b/packages/graph/src/inc/graph.inc @@ -1254,6 +1254,8 @@ end; procedure OutTextXYDefault(x,y : smallint;const TextString : string);forward; procedure CircleDefault(X, Y: smallint; Radius:Word);forward; + procedure SetBkColorDefault(ColorNum: Word);forward; + function GetBkColorDefault: Word;forward; {$i palette.inc} @@ -1292,6 +1294,8 @@ end; VLine := {$ifdef fpc}@{$endif}VLineDefault; OuttextXY := {$ifdef fpc}@{$endif}OuttextXYDefault; Circle := {$ifdef fpc}@{$endif}CircleDefault; + SetBkColor := {$ifdef fpc}@{$endif}SetBkColorDefault; + GetBkColor := {$ifdef fpc}@{$endif}GetBkColorDefault; end; Procedure InitVars; @@ -1686,14 +1690,14 @@ end; GetColor := CurrentColor; end; - function GetBkColor: Word; + function GetBkColorDefault: Word; Begin - GetBkColor := CurrentBkColor; + GetBkColorDefault := CurrentBkColor; end; - procedure SetBkColor(ColorNum: Word); + procedure SetBkColorDefault(ColorNum: Word); { Background color means background screen color in this case, and it is } { INDEPENDANT of the viewport settings, so we must clear the whole screen } { with the color. } diff --git a/packages/graph/src/inc/graphh.inc b/packages/graph/src/inc/graphh.inc index be33015a68..2786a49347 100644 --- a/packages/graph/src/inc/graphh.inc +++ b/packages/graph/src/inc/graphh.inc @@ -589,6 +589,9 @@ TYPE CircleProc = procedure(X, Y: smallint; Radius:Word); + SetBkColorProc = procedure(ColorNum: Word); + GetBkColorProc = function: Word; + TYPE {-----------------------------------} @@ -639,6 +642,8 @@ TYPE Circle : CircleProc; InitMode : InitModeProc; OutTextXY : OutTextXYProc; + SetBKColor : SetBkColorProc; + GetBKColor : GetBkColorProc; next: PModeInfo; end; @@ -665,6 +670,8 @@ VAR GetRGBPalette : GetRGBPaletteProc; SetAllPalette : SetAllPaletteProc; OutTextXY : OutTextXYProc; + SetBkColor : SetBkColorProc; + GetBkColor : GetBkColorProc; GraphFreeMemPtr: graphfreememprc; GraphGetMemPtr : graphgetmemprc; @@ -769,9 +776,7 @@ Function GetDriverName: string; function GetDirectVideo: boolean; { -------------------- Color/Palette ------------------------------- } - procedure SetBkColor(ColorNum: Word); function GetColor: Word; - function GetBkColor: Word; procedure SetColor(Color: Word); function GetMaxColor: word; diff --git a/packages/graph/src/inc/modes.inc b/packages/graph/src/inc/modes.inc index 0d3f2a3f6b..b65c8488af 100644 --- a/packages/graph/src/inc/modes.inc +++ b/packages/graph/src/inc/modes.inc @@ -524,6 +524,10 @@ end; SetActivePage := modeInfo^.SetActivePage; if assigned(modeInfo^.OutTextXY) then OutTextXY:=modeInfo^.OutTextXY; + if assigned(modeInfo^.SetBkColor) then + SetBkColor:=modeInfo^.SetBkColor; + if assigned(modeInfo^.GetBkColor) then + GetBkColor:=modeInfo^.GetBkColor; IntCurrentMode := modeinfo^.ModeNumber; { fix by nickysn: always set *both* IntCurrentDriver and IntCurrentNewDriver to the |
