Browse Source

use WMGraphics.Color instead of LONGINT

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8500 8c9fc860-2736-0410-a75d-ab315db34111
eth.metacore 6 years ago
parent
commit
1ec7ab4953

+ 8 - 8
source/ModuleTrees.Mod

@@ -48,7 +48,7 @@ TYPE
 		flags : SET;
 		flags : SET;
 		pos : Texts.TextPosition;
 		pos : Texts.TextPosition;
 		name : Strings.String;
 		name : Strings.String;
-		color : LONGINT;
+		color : WMGraphics.Color;
 		sortInfo : LONGINT;
 		sortInfo : LONGINT;
 		font : WMGraphics.Font;
 		font : WMGraphics.Font;
 		node : ModuleParser.Node;
 		node : ModuleParser.Node;
@@ -563,7 +563,7 @@ TYPE
 			END;
 			END;
 		END MiddleClickNode;
 		END MiddleClickNode;
 
 
-		PROCEDURE GetTextInfo(node : ModuleParser.Node; infoItem: ModuleParser.InfoItem; isPublic : BOOLEAN; sortInfo, color: LONGINT; style: SET): TextInfo;
+		PROCEDURE GetTextInfo(node : ModuleParser.Node; infoItem: ModuleParser.InfoItem; isPublic : BOOLEAN; sortInfo: LONGINT; color: WMGraphics.Color; style: SET): TextInfo;
 		VAR newInfo: TextInfo; moduleNode : ModuleParser.Module; font: WMGraphics.Font;
 		VAR newInfo: TextInfo; moduleNode : ModuleParser.Module; font: WMGraphics.Font;
 		BEGIN
 		BEGIN
 			NEW(newInfo);
 			NEW(newInfo);
@@ -798,7 +798,7 @@ TYPE
 		PROCEDURE AddProcHead(treeNode: WMTrees.TreeNode; procHead: ModuleParser.ProcHead): WMTrees.TreeNode;
 		PROCEDURE AddProcHead(treeNode: WMTrees.TreeNode; procHead: ModuleParser.ProcHead): WMTrees.TreeNode;
 		VAR
 		VAR
 			newNode: WMTrees.TreeNode; caption: Strings.String;
 			newNode: WMTrees.TreeNode; caption: Strings.String;
