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 năm trước cách đây
mục cha
commit
1ec7ab4953

+ 8 - 8
source/ModuleTrees.Mod

@@ -48,7 +48,7 @@ TYPE
 		flags : SET;
 		pos : Texts.TextPosition;
 		name : Strings.String;
-		color : LONGINT;
+		color : WMGraphics.Color;
 		sortInfo : LONGINT;
 		font : WMGraphics.Font;
 		node : ModuleParser.Node;
@@ -563,7 +563,7 @@ TYPE
 			END;
 		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;
 		BEGIN
 			NEW(newInfo);
@@ -798,7 +798,7 @@ TYPE
 		PROCEDURE AddProcHead(treeNode: WMTrees.TreeNode; procHead: ModuleParser.ProcHead): WMTrees.TreeNode;
 		VAR
 			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
 			IF (procHead # NIL) THEN
 				color := GetColor(procHead.modifiers, ColorProcedure);
@@ -1014,7 +1014,7 @@ TYPE
 			RETURN 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;
 		VAR newNode: WMTrees.TreeNode;
 			n: ModuleParser.NodeList;
@@ -1217,7 +1217,7 @@ TYPE
 			AddNumberPostfixToCaption(parent, nofConstants);
 		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;
 		VAR newNode: WMTrees.TreeNode;
 		BEGIN
@@ -1234,7 +1234,7 @@ TYPE
 			END
 		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;
 		VAR newNode: WMTrees.TreeNode;
 		BEGIN
@@ -1253,8 +1253,8 @@ VAR
 	PrototypeShowTypeHierarchy : WMProperties.BooleanProperty;
 	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
 		IF (ModuleParser.Exclusive IN modifiers) THEN color := ColorExclusive;
 		ELSIF (ModuleParser.HasExclusiveBlock IN modifiers) THEN color := ColorHasExclusiveBlock;

+ 7 - 7
source/PETModuleTree.Mod

@@ -245,7 +245,7 @@ TYPE
 			END;
 		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;
 		BEGIN
 			node.flags := {};
@@ -523,7 +523,7 @@ TYPE
 		PROCEDURE AddProcHead(treeNode: WMTrees.TreeNode; procHead: ModuleParser.ProcHead): WMTrees.TreeNode;
 		VAR
 			newNode: TreeNode; caption: Strings.String;
-			color : LONGINT; image : WMGraphics.Image; type : LONGINT;
+			color : WMGraphics.Color; image : WMGraphics.Image; type : LONGINT;
 		BEGIN
 			IF (procHead # NIL) THEN
 				color := GetColor(procHead.modifiers, ColorProcedure);
@@ -748,7 +748,7 @@ TYPE
 			RETURN 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;
 		VAR newNode: WMTrees.TreeNode;
 			n: ModuleParser.NodeList;
@@ -943,7 +943,7 @@ TYPE
 		PROCEDURE AddIdentDef(
 			parent: WMTrees.TreeNode;
 			node : ModuleParser.Node; identDef: ModuleParser.IdentDef;
-			sortHint, color: LONGINT; style: SET) : TreeNode;
+			sortHint: LONGINT; color: WMGraphics.Color; style: SET) : TreeNode;
 		VAR
 			newNode: TreeNode;
 		BEGIN
@@ -963,7 +963,7 @@ TYPE
 		PROCEDURE AddInfoItem(
 			parent: WMTrees.TreeNode;
 			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
 			newNode: TreeNode;
 		BEGIN
@@ -983,8 +983,8 @@ VAR
 	StrUNKNOWN, StrVAR, StrCONST, StrIMPORT, StrIN, StrBODY, StrRETURN, StrARRAY, StrOF,
 	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
 	IF (ModuleParser.Exclusive IN modifiers) THEN color := ColorExclusive;
 	ELSIF (ModuleParser.HasExclusiveBlock IN modifiers) THEN color := ColorHasExclusiveBlock;

+ 1 - 1
source/PETTrees.Mod

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

+ 1 - 1
source/PartitionsLib.Mod

@@ -3942,7 +3942,7 @@ BEGIN
 END Get4;
 
 (* 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
 	ColorFAT12 = WMGraphics.Red;
 	ColorFAT16 = WMGraphics.Red;

+ 2 - 2
source/WMCCGFonts.Mod

@@ -227,7 +227,7 @@ TYPE
 
 		(* floating point version *)
 		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;
 			dtx, dty, dtw, dth : REAL;
 			nofPoints : LONGINT;
@@ -309,7 +309,7 @@ BEGIN
 	INC(nofPoints)
 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;
 	t, onet, dt : REAL;
 BEGIN

+ 3 - 3
source/WMColorComponents.Mod

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

+ 7 - 7
source/WMComponents.Mod

@@ -1303,7 +1303,7 @@ TYPE
 
 		(** Is called before any sub-components are drawn *)
 		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 
 			Moreover, it slows down display extremely such that updates can be seen
 		*)
@@ -1339,9 +1339,9 @@ TYPE
 		END DrawForeground;
 
 		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;
 			BEGIN
 				r0 :=r; r0.r := r.l+w; r0.b := r.t+w;
@@ -1372,7 +1372,7 @@ TYPE
 					WHILE x < r.r DO
 						r0.l := x; r0.r := x+2;
 						IF ODD(x DIV 8+y DIV 8) THEN color := 060H;
-						ELSE color := LONGINT(0FFFFFF60H);
+						ELSE color := WMGraphics.Color(0FFFFFF60H);
 						END;
 						canvas.Fill(r0,color, WMGraphics.ModeSrcOverDst);
 						INC(x,8); INC(x0);
@@ -1381,15 +1381,15 @@ TYPE
 				END;
 				IF selection.rectOwner = SELF THEN
 					r0 := selection.rect;
-				 	color := LONGINT(0FF000080H);
+				 	color := WMGraphics.Color(0FF000080H);
 					canvas.Fill(r0, color, WMGraphics.ModeCopy); 
 				END; 			
 			END;
 			IF selection.Has(SELF) THEN
 				IF selection.state = 0 THEN
-					MarkSelected(r,8,LONGINT(080H));
+					MarkSelected(r,8,WMGraphics.Color(080H));
 				ELSE
-					MarkSelected(r,8,LONGINT(0FFFFFFFF80H));
+					MarkSelected(r,8,WMGraphics.Color(0FFFFFFFF80H));
 				END;
 			END;
 		END DrawSelection;

+ 1 - 1
source/WMDefaultWindows.Mod

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

+ 1 - 1
source/WMDiagnostics.Mod

@@ -576,7 +576,7 @@ TYPE
 		END ModelChanged;
 
 		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
 			color := WMGraphics.RGBAToColor(255, 255, 255, 255);
 			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;
 
 		color-, gridColor- : WMProperties.ColorProperty;
-		colorI, gridColorI : LONGINT;
+		colorI, gridColorI : WMGraphics.Color;
 
 		autoMin-, autoMax-, showValues-: WMProperties.BooleanProperty;
 		autoMinI, autoMaxI, showValuesI : BOOLEAN;
@@ -442,7 +442,7 @@ TYPE
 		PROCEDURE DrawAreas(canvas : WMGraphics.Canvas; w, h, border : LONGINT; VAR tmin, tmax : REAL);
 		VAR
 			nofPoints, nofVisible, nofStandalone : LONGINT;
-			dim, index, x, y0, y1, colorLine, color : LONGINT;
+			dim, index, x, y0, y1: LONGINT; colorLine, color : WMGraphics.Color;
 			maxSumIdx : LONGINT;
 			v0, v1 : LONGINT;
 			factor : REAL;
@@ -553,7 +553,7 @@ TYPE
 
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
 		VAR
-			w, h, yborder, color, t, virtp   : LONGINT;
+			w, h, yborder, t, virtp : LONGINT; color: WMGraphics.Color;
 			mode : LONGINT;
 			tmin, tmax : REAL;
 			str : ARRAY 16 OF CHAR;

+ 2 - 2
source/WMDialogs.Mod

@@ -775,7 +775,7 @@ TYPE
 
 (** 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;
 BEGIN
 	NEW(panel); panel.alignment.Set(alignment); panel.bounds.SetExtents(width, height);
@@ -791,7 +791,7 @@ BEGIN
 	RETURN label;
 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;
 BEGIN
 	NEW(editor); editor.uid.SetAOC(uid);

+ 1 - 1
source/WMEditors.Mod

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

+ 2 - 2
source/WMFigures.Mod

@@ -383,7 +383,7 @@ TYPE
 		CONST pi=3.1516; 
 		VAR  alpha: REAL;
 			 head: LONGREAL;
-			col:LONGINT;
+			col: WMGraphics.Color;
 		BEGIN
 				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*) 
@@ -768,7 +768,7 @@ TYPE
 		END Normalize;
 
 		PROCEDURE DrawBackground*(canvas : WMGraphics.Canvas);
-		VAR p,pa: Point; col: LONGINT; d:REAL;
+		VAR p,pa: Point; col: WMGraphics.Color; d:REAL;
 		BEGIN
 			DrawBackground^(canvas); 
 			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);
 
 (* 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;
 BEGIN
 	WMGraphics.ColorToRGBA(color, r, g, b, a);
@@ -24,7 +24,7 @@ BEGIN
 END InterpolateLinear;
 
 (* 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;
 BEGIN
 	WMGraphics.ColorToRGBA(cl0, r0, g0, b0, a0);
@@ -36,8 +36,8 @@ BEGIN
 END InterpolateColorLinear;
 
 (** 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
 	IF down THEN ul := ScaleColor(color, 128); dr :=  ScaleColor(color, 256 + 128)
 	ELSE dr := ScaleColor(color, 128); ul :=  ScaleColor(color, 256 + 128)
@@ -51,14 +51,14 @@ BEGIN
 END DrawBevel;
 
 (** 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
 	canvas.Fill(WMRectangles.ResizeRect(rect, -1), color, mode);
 	DrawBevel(canvas, rect, borderWidth, down, color, mode)
 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
 	dist := rect.r - rect.l;
 	FOR i := 0 TO dist - 1 DO
@@ -68,8 +68,8 @@ BEGIN
 	END;
 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
 	dist := rect.b - rect.t;
 	FOR i := 0 TO dist - 1 DO
@@ -79,8 +79,8 @@ BEGIN
 	END;
 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
 	cl2 := ScaleColor(color, 200);
 	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);
 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
 	cl2 := ScaleColor(color, 200);
 	IF down THEN d := (rect.r - rect.l) * 5 DIV 16;

+ 1 - 1
source/WMGraphics.Mod

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

+ 6 - 6
source/WMPopups.Mod

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

+ 1 - 1
source/WMProgressComponents.Mod

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

+ 3 - 3
source/WMProperties.Mod

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

+ 4 - 4
source/WMShapes.Mod

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

+ 6 - 6
source/WMStandardComponents.Mod

@@ -1034,7 +1034,7 @@ TYPE
  		END GetThisDecoration;
 
 		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;
 			 str : String;
 		BEGIN
@@ -1779,8 +1779,8 @@ TYPE
 			END;
 		END UpdateLayout;
 
-		PROCEDURE GetButtonColor(area : SHORTINT) : LONGINT;
-		VAR color : LONGINT;
+		PROCEDURE GetButtonColor(area : SHORTINT) : WMGraphics.Color;
+		VAR color : WMGraphics.Color;
 		BEGIN
 			IF (area = pressed) THEN color := clBtnPressed.Get();
 			ELSIF (area = hover) THEN color := clBtnHover.Get();
@@ -1789,8 +1789,8 @@ TYPE
 			RETURN color;
 		END GetButtonColor;
 
-		PROCEDURE GetPageColor(area : SHORTINT) : LONGINT;
-		VAR color : LONGINT;
+		PROCEDURE GetPageColor(area : SHORTINT) : WMGraphics.Color;
+		VAR color : WMGraphics.Color;
 		BEGIN
 			IF (area = pressed) THEN color := clPressed.Get();
 			ELSIF (area = hover) THEN color := clHover.Get();
@@ -1935,7 +1935,7 @@ TYPE
 			END;
 		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
 			IF (color # 0) THEN canvas.Fill(rect, color, WMGraphics.ModeSrcOverDst) 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
 	VAR
 		caption : String;
-		color, textColor : LONGINT;
+		color, textColor : WMGraphics.Color;
 		align: LONGINT;
 		img : WMGraphics.Image;
 		data : ANY;
@@ -197,7 +197,7 @@ TYPE
 			END
 		END GetCellTextAOC;
 
-		PROCEDURE SetCellColors*(col, row, color, textColor : LONGINT);
+		PROCEDURE SetCellColors*(col, row : LONGINT; color, textColor : WMGraphics.Color);
 		BEGIN
 			ASSERT(Objects.ActiveObject() = lockedBy, 3000);
 			IF (col >= 0) & (row >= 0) & (col < nofCols) & (row < nofRows) THEN
@@ -214,7 +214,7 @@ TYPE
 			END;
 		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
 			ASSERT(Objects.ActiveObject() = lockedBy, 3000);
 			valid := FALSE;
@@ -334,7 +334,7 @@ TYPE
 	StringGrid* = OBJECT(WMGrids.GenericGrid)
 	VAR
 		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;
 
 		PROCEDURE &Init*;
@@ -404,7 +404,7 @@ TYPE
 
 		PROCEDURE DrawCell(canvas : WMGraphics.Canvas; w, h : LONGINT; state : SET; x, y : LONGINT);
 		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;
 		BEGIN
 			s := model.GetCellText(x, y);

+ 2 - 2
source/WMTabComponents.Mod

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

+ 6 - 5
source/WMTextView.Mod

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