|
@@ -25,6 +25,7 @@ type
|
|
cfBGR15,cfBGR16,cfBGR24,cfBGR32,cfBGR48,
|
|
cfBGR15,cfBGR16,cfBGR24,cfBGR32,cfBGR48,
|
|
cfABGR8,cfABGR16,cfABGR32,cfABGR64);
|
|
cfABGR8,cfABGR16,cfABGR32,cfABGR64);
|
|
TColorData = int64;
|
|
TColorData = int64;
|
|
|
|
+ PColorData = ^TColorData;
|
|
|
|
|
|
TDeviceColor = record
|
|
TDeviceColor = record
|
|
Fmt : TColorFormat;
|
|
Fmt : TColorFormat;
|
|
@@ -221,6 +222,9 @@ function ConvertColor (const From : TFPColor; Fmt : TColorFormat) : TDeviceColor
|
|
function ConvertColor (const From : TDeviceColor; Fmt : TColorFormat) : TDeviceColor;
|
|
function ConvertColor (const From : TDeviceColor; Fmt : TColorFormat) : TDeviceColor;
|
|
|
|
|
|
operator = (const c,d:TFPColor) : boolean;
|
|
operator = (const c,d:TFPColor) : boolean;
|
|
|
|
+operator or (const c,d:TFPColor) : TFPColor;
|
|
|
|
+operator and (const c,d:TFPColor) : TFPColor;
|
|
|
|
+operator xor (const c,d:TFPColor) : TFPColor;
|
|
|
|
|
|
var ImageHandlers : TImageHandlersManager;
|
|
var ImageHandlers : TImageHandlersManager;
|
|
|
|
|
|
@@ -284,6 +288,31 @@ begin
|
|
(c.Alpha = d.Alpha);
|
|
(c.Alpha = d.Alpha);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function GetFullColorData (color:TFPColor) : TColorData;
|
|
|
|
+begin
|
|
|
|
+ result := PColorData(@color)^;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function SetFullColorData (color:TColorData) : TFPColor;
|
|
|
|
+begin
|
|
|
|
+ result := PFPColor (@color)^;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+operator or (const c,d:TFPColor) : TFPColor;
|
|
|
|
+begin
|
|
|
|
+ result := SetFullColorData(GetFullColorData(c) OR GetFullColorData(d));
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+operator and (const c,d:TFPColor) : TFPColor;
|
|
|
|
+begin
|
|
|
|
+ result := SetFullColorData(GetFullColorData(c) AND GetFullColorData(d));
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+operator xor (const c,d:TFPColor) : TFPColor;
|
|
|
|
+begin
|
|
|
|
+ result := SetFullColorData(GetFullColorData(c) XOR GetFullColorData(d));
|
|
|
|
+end;
|
|
|
|
+
|
|
initialization
|
|
initialization
|
|
ImageHandlers := TImageHandlersManager.Create;
|
|
ImageHandlers := TImageHandlersManager.Create;
|
|
ColorBits [cfRGBA64,1] := ColorBits [cfRGBA64,0] shl 32;
|
|
ColorBits [cfRGBA64,1] := ColorBits [cfRGBA64,0] shl 32;
|