-			color : LONGINT; image : WMGraphics.Image; type : LONGINT; d : ANY;
+			color : WMGraphics.Color; image : WMGraphics.Image; type : LONGINT; d : ANY;
 		BEGIN
 		BEGIN
 			IF (procHead # NIL) THEN
 			IF (procHead # NIL) THEN
 				color := GetColor(procHead.modifiers, ColorProcedure);
 				color := GetColor(procHead.modifiers, ColorProcedure);
@@ -1014,7 +1014,7 @@ TYPE
 			RETURN newNode;
 			RETURN newNode;
 		END NewNode;
 		END NewNode;
 
 
-		PROCEDURE AddQualident(parent: WMTrees.TreeNode; qualident: ModuleParser.Qualident; color: LONGINT; style: SET):
+		PROCEDURE AddQualident(parent: WMTrees.TreeNode; qualident: ModuleParser.Qualident; color: WMGraphics.Color; style: SET):
 				WMTrees.TreeNode;
 				WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 			n: ModuleParser.NodeList;
 			n: ModuleParser.NodeList;
@@ -1217,7 +1217,7 @@ TYPE
 			AddNumberPostfixToCaption(parent, nofConstants);
 			AddNumberPostfixToCaption(parent, nofConstants);
 		END AddConstDecl;
 		END AddConstDecl;
 
 
-		PROCEDURE AddIdentDef(parent: WMTrees.TreeNode; node : ModuleParser.Node; identDef: ModuleParser.IdentDef; sortInfo, color: LONGINT; style: SET):
+		PROCEDURE AddIdentDef(parent: WMTrees.TreeNode; node : ModuleParser.Node; identDef: ModuleParser.IdentDef; sortInfo: LONGINT; color: WMGraphics.Color; style: SET):
 			WMTrees.TreeNode;
 			WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 		BEGIN
 		BEGIN
@@ -1234,7 +1234,7 @@ TYPE
 			END
 			END
 		END AddIdentDef;
 		END AddIdentDef;
 
 
-		PROCEDURE AddInfoItem(parent: WMTrees.TreeNode; node : ModuleParser.Node; infoItem: ModuleParser.InfoItem; isPublic : BOOLEAN; sortInfo, color : LONGINT; style: SET):
+		PROCEDURE AddInfoItem(parent: WMTrees.TreeNode; node : ModuleParser.Node; infoItem: ModuleParser.InfoItem; isPublic : BOOLEAN; sortInfo : LONGINT; color : WMGraphics.Color; style: SET):
 			WMTrees.TreeNode;
 			WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 		BEGIN
 		BEGIN
@@ -1253,8 +1253,8 @@ VAR
 	PrototypeShowTypeHierarchy : WMProperties.BooleanProperty;
 	PrototypeShowTypeHierarchy : WMProperties.BooleanProperty;
 	treeFontPlain, treeFontBold, treeFontItalic: WMGraphics.Font;
 	treeFontPlain, treeFontBold, treeFontItalic: WMGraphics.Font;
 
 
-	PROCEDURE GetColor(modifiers : SET; defaultColor : LONGINT) : LONGINT;
-	VAR color : LONGINT;
+	PROCEDURE GetColor(modifiers : SET; defaultColor : WMGraphics.Color) : WMGraphics.Color;
+	VAR color : WMGraphics.Color;
 	BEGIN
 	BEGIN
 		IF (ModuleParser.Exclusive IN modifiers) THEN color := ColorExclusive;
 		IF (ModuleParser.Exclusive IN modifiers) THEN color := ColorExclusive;
 		ELSIF (ModuleParser.HasExclusiveBlock IN modifiers) THEN color := ColorHasExclusiveBlock;
 		ELSIF (ModuleParser.HasExclusiveBlock IN modifiers) THEN color := ColorHasExclusiveBlock;

+ 7 - 7
source/PETModuleTree.Mod

@@ -245,7 +245,7 @@ TYPE
 			END;
 			END;
 		END MiddleClickNode;
 		END MiddleClickNode;
 
 
-		PROCEDURE SetNodeInfo(node : TreeNode; mnode : ModuleParser.Node; infoItem: ModuleParser.InfoItem; isPublic : BOOLEAN; sortHint, color: LONGINT; style: SET);
+		PROCEDURE SetNodeInfo(node : TreeNode; mnode : ModuleParser.Node; infoItem: ModuleParser.InfoItem; isPublic : BOOLEAN; sortHint: LONGINT; color: WMGraphics.Color; style: SET);
 		VAR moduleNode : ModuleParser.Module; font: WMGraphics.Font;
 		VAR moduleNode : ModuleParser.Module; font: WMGraphics.Font;
 		BEGIN
 		BEGIN
 			node.flags := {};
 			node.flags := {};
@@ -523,7 +523,7 @@ TYPE
 		PROCEDURE AddProcHead(treeNode: WMTrees.TreeNode; procHead: ModuleParser.ProcHead): WMTrees.TreeNode;
 		PROCEDURE AddProcHead(treeNode: WMTrees.TreeNode; procHead: ModuleParser.ProcHead): WMTrees.TreeNode;
 		VAR
 		VAR
 			newNode: TreeNode; caption: Strings.String;
 			newNode: TreeNode; caption: Strings.String;
-			color : LONGINT; image : WMGraphics.Image; type : LONGINT;
+			color : WMGraphics.Color; image : WMGraphics.Image; type : LONGINT;
 		BEGIN
 		BEGIN
 			IF (procHead # NIL) THEN
 			IF (procHead # NIL) THEN
 				color := GetColor(procHead.modifiers, ColorProcedure);
 				color := GetColor(procHead.modifiers, ColorProcedure);
@@ -748,7 +748,7 @@ TYPE
 			RETURN newNode;
 			RETURN newNode;
 		END NewNode;
 		END NewNode;
 
 
-		PROCEDURE AddQualident(parent: WMTrees.TreeNode; qualident: ModuleParser.Qualident; color: LONGINT; style: SET):
+		PROCEDURE AddQualident(parent: WMTrees.TreeNode; qualident: ModuleParser.Qualident; color: WMGraphics.Color; style: SET):
 				WMTrees.TreeNode;
 				WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 		VAR newNode: WMTrees.TreeNode;
 			n: ModuleParser.NodeList;
 			n: ModuleParser.NodeList;
@@ -943,7 +943,7 @@ TYPE
 		PROCEDURE AddIdentDef(
 		PROCEDURE AddIdentDef(
 			parent: WMTrees.TreeNode;
 			parent: WMTrees.TreeNode;
 			node : ModuleParser.Node; identDef: ModuleParser.IdentDef;
 			node : ModuleParser.Node; identDef: ModuleParser.IdentDef;
-			sortHint, color: LONGINT; style: SET) : TreeNode;
+			sortHint: LONGINT; color: WMGraphics.Color; style: SET) : TreeNode;
 		VAR
 		VAR
 			newNode: TreeNode;
 			newNode: TreeNode;
 		BEGIN
 		BEGIN
@@ -963,7 +963,7 @@ TYPE
 		PROCEDURE AddInfoItem(
 		PROCEDURE AddInfoItem(
 			parent: WMTrees.TreeNode;
 			parent: WMTrees.TreeNode;
 			node : ModuleParser.Node; infoItem: ModuleParser.InfoItem;
 			node : ModuleParser.Node; infoItem: ModuleParser.InfoItem;
-			isPublic : BOOLEAN; sortHint, color : LONGINT; style: SET) : TreeNode;
+			isPublic : BOOLEAN; sortHint: LONGINT; color: WMGraphics.Color; style: SET) : TreeNode;
 		VAR
 		VAR
 			newNode: TreeNode;
 			newNode: TreeNode;
 		BEGIN
 		BEGIN
@@ -983,8 +983,8 @@ VAR
 	StrUNKNOWN, StrVAR, StrCONST, StrIMPORT, StrIN, StrBODY, StrRETURN, StrARRAY, StrOF,
 	StrUNKNOWN, StrVAR, StrCONST, StrIMPORT, StrIN, StrBODY, StrRETURN, StrARRAY, StrOF,
 	StrBecomes, StrAmpersand, StrMinus, StrStar, StrQuote, StrOverwritten, StrOverwrite : Strings.String;
 	StrBecomes, StrAmpersand, StrMinus, StrStar, StrQuote, StrOverwritten, StrOverwrite : Strings.String;
 
 
-PROCEDURE GetColor(modifiers : SET; defaultColor : LONGINT) : LONGINT;
-VAR color : LONGINT;
+PROCEDURE GetColor(modifiers : SET; defaultColor : WMGraphics.Color) : WMGraphics.Color;
+VAR color : WMGraphics.Color;
 BEGIN
 BEGIN
 	IF (ModuleParser.Exclusive IN modifiers) THEN color := ColorExclusive;
 	IF (ModuleParser.Exclusive IN modifiers) THEN color := ColorExclusive;
 	ELSIF (ModuleParser.HasExclusiveBlock IN modifiers) THEN color := ColorHasExclusiveBlock;
 	ELSIF (ModuleParser.HasExclusiveBlock IN modifiers) THEN color := ColorHasExclusiveBlock;

+ 1 - 1
source/PETTrees.Mod

@@ -54,7 +54,7 @@ TYPE
 	TreeNode* = OBJECT(WMTrees.TreeNode)
 	TreeNode* = OBJECT(WMTrees.TreeNode)
 	VAR
 	VAR
 		pos* : Texts.TextPosition;
 		pos* : Texts.TextPosition;
-		color* : LONGINT;
+		color* : WMGraphics.Color;
 		font* : WMGraphics.Font;
 		font* : WMGraphics.Font;
 		external* : BOOLEAN;
 		external* : BOOLEAN;
 
 

+ 1 - 1
source/PartitionsLib.Mod

@@ -3942,7 +3942,7 @@ BEGIN
 END Get4;
 END Get4;
 
 
 (* Write partition type *)
 (* Write partition type *)
-PROCEDURE WriteType*(type: LONGINT; VAR s : ARRAY OF CHAR; VAR color : LONGINT);
+PROCEDURE WriteType*(type: LONGINT; VAR s : ARRAY OF CHAR; VAR color : WMGraphics.Color);
 CONST
 CONST
 	ColorFAT12 = WMGraphics.Red;
 	ColorFAT12 = WMGraphics.Red;
 	ColorFAT16 = WMGraphics.Red;
 	ColorFAT16 = WMGraphics.Red;

+ 2 - 2
source/WMCCGFonts.Mod

@@ -227,7 +227,7 @@ TYPE
 
 
 		(* floating point version *)
 		(* floating point version *)
 		PROCEDURE RenderGlyphReal*(canvas : WMGraphics.Canvas; glyph : Glyph;
 		PROCEDURE RenderGlyphReal*(canvas : WMGraphics.Canvas; glyph : Glyph;
-					x, y, w, h : REAL; level : LONGINT;  filled : BOOLEAN; color, mode : LONGINT; VAR points : ARRAY OF WMGraphics.Point2d);
+					x, y, w, h : REAL; level : LONGINT;  filled : BOOLEAN; color: WMGraphics.Color; mode : LONGINT; VAR points : ARRAY OF WMGraphics.Point2d);
 		VAR i : LONGINT;  tx, ty, cx, cy, dx, dy : REAL; ctrl : BOOLEAN; g : Glyph; r, bb : WMRectangles.Rectangle;
 		VAR i : LONGINT;  tx, ty, cx, cy, dx, dy : REAL; ctrl : BOOLEAN; g : Glyph; r, bb : WMRectangles.Rectangle;
 			dtx, dty, dtw, dth : REAL;
 			dtx, dty, dtw, dth : REAL;
 			nofPoints : LONGINT;
 			nofPoints : LONGINT;
@@ -309,7 +309,7 @@ BEGIN
 	INC(nofPoints)
 	INC(nofPoints)
 END AddPoint;
 END AddPoint;
 
 
-PROCEDURE SplineReal(canvas : WMGraphics.Canvas; x0, y0, x1, y1, x2, y2, x, y, w, h : REAL; color, mode : LONGINT);
+PROCEDURE SplineReal(canvas : WMGraphics.Canvas; x0, y0, x1, y1, x2, y2, x, y, w, h : REAL; color: WMGraphics.Color; mode : LONGINT);
 VAR i: LONGINT;  tx, ty, nx, ny : REAL;
 VAR i: LONGINT;  tx, ty, nx, ny : REAL;
 	t, onet, dt : REAL;
 	t, onet, dt : REAL;
 BEGIN
 BEGIN

+ 3 - 3
source/WMColorComponents.Mod

@@ -10,7 +10,7 @@ TYPE
 	ColorChangeHandler = PROCEDURE {DELEGATE} (sender, color : ANY);
 	ColorChangeHandler = PROCEDURE {DELEGATE} (sender, color : ANY);
 
 
 	Color* = OBJECT
 	Color* = OBJECT
-	VAR value* : LONGINT
+	VAR value* : WMGraphics.Color
 	END Color;
 	END Color;
 
 
 	ColorDropTarget = OBJECT(WMDropTarget.DropTarget)
 	ColorDropTarget = OBJECT(WMDropTarget.DropTarget)
@@ -345,7 +345,7 @@ TYPE
 		showColor : ColorPot;
 		showColor : ColorPot;
 
 
 		onColorChosen : WMEvents.EventSource;
 		onColorChosen : WMEvents.EventSource;
-		color : LONGINT;
+		color : WMGraphics.Color;
 
 
 		PROCEDURE & Init*;
 		PROCEDURE & Init*;
 		VAR main, pnl : WMStandardComponents.Panel; pot : ColorPot;
 		VAR main, pnl : WMStandardComponents.Panel; pot : ColorPot;
@@ -384,7 +384,7 @@ TYPE
 			SetColor(000000FFH);
 			SetColor(000000FFH);
 		END Init;
 		END Init;
 
 
-		PROCEDURE SetColor(color : LONGINT);
+		PROCEDURE SetColor(color : WMGraphics.Color);
 		VAR c : Color;
 		VAR c : Color;
 		BEGIN
 		BEGIN
 			SELF.color := color;
 			SELF.color := color;

+ 7 - 7
source/WMComponents.Mod

@@ -1303,7 +1303,7 @@ TYPE
 
 
 		(** Is called before any sub-components are drawn *)
 		(** Is called before any sub-components are drawn *)
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
-		VAR color,i : LONGINT; name:Strings.String;
+		VAR color: WMGraphics.Color; i : LONGINT; name:Strings.String;
 		(* DebugUpdates can be used in order to visualize updates via some color cycling 
 		(* DebugUpdates can be used in order to visualize updates via some color cycling 
 			Moreover, it slows down display extremely such that updates can be seen
 			Moreover, it slows down display extremely such that updates can be seen
 		*)
 		*)
@@ -1339,9 +1339,9 @@ TYPE
 		END DrawForeground;
 		END DrawForeground;
 
 
 		PROCEDURE DrawSelection(canvas : WMGraphics.Canvas);
 		PROCEDURE DrawSelection(canvas : WMGraphics.Canvas);
-		VAR r,r0: Rectangles.Rectangle; x,y,x0,y0: LONGINT; color: LONGINT;
+		VAR r,r0: Rectangles.Rectangle; x,y,x0,y0: LONGINT; color: WMGraphics.Color;
 
 
-			PROCEDURE MarkSelected(r: Rectangles.Rectangle; w, color: LONGINT);
+			PROCEDURE MarkSelected(r: Rectangles.Rectangle; w: LONGINT; color: WMGraphics.Color);
 			VAR r0: Rectangles.Rectangle;
 			VAR r0: Rectangles.Rectangle;
 			BEGIN
 			BEGIN
 				r0 :=r; r0.r := r.l+w; r0.b := r.t+w;
 				r0 :=r; r0.r := r.l+w; r0.b := r.t+w;
@@ -1372,7 +1372,7 @@ TYPE
 					WHILE x < r.r DO
 					WHILE x < r.r DO
 						r0.l := x; r0.r := x+2;
 						r0.l := x; r0.r := x+2;
 						IF ODD(x DIV 8+y DIV 8) THEN color := 060H;
 						IF ODD(x DIV 8+y DIV 8) THEN color := 060H;
-						ELSE color := LONGINT(0FFFFFF60H);
+						ELSE color := WMGraphics.Color(0FFFFFF60H);
 						END;
 						END;
 						canvas.Fill(r0,color, WMGraphics.ModeSrcOverDst);
 						canvas.Fill(r0,color, WMGraphics.ModeSrcOverDst);
 						INC(x,8); INC(x0);
 						INC(x,8); INC(x0);
@@ -1381,15 +1381,15 @@ TYPE
 				END;
 				END;
 				IF selection.rectOwner = SELF THEN
 				IF selection.rectOwner = SELF THEN
 					r0 := selection.rect;
 					r0 := selection.rect;
-				 	color := LONGINT(0FF000080H);
+				 	color := WMGraphics.Color(0FF000080H);
 					canvas.Fill(r0, color, WMGraphics.ModeCopy); 
 					canvas.Fill(r0, color, WMGraphics.ModeCopy); 
 				END; 			
 				END; 			
 			END;
 			END;
 			IF selection.Has(SELF) THEN
 			IF selection.Has(SELF) THEN
 				IF selection.state = 0 THEN
 				IF selection.state = 0 THEN
-					MarkSelected(r,8,LONGINT(080H));
+					MarkSelected(r,8,WMGraphics.Color(080H));
 				ELSE
 				ELSE
-					MarkSelected(r,8,LONGINT(0FFFFFFFF80H));
+					MarkSelected(r,8,WMGraphics.Color(0FFFFFFFF80H));
 				END;
 				END;
 			END;
 			END;
 		END DrawSelection;
 		END DrawSelection;

+ 1 - 1
source/WMDefaultWindows.Mod

@@ -637,7 +637,7 @@ TYPE
 	END BottomWindow;
 	END BottomWindow;
 
 
 	BackWindow* = OBJECT(WM.Window)
 	BackWindow* = OBJECT(WM.Window)
-	VAR color : LONGINT;
+	VAR color : Graphics.Color;
 
 
 		PROCEDURE &New*(bgColor: LONGINT);
 		PROCEDURE &New*(bgColor: LONGINT);
 		BEGIN
 		BEGIN

+ 1 - 1
source/WMDiagnostics.Mod

@@ -576,7 +576,7 @@ TYPE
 		END ModelChanged;
 		END ModelChanged;
 
 
 		PROCEDURE DrawCell(canvas : WMGraphics.Canvas; w, h : LONGINT; state : SET; x, y : LONGINT);
 		PROCEDURE DrawCell(canvas : WMGraphics.Canvas; w, h : LONGINT; state : SET; x, y : LONGINT);
-		VAR color: LONGINT; str : ARRAY 128 OF CHAR;
+		VAR color: WMGraphics.Color; str : ARRAY 128 OF CHAR;
 		BEGIN
 		BEGIN
 			color := WMGraphics.RGBAToColor(255, 255, 255, 255);
 			color := WMGraphics.RGBAToColor(255, 255, 255, 255);
 			IF state * {WMGrids.CellFixed, WMGrids.CellSelected} = {WMGrids.CellFixed, WMGrids.CellSelected} THEN
 			IF state * {WMGrids.CellFixed, WMGrids.CellSelected} = {WMGrids.CellFixed, WMGrids.CellSelected} THEN

+ 3 - 3
source/WMDiagramComponents.Mod

@@ -274,7 +274,7 @@ TYPE
 		minI, maxI, deltaxI, deltaXGridI, deltaXGridSmallI, glassShadeI, valueWidthI : LONGINT;
 		minI, maxI, deltaxI, deltaXGridI, deltaXGridSmallI, glassShadeI, valueWidthI : LONGINT;
 
 
 		color-, gridColor- : WMProperties.ColorProperty;
 		color-, gridColor- : WMProperties.ColorProperty;
-		colorI, gridColorI : LONGINT;
+		colorI, gridColorI : WMGraphics.Color;
 
 
 		autoMin-, autoMax-, showValues-: WMProperties.BooleanProperty;
 		autoMin-, autoMax-, showValues-: WMProperties.BooleanProperty;
 		autoMinI, autoMaxI, showValuesI : BOOLEAN;
 		autoMinI, autoMaxI, showValuesI : BOOLEAN;
@@ -442,7 +442,7 @@ TYPE
 		PROCEDURE DrawAreas(canvas : WMGraphics.Canvas; w, h, border : LONGINT; VAR tmin, tmax : REAL);
 		PROCEDURE DrawAreas(canvas : WMGraphics.Canvas; w, h, border : LONGINT; VAR tmin, tmax : REAL);
 		VAR
 		VAR
 			nofPoints, nofVisible, nofStandalone : LONGINT;
 			nofPoints, nofVisible, nofStandalone : LONGINT;
-			dim, index, x, y0, y1, colorLine, color : LONGINT;
+			dim, index, x, y0, y1: LONGINT; colorLine, color : WMGraphics.Color;
 			maxSumIdx : LONGINT;
 			maxSumIdx : LONGINT;
 			v0, v1 : LONGINT;
 			v0, v1 : LONGINT;
 			factor : REAL;
 			factor : REAL;
@@ -553,7 +553,7 @@ TYPE
 
 
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
 		VAR
 		VAR
-			w, h, yborder, color, t, virtp   : LONGINT;
+			w, h, yborder, t, virtp : LONGINT; color: WMGraphics.Color;
 			mode : LONGINT;
 			mode : LONGINT;
 			tmin, tmax : REAL;
 			tmin, tmax : REAL;
 			str : ARRAY 16 OF CHAR;
 			str : ARRAY 16 OF CHAR;

+ 2 - 2
source/WMDialogs.Mod

@@ -775,7 +775,7 @@ TYPE
 
 
 (** Helper procedures *)
 (** Helper procedures *)
 
 
-PROCEDURE NewPanel(fillColor, alignment, width, height : LONGINT) : WMStandardComponents.Panel;
+PROCEDURE NewPanel(fillColor: WMGraphics.Color; alignment, width, height : LONGINT) : WMStandardComponents.Panel;
 VAR panel : WMStandardComponents.Panel;
 VAR panel : WMStandardComponents.Panel;
 BEGIN
 BEGIN
 	NEW(panel); panel.alignment.Set(alignment); panel.bounds.SetExtents(width, height);
 	NEW(panel); panel.alignment.Set(alignment); panel.bounds.SetExtents(width, height);
@@ -791,7 +791,7 @@ BEGIN
 	RETURN label;
 	RETURN label;
 END NewLabel;
 END NewLabel;
 
 
-PROCEDURE NewEditor*(CONST uid : ARRAY OF CHAR; textColor, textBgColor, alignment, width, height : LONGINT) : WMEditors.Editor;
+PROCEDURE NewEditor*(CONST uid : ARRAY OF CHAR; textColor, textBgColor: WMGraphics.Color; alignment, width, height : LONGINT) : WMEditors.Editor;
 VAR editor : WMEditors.Editor;
 VAR editor : WMEditors.Editor;
 BEGIN
 BEGIN
 	NEW(editor); editor.uid.SetAOC(uid);
 	NEW(editor); editor.uid.SetAOC(uid);

+ 1 - 1
source/WMEditors.Mod

@@ -107,7 +107,7 @@ TYPE
 
 
 		textBorder-: WMProperties.Int32Property;
 		textBorder-: WMProperties.Int32Property;
 		textColor- : WMProperties.ColorProperty;
 		textColor- : WMProperties.ColorProperty;
-		textColorI : LONGINT;
+		textColorI : WMGraphics.Color;
 
 
 		alignH- : WMProperties.Int32Property;
 		alignH- : WMProperties.Int32Property;
 		alignV- : WMProperties.Int32Property;
 		alignV- : WMProperties.Int32Property;

+ 2 - 2
source/WMFigures.Mod

@@ -383,7 +383,7 @@ TYPE
 		CONST pi=3.1516; 
 		CONST pi=3.1516; 
 		VAR  alpha: REAL;
 		VAR  alpha: REAL;
 			 head: LONGREAL;
 			 head: LONGREAL;
-			col:LONGINT;
+			col: WMGraphics.Color;
 		BEGIN
 		BEGIN
 				alpha:=arctan2(p1.x-p0.x, p1.y-p0.y);
 				alpha:=arctan2(p1.x-p0.x, p1.y-p0.y);
 				head:=MAX( 4,  0.05 * MAX(ABS(p1.x-p0.x), ABS(p1.y-p0.y))); (*avoid sqrt for performance reasons*) 
 				head:=MAX( 4,  0.05 * MAX(ABS(p1.x-p0.x), ABS(p1.y-p0.y))); (*avoid sqrt for performance reasons*) 
@@ -768,7 +768,7 @@ TYPE
 		END Normalize;
 		END Normalize;
 
 
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
-		VAR p,pa: Point; col: LONGINT; d:REAL;
+		VAR p,pa: Point; col: WMGraphics.Color; d:REAL;
 		BEGIN
 		BEGIN
 			DrawBackground^(canvas); 
 			DrawBackground^(canvas); 
 			IF mouseOver THEN col:=clHover.Get() ELSE col:=color.Get() END;
 			IF mouseOver THEN col:=clHover.Get() ELSE col:=color.Get() END;

+ 13 - 13
source/WMGraphicUtilities.Mod

@@ -7,7 +7,7 @@ TYPE
 	EllipsePixelsFiller* = PROCEDURE(CONST canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; dx, dy : LONGINT; lineColor, fillColor : WMGraphics.Color; mode : LONGINT);
 	EllipsePixelsFiller* = PROCEDURE(CONST canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; dx, dy : LONGINT; lineColor, fillColor : WMGraphics.Color; mode : LONGINT);
 
 
 (* factor in 1/256, alpha remains unchanged *)
 (* factor in 1/256, alpha remains unchanged *)
-PROCEDURE ScaleColor*(color : LONGINT; factor : LONGINT): LONGINT;
+PROCEDURE ScaleColor*(color : WMGraphics.Color; factor : LONGINT): WMGraphics.Color;
 VAR r, g, b, a : LONGINT;
 VAR r, g, b, a : LONGINT;
 BEGIN
 BEGIN
 	WMGraphics.ColorToRGBA(color, r, g, b, a);
 	WMGraphics.ColorToRGBA(color, r, g, b, a);
@@ -24,7 +24,7 @@ BEGIN
 END InterpolateLinear;
 END InterpolateLinear;
 
 
 (* interpolate between two colors; percent [0..256]*)
 (* interpolate between two colors; percent [0..256]*)
-PROCEDURE InterpolateColorLinear*(cl0, cl1, percent : LONGINT) : LONGINT;
+PROCEDURE InterpolateColorLinear*(cl0, cl1: WMGraphics.Color; percent : LONGINT) : WMGraphics.Color;
 VAR r0, g0, b0, a0, r1, g1, b1, a1: LONGINT;
 VAR r0, g0, b0, a0, r1, g1, b1, a1: LONGINT;
 BEGIN
 BEGIN
 	WMGraphics.ColorToRGBA(cl0, r0, g0, b0, a0);
 	WMGraphics.ColorToRGBA(cl0, r0, g0, b0, a0);
@@ -36,8 +36,8 @@ BEGIN
 END InterpolateColorLinear;
 END InterpolateColorLinear;
 
 
 (** Draw a 3d effect border *)
 (** Draw a 3d effect border *)
-PROCEDURE DrawBevel*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; borderWidth : LONGINT; down : BOOLEAN; color, mode : LONGINT);
-VAR i, ul, dr : LONGINT;
+PROCEDURE DrawBevel*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; borderWidth : LONGINT; down : BOOLEAN; color: WMGraphics.Color; mode : LONGINT);
+VAR i: LONGINT; ul, dr : WMGraphics.Color;
 BEGIN
 BEGIN
 	IF down THEN ul := ScaleColor(color, 128); dr :=  ScaleColor(color, 256 + 128)
 	IF down THEN ul := ScaleColor(color, 128); dr :=  ScaleColor(color, 256 + 128)
 	ELSE dr := ScaleColor(color, 128); ul :=  ScaleColor(color, 256 + 128)
 	ELSE dr := ScaleColor(color, 128); ul :=  ScaleColor(color, 256 + 128)
@@ -51,14 +51,14 @@ BEGIN
 END DrawBevel;
 END DrawBevel;
 
 
 (** Draw a 3d effect panel *)
 (** Draw a 3d effect panel *)
-PROCEDURE DrawBevelPanel*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; borderWidth : LONGINT; down : BOOLEAN; color, mode : LONGINT);
+PROCEDURE DrawBevelPanel*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; borderWidth : LONGINT; down : BOOLEAN; color: WMGraphics.Color; mode : LONGINT);
 BEGIN
 BEGIN
 	canvas.Fill(WMRectangles.ResizeRect(rect, -1), color, mode);
 	canvas.Fill(WMRectangles.ResizeRect(rect, -1), color, mode);
 	DrawBevel(canvas, rect, borderWidth, down, color, mode)
 	DrawBevel(canvas, rect, borderWidth, down, color, mode)
 END DrawBevelPanel;
 END DrawBevelPanel;
 
 
-PROCEDURE FillGradientHorizontal*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; clLeft, clRight, mode : LONGINT);
-VAR dist, cl, i, f : LONGINT;
+PROCEDURE FillGradientHorizontal*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; clLeft, clRight: WMGraphics.Color; mode : LONGINT);
+VAR dist, i, f : LONGINT; cl: WMGraphics.Color;
 BEGIN
 BEGIN
 	dist := rect.r - rect.l;
 	dist := rect.r - rect.l;
 	FOR i := 0 TO dist - 1 DO
 	FOR i := 0 TO dist - 1 DO
@@ -68,8 +68,8 @@ BEGIN
 	END;
 	END;
 END FillGradientHorizontal;
 END FillGradientHorizontal;
 
 
-PROCEDURE FillGradientVertical*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; clTop, clBottom, mode : LONGINT);
-VAR dist, cl, i, f : LONGINT;
+PROCEDURE FillGradientVertical*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; clTop, clBottom: WMGraphics.Color; mode : LONGINT);
+VAR dist, i, f : LONGINT; cl: WMGraphics.Color;
 BEGIN
 BEGIN
 	dist := rect.b - rect.t;
 	dist := rect.b - rect.t;
 	FOR i := 0 TO dist - 1 DO
 	FOR i := 0 TO dist - 1 DO
@@ -79,8 +79,8 @@ BEGIN
 	END;
 	END;
 END FillGradientVertical;
 END FillGradientVertical;
 
 
-PROCEDURE FillRoundHorizontalBar*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; down : BOOLEAN; color, mode : LONGINT);
-VAR cl2, d : LONGINT;
+PROCEDURE FillRoundHorizontalBar*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; down : BOOLEAN; color: WMGraphics.Color; mode : LONGINT);
+VAR cl2: WMGraphics.Color; d : LONGINT;
 BEGIN
 BEGIN
 	cl2 := ScaleColor(color, 200);
 	cl2 := ScaleColor(color, 200);
 	IF down THEN d := (rect.b - rect.t) * 5 DIV 16;
 	IF down THEN d := (rect.b - rect.t) * 5 DIV 16;
@@ -90,8 +90,8 @@ BEGIN
 	FillGradientVertical(canvas, WMRectangles.MakeRect(rect.l, rect.t + d, rect.r, rect.b), cl2, color, WMGraphics.ModeCopy);
 	FillGradientVertical(canvas, WMRectangles.MakeRect(rect.l, rect.t + d, rect.r, rect.b), cl2, color, WMGraphics.ModeCopy);
 END FillRoundHorizontalBar;
 END FillRoundHorizontalBar;
 
 
-PROCEDURE FillRoundVerticalBar*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; down : BOOLEAN; color, mode : LONGINT);
-VAR cl2, d : LONGINT;
+PROCEDURE FillRoundVerticalBar*(canvas : WMGraphics.Canvas; rect : WMRectangles.Rectangle; down : BOOLEAN; color: WMGraphics.Color; mode : LONGINT);
+VAR cl2: WMGraphics.Color; d : LONGINT;
 BEGIN
 BEGIN
 	cl2 := ScaleColor(color, 200);
 	cl2 := ScaleColor(color, 200);
 	IF down THEN d := (rect.r - rect.l) * 5 DIV 16;
 	IF down THEN d := (rect.r - rect.l) * 5 DIV 16;

+ 1 - 1
source/WMGraphics.Mod

@@ -230,7 +230,7 @@ TYPE
 			color := x
 			color := x
 		END SetColor;
 		END SetColor;
 
 
-		PROCEDURE GetColor*() : LONGINT;
+		PROCEDURE GetColor*() : Color;
 		BEGIN
 		BEGIN
 			RETURN color;
 			RETURN color;
 		END GetColor;
 		END GetColor;

+ 6 - 6
source/WMPopups.Mod

@@ -166,8 +166,8 @@ TYPE
 (** Open a color swatch dialog *)
 (** Open a color swatch dialog *)
 	ColorSwatchPopup* = OBJECT (WMComponents.FormWindow)
 	ColorSwatchPopup* = OBJECT (WMComponents.FormWindow)
 	VAR colorPanel : ColorSwatchPanel;
 	VAR colorPanel : ColorSwatchPanel;
-		color- : LONGINT;
-		onColorChosen* : PROCEDURE {DELEGATE} (color : LONGINT);
+		color- : WMGraphics.Color;
+		onColorChosen* : PROCEDURE {DELEGATE} (color : WMGraphics.Color);
 
 
 		PROCEDURE &New*;
 		PROCEDURE &New*;
 		BEGIN
 		BEGIN
@@ -205,7 +205,7 @@ TYPE
 			manager.SetFocus(SELF)
 			manager.SetFocus(SELF)
 		END FocusGot;
 		END FocusGot;
 
 
-		PROCEDURE SetColor(color : LONGINT);
+		PROCEDURE SetColor(color : WMGraphics.Color);
 		BEGIN
 		BEGIN
 			SELF.color := color;
 			SELF.color := color;
 			IF onColorChosen # NIL THEN onColorChosen(color) END;
 			IF onColorChosen # NIL THEN onColorChosen(color) END;
@@ -217,7 +217,7 @@ TYPE
 (** Color Swatch Visual Component *)
 (** Color Swatch Visual Component *)
 	ColorSwatchPanel* = OBJECT(WMComponents.VisualComponent)
 	ColorSwatchPanel* = OBJECT(WMComponents.VisualComponent)
 	VAR colors : ARRAY 19 OF LONGINT;
 	VAR colors : ARRAY 19 OF LONGINT;
-		ChosenColorProc* : PROCEDURE {DELEGATE} (color: LONGINT);
+		ChosenColorProc* : PROCEDURE {DELEGATE} (color: WMGraphics.Color);
 		(* CloseProc : PROCEDURE {DELEGATE}; *)
 		(* CloseProc : PROCEDURE {DELEGATE}; *)
 
 
 		PROCEDURE &Init*;
 		PROCEDURE &Init*;
@@ -228,7 +228,7 @@ TYPE
 		END Init;
 		END Init;
 
 
 		PROCEDURE PointerDown*(x, y : LONGINT; keys : SET);
 		PROCEDURE PointerDown*(x, y : LONGINT; keys : SET);
-		VAR r, g, b, a, i, j, cColor: LONGINT;
+		VAR r, g, b, a, i, j: LONGINT; cColor: WMGraphics.Color;
 		BEGIN
 		BEGIN
 			i := y DIV 10; j := x DIV 10;
 			i := y DIV 10; j := x DIV 10;
 			IF (i>= 0) & (i<=2) THEN
 			IF (i>= 0) & (i<=2) THEN
@@ -250,7 +250,7 @@ TYPE
 		END PointerDown;
 		END PointerDown;
 
 
 		PROCEDURE DrawBackground*(canvas: WMGraphics.Canvas);
 		PROCEDURE DrawBackground*(canvas: WMGraphics.Canvas);
-		VAR r, g, b, a, i, j, color: LONGINT;
+		VAR r, g, b, a, i, j: LONGINT; color: WMGraphics.Color;
 		BEGIN
 		BEGIN
 			DrawBackground^(canvas);
 			DrawBackground^(canvas);
 
 

+ 1 - 1
source/WMProgressComponents.Mod

@@ -135,7 +135,7 @@ TYPE
 			rect: WMRectangles.Rectangle;
 			rect: WMRectangles.Rectangle;
 			width: LONGINT;
 			width: LONGINT;
 			string : ARRAY 32 OF CHAR;
 			string : ARRAY 32 OF CHAR;
-			min, max, cur, percent, color : LONGINT;
+			min, max, cur, percent : LONGINT; color: WMGraphics.Color;
 			isVertical : BOOLEAN;
 			isVertical : BOOLEAN;
 		BEGIN
 		BEGIN
 			min := SELF.min.Get();
 			min := SELF.min.Get();

+ 3 - 3
source/WMProperties.Mod

@@ -1154,7 +1154,7 @@ TYPE
 
 
 	ColorProperty* = OBJECT(Property)
 	ColorProperty* = OBJECT(Property)
 	VAR
 	VAR
-		value : LONGINT;
+		value : WMGraphics.Color;
 
 
 		(* TODO: read hex from CCG FontConverter *)
 		(* TODO: read hex from CCG FontConverter *)
 		PROCEDURE FromStream*(r : Streams.Reader);
 		PROCEDURE FromStream*(r : Streams.Reader);
@@ -1192,8 +1192,8 @@ TYPE
 			END;
 			END;
 		END UpdateModel;
 		END UpdateModel;
 
 
-		PROCEDURE Get*() : LONGINT;
-		VAR r : LONGINT;
+		PROCEDURE Get*() : WMGraphics.Color;
+		VAR r : WMGraphics.Color;
 		BEGIN
 		BEGIN
 			AcquireRead;
 			AcquireRead;
 			IF nonDefault OR (prototype = NIL) THEN r := value
 			IF nonDefault OR (prototype = NIL) THEN r := value

+ 4 - 4
source/WMShapes.Mod

@@ -8,7 +8,7 @@ TYPE
 	Line* = OBJECT(WMComponents.VisualComponent)
 	Line* = OBJECT(WMComponents.VisualComponent)
 	VAR
 	VAR
 		color- : WMProperties.ColorProperty;
 		color- : WMProperties.ColorProperty;
-		colorI : LONGINT;
+		colorI : WMGraphics.Color;
 
 
 		isVertical- : WMProperties.BooleanProperty;
 		isVertical- : WMProperties.BooleanProperty;
 		isVerticalI : BOOLEAN;
 		isVerticalI : BOOLEAN;
@@ -129,7 +129,7 @@ TYPE
 	Rectangle* = OBJECT(WMComponents.VisualComponent)
 	Rectangle* = OBJECT(WMComponents.VisualComponent)
 	VAR
 	VAR
 		clBorder- : WMProperties.ColorProperty;
 		clBorder- : WMProperties.ColorProperty;
-		clBorderI : LONGINT;
+		clBorderI : WMGraphics.Color;
 
 
 		PROCEDURE &Init*;
 		PROCEDURE &Init*;
 		BEGIN
 		BEGIN
@@ -167,7 +167,7 @@ TYPE
 	Circle* = OBJECT(WMComponents.VisualComponent)
 	Circle* = OBJECT(WMComponents.VisualComponent)
 	VAR
 	VAR
 		color : WMProperties.ColorProperty;
 		color : WMProperties.ColorProperty;
-		colorI : LONGINT;
+		colorI : WMGraphics.Color;
 
 
 		PROCEDURE &Init*;
 		PROCEDURE &Init*;
 		BEGIN
 		BEGIN
@@ -207,7 +207,7 @@ TYPE
 	Ellipse* = OBJECT(WMComponents.VisualComponent)
 	Ellipse* = OBJECT(WMComponents.VisualComponent)
 	VAR
 	VAR
 		color : WMProperties.ColorProperty;
 		color : WMProperties.ColorProperty;
-		colorI : LONGINT;
+		colorI : WMGraphics.Color;
 
 
 		PROCEDURE &Init*;
 		PROCEDURE &Init*;
 		BEGIN
 		BEGIN

+ 6 - 6
source/WMStandardComponents.Mod

@@ -1034,7 +1034,7 @@ TYPE
  		END GetThisDecoration;
  		END GetThisDecoration;
 
 
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
-		VAR mode, mid, borderWidth : LONGINT;
+		VAR mode, borderWidth : LONGINT; mid: WMGraphics.Color;
 			 tc : WMGraphics.Color; r, rect : WMGraphics.Rectangle; down : BOOLEAN;
 			 tc : WMGraphics.Color; r, rect : WMGraphics.Rectangle; down : BOOLEAN;
 			 str : String;
 			 str : String;
 		BEGIN
 		BEGIN
@@ -1779,8 +1779,8 @@ TYPE
 			END;
 			END;
 		END UpdateLayout;
 		END UpdateLayout;
 
 
-		PROCEDURE GetButtonColor(area : SHORTINT) : LONGINT;
-		VAR color : LONGINT;
+		PROCEDURE GetButtonColor(area : SHORTINT) : WMGraphics.Color;
+		VAR color : WMGraphics.Color;
 		BEGIN
 		BEGIN
 			IF (area = pressed) THEN color := clBtnPressed.Get();
 			IF (area = pressed) THEN color := clBtnPressed.Get();
 			ELSIF (area = hover) THEN color := clBtnHover.Get();
 			ELSIF (area = hover) THEN color := clBtnHover.Get();
@@ -1789,8 +1789,8 @@ TYPE
 			RETURN color;
 			RETURN color;
 		END GetButtonColor;
 		END GetButtonColor;
 
 
-		PROCEDURE GetPageColor(area : SHORTINT) : LONGINT;
-		VAR color : LONGINT;
+		PROCEDURE GetPageColor(area : SHORTINT) : WMGraphics.Color;
+		VAR color : WMGraphics.Color;
 		BEGIN
 		BEGIN
 			IF (area = pressed) THEN color := clPressed.Get();
 			IF (area = pressed) THEN color := clPressed.Get();
 			ELSIF (area = hover) THEN color := clHover.Get();
 			ELSIF (area = hover) THEN color := clHover.Get();
@@ -1935,7 +1935,7 @@ TYPE
 			END;
 			END;
 		END DrawVerticalBackground;
 		END DrawVerticalBackground;
 
 
-		PROCEDURE DrawSimpleRepresentation(canvas : WMGraphics.Canvas; area : LONGINT; rect : WMRectangles.Rectangle; color , effect3D : LONGINT);
+		PROCEDURE DrawSimpleRepresentation(canvas : WMGraphics.Canvas; area : LONGINT; rect : WMRectangles.Rectangle; color: WMGraphics.Color; effect3D : LONGINT);
 		BEGIN
 		BEGIN
 			IF (color # 0) THEN canvas.Fill(rect, color, WMGraphics.ModeSrcOverDst) END;
 			IF (color # 0) THEN canvas.Fill(rect, color, WMGraphics.ModeSrcOverDst) END;
 			IF (effect3D > 0) THEN WMGraphicUtilities.RectGlassShade(canvas, rect, effect3D, area = pressed) END
 			IF (effect3D > 0) THEN WMGraphicUtilities.RectGlassShade(canvas, rect, effect3D, area = pressed) END

+ 5 - 5
source/WMStringGrids.Mod

@@ -15,7 +15,7 @@ TYPE
 	Cell* = OBJECT
 	Cell* = OBJECT
 	VAR
 	VAR
 		caption : String;
 		caption : String;
-		color, textColor : LONGINT;
+		color, textColor : WMGraphics.Color;
 		align: LONGINT;
 		align: LONGINT;
 		img : WMGraphics.Image;
 		img : WMGraphics.Image;
 		data : ANY;
 		data : ANY;
@@ -197,7 +197,7 @@ TYPE
 			END
 			END
 		END GetCellTextAOC;
 		END GetCellTextAOC;
 
 
-		PROCEDURE SetCellColors*(col, row, color, textColor : LONGINT);
+		PROCEDURE SetCellColors*(col, row : LONGINT; color, textColor : WMGraphics.Color);
 		BEGIN
 		BEGIN
 			ASSERT(Objects.ActiveObject() = lockedBy, 3000);
 			ASSERT(Objects.ActiveObject() = lockedBy, 3000);
 			IF (col >= 0) & (row >= 0) & (col < nofCols) & (row < nofRows) THEN
 			IF (col >= 0) & (row >= 0) & (col < nofCols) & (row < nofRows) THEN
@@ -214,7 +214,7 @@ TYPE
 			END;
 			END;
 		END SetCellColors;
 		END SetCellColors;
 
 
-		PROCEDURE GetCellColors*(col, row : LONGINT; VAR color, textColor : LONGINT; VAR valid : BOOLEAN);
+		PROCEDURE GetCellColors*(col, row : LONGINT; VAR color, textColor : WMGraphics.Color; VAR valid : BOOLEAN);
 		BEGIN
 		BEGIN
 			ASSERT(Objects.ActiveObject() = lockedBy, 3000);
 			ASSERT(Objects.ActiveObject() = lockedBy, 3000);
 			valid := FALSE;
 			valid := FALSE;
@@ -334,7 +334,7 @@ TYPE
 	StringGrid* = OBJECT(WMGrids.GenericGrid)
 	StringGrid* = OBJECT(WMGrids.GenericGrid)
 	VAR
 	VAR
 		model- : StringGridModel;
 		model- : StringGridModel;
-		cellColor, hoverColor, selectedColor, fixedColor, textHoverColor, textColor, textSelectedColor : LONGINT;
+		cellColor, hoverColor, selectedColor, fixedColor, textHoverColor, textColor, textSelectedColor : WMGraphics.Color;
 		clCell-, clFixed-, clHover-, clSelected-, clTextDefault-, clTextHover-, clTextSelected- : WMProperties.ColorProperty;
 		clCell-, clFixed-, clHover-, clSelected-, clTextDefault-, clTextHover-, clTextSelected- : WMProperties.ColorProperty;
 
 
 		PROCEDURE &Init*;
 		PROCEDURE &Init*;
@@ -404,7 +404,7 @@ TYPE
 
 
 		PROCEDURE DrawCell(canvas : WMGraphics.Canvas; w, h : LONGINT; state : SET; x, y : LONGINT);
 		PROCEDURE DrawCell(canvas : WMGraphics.Canvas; w, h : LONGINT; state : SET; x, y : LONGINT);
 		VAR
 		VAR
-			s : String; font : WMGraphics.Font; left, c, tc: LONGINT; img : WMGraphics.Image; dispW, dispH: LONGINT;
+			s : String; font : WMGraphics.Font; left: LONGINT; c, tc: WMGraphics.Color; img : WMGraphics.Image; dispW, dispH: LONGINT;
 			valid : BOOLEAN;
 			valid : BOOLEAN;
 		BEGIN
 		BEGIN
 			s := model.GetCellText(x, y);
 			s := model.GetCellText(x, y);

+ 2 - 2
source/WMTabComponents.Mod

@@ -11,7 +11,7 @@ TYPE
 		caption- : Strings.String;
 		caption- : Strings.String;
 		w : LONGINT;
 		w : LONGINT;
 		width : LONGINT; (* if 0, automatically determine width based on caption string size *)
 		width : LONGINT; (* if 0, automatically determine width based on caption string size *)
-		color- : LONGINT;
+		color- : WMGraphics.Color;
 		data- : ANY;
 		data- : ANY;
 		inserted, attention* : BOOLEAN;
 		inserted, attention* : BOOLEAN;
 		next- : Tab;
 		next- : Tab;
@@ -390,7 +390,7 @@ TYPE
 			IF tab.inserted THEN Invalidate END
 			IF tab.inserted THEN Invalidate END
 		END SetTabCaption;
 		END SetTabCaption;
 
 
-		PROCEDURE SetTabColor*(tab : Tab; color : LONGINT);
+		PROCEDURE SetTabColor*(tab : Tab; color : WMGraphics.Color);
 		BEGIN
 		BEGIN
 			Acquire;
 			Acquire;
 			tab.color := color;
 			tab.color := color;

+ 6 - 5
source/WMTextView.Mod

@@ -621,7 +621,7 @@ TYPE
 	TextView* = OBJECT(WMComponents.VisualComponent)
 	TextView* = OBJECT(WMComponents.VisualComponent)
 	VAR
 	VAR
 		defaultTextColor-, defaultTextBgColor- : WMProperties.ColorProperty;
 		defaultTextColor-, defaultTextBgColor- : WMProperties.ColorProperty;
-		defaultTextColorI, defaultTextBgColorI : LONGINT;
+		defaultTextColorI, defaultTextBgColorI : WMGraphics.Color;
 
 
 		isMultiLine- : WMProperties.BooleanProperty;
 		isMultiLine- : WMProperties.BooleanProperty;
 		isMultiLineI : BOOLEAN;
 		isMultiLineI : BOOLEAN;
@@ -680,14 +680,14 @@ TYPE
 		showLineNumbersI : BOOLEAN;
 		showLineNumbersI : BOOLEAN;
 
 
 		lineNumberColor-, lineNumberBgColor- : WMProperties.ColorProperty;
 		lineNumberColor-, lineNumberBgColor- : WMProperties.ColorProperty;
-		lineNumberColorI, lineNumberBgColorI : LONGINT;
+		lineNumberColorI, lineNumberBgColorI : WMGraphics.Color;
 		lineNumberFont, lineNumberFont10 : WMGraphics.Font;
 		lineNumberFont, lineNumberFont10 : WMGraphics.Font;
 
 
 		indicateTabs- : WMProperties.BooleanProperty;
 		indicateTabs- : WMProperties.BooleanProperty;
 		indicateTabsI : BOOLEAN;
 		indicateTabsI : BOOLEAN;
 
 
 		clBgCurrentLine- : WMProperties.ColorProperty;
 		clBgCurrentLine- : WMProperties.ColorProperty;
-		clBgCurrentLineI : LONGINT;
+		clBgCurrentLineI : WMGraphics.Color;
 
 
 		selection- : Highlight;
 		selection- : Highlight;
 		cursor- : Cursor;
 		cursor- : Cursor;
@@ -2336,10 +2336,11 @@ TYPE
 			cliprect, temp : WMRectangles.Rectangle;
 			cliprect, temp : WMRectangles.Rectangle;
 			highlighterStyle, lastHighlighterStyle : SyntaxHighlighter.Style;
 			highlighterStyle, lastHighlighterStyle : SyntaxHighlighter.Style;
 			currentStyle, lastStyle : ANY;
 			currentStyle, lastStyle : ANY;
-			lastColor : LONGINT;
+			lastColor : WMGraphics.Color;
 			cf: WMGraphics.Font;
 			cf: WMGraphics.Font;
 			style : RECORD
 			style : RECORD
-				color, bgColor, voff : LONGINT;
+				color, bgColor : WMGraphics.Color;
+				voff : LONGINT;
 				font : WMGraphics.Font;
 				font : WMGraphics.Font;
 			END;
 			END;
 		BEGIN
 		BEGIN