|
@@ -2296,6 +2296,11 @@ begin
|
|
Result := (R shl 16) or (G shl 8) or B;
|
|
Result := (R shl 16) or (G shl 8) or B;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function QWordToReportColor(AQWord: QWord):TFPReportColor;
|
|
|
|
+begin
|
|
|
|
+ Result := TFPReportColor(AQWord and $FFFFFFFF);
|
|
|
|
+end;
|
|
|
|
+
|
|
function StretchModeToString(AEnum: TFPReportStretchMode): string; inline;
|
|
function StretchModeToString(AEnum: TFPReportStretchMode): string; inline;
|
|
begin
|
|
begin
|
|
result := GetEnumName(TypeInfo(TFPReportStretchMode), Ord(AEnum));
|
|
result := GetEnumName(TypeInfo(TFPReportStretchMode), Ord(AEnum));
|
|
@@ -3403,7 +3408,11 @@ begin
|
|
end;
|
|
end;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
|
|
+ begin
|
|
|
|
+ if not Assigned(FFont) then
|
|
|
|
+ FFont := TFPReportFont.Create;
|
|
Result := FFont;
|
|
Result := FFont;
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TFPReportCustomMemo.SetUseParentFont(AValue: Boolean);
|
|
procedure TFPReportCustomMemo.SetUseParentFont(AValue: Boolean);
|
|
@@ -4369,11 +4378,11 @@ begin
|
|
begin
|
|
begin
|
|
AWriter.WriteString('FontName', Font.Name);
|
|
AWriter.WriteString('FontName', Font.Name);
|
|
AWriter.WriteInteger('FontSize', Font.Size);
|
|
AWriter.WriteInteger('FontSize', Font.Size);
|
|
- AWriter.WriteInteger('FontColor', Font.Color);
|
|
|
|
|
|
+ AWriter.WriteQWord('FontColor', Font.Color);
|
|
end;
|
|
end;
|
|
|
|
|
|
AWriter.WriteFloat('LineSpacing', LineSpacing);
|
|
AWriter.WriteFloat('LineSpacing', LineSpacing);
|
|
- AWriter.WriteInteger('LinkColor', LinkColor);
|
|
|
|
|
|
+ AWriter.WriteQWord('LinkColor', LinkColor);
|
|
AWriter.WriteString('Options', MemoOptionsToString(Options));
|
|
AWriter.WriteString('Options', MemoOptionsToString(Options));
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -4537,10 +4546,10 @@ begin
|
|
begin
|
|
begin
|
|
Font.Name := AReader.ReadString('FontName', Font.Name);
|
|
Font.Name := AReader.ReadString('FontName', Font.Name);
|
|
Font.Size := AReader.ReadInteger('FontSize', Font.Size);
|
|
Font.Size := AReader.ReadInteger('FontSize', Font.Size);
|
|
- Font.Color := AReader.ReadInteger('FontColor', Font.Color);
|
|
|
|
|
|
+ Font.Color := QWordToReportColor(AReader.ReadQWord('FontColor', Font.Color));
|
|
end;
|
|
end;
|
|
FLineSpacing := AReader.ReadFloat('LineSpacing', LineSpacing);
|
|
FLineSpacing := AReader.ReadFloat('LineSpacing', LineSpacing);
|
|
- FLinkColor := AReader.ReadInteger('LinkColor', LinkColor);
|
|
|
|
|
|
+ FLinkColor := QWordToReportColor(AReader.ReadQWord('LinkColor', LinkColor));
|
|
Options := StringToMemoOptions(AReader.ReadString('Options', ''));
|
|
Options := StringToMemoOptions(AReader.ReadString('Options', ''));
|
|
Changed;
|
|
Changed;
|
|
end;
|
|
end;
|
|
@@ -4604,7 +4613,7 @@ begin
|
|
AWriter.WriteString('ShapeType', ShapeTypeToString(ShapeType));
|
|
AWriter.WriteString('ShapeType', ShapeTypeToString(ShapeType));
|
|
AWriter.WriteString('Orientation', OrientationToString(Orientation));
|
|
AWriter.WriteString('Orientation', OrientationToString(Orientation));
|
|
AWriter.WriteFloat('CornerRadius', CornerRadius);
|
|
AWriter.WriteFloat('CornerRadius', CornerRadius);
|
|
- AWriter.WriteInteger('Color', Color);
|
|
|
|
|
|
+ AWriter.WriteQWord('Color', Color);
|
|
end;
|
|
end;
|
|
|
|
|
|
constructor TFPReportCustomShape.Create(AOwner: TComponent);
|
|
constructor TFPReportCustomShape.Create(AOwner: TComponent);
|
|
@@ -5622,25 +5631,25 @@ var
|
|
begin
|
|
begin
|
|
if (AOriginal = nil) then
|
|
if (AOriginal = nil) then
|
|
begin
|
|
begin
|
|
- AWriter.WriteInteger('Color', Color);
|
|
|
|
|
|
+ AWriter.WriteQWord('Color', Color);
|
|
AWriter.WriteString('Pen', FramePenToString(Pen));
|
|
AWriter.WriteString('Pen', FramePenToString(Pen));
|
|
AWriter.WriteInteger('Width', Ord(Width));
|
|
AWriter.WriteInteger('Width', Ord(Width));
|
|
AWriter.WriteString('Shape', FrameShapeToString(Shape));
|
|
AWriter.WriteString('Shape', FrameShapeToString(Shape));
|
|
//TODO Write out the enum values instead of the Integer value.
|
|
//TODO Write out the enum values instead of the Integer value.
|
|
I := integer(Lines);
|
|
I := integer(Lines);
|
|
AWriter.WriteInteger('Lines', I);
|
|
AWriter.WriteInteger('Lines', I);
|
|
- AWriter.WriteInteger('BackgroundColor', BackgroundColor);
|
|
|
|
|
|
+ AWriter.WriteQWord('BackgroundColor', BackgroundColor);
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
- AWriter.WriteIntegerDiff('Color', Color, AOriginal.Color);
|
|
|
|
|
|
+ AWriter.WriteQWordDiff('Color', Color, AOriginal.Color);
|
|
AWriter.WriteStringDiff('Pen', FramePenToString(Pen), FramePenToString(AOriginal.Pen));
|
|
AWriter.WriteStringDiff('Pen', FramePenToString(Pen), FramePenToString(AOriginal.Pen));
|
|
AWriter.WriteIntegerDiff('Width', Ord(Width), AOriginal.Width);
|
|
AWriter.WriteIntegerDiff('Width', Ord(Width), AOriginal.Width);
|
|
AWriter.WriteStringDiff('Shape', FrameShapeToString(Shape), FrameShapeToString(AOriginal.Shape));
|
|
AWriter.WriteStringDiff('Shape', FrameShapeToString(Shape), FrameShapeToString(AOriginal.Shape));
|
|
I := integer(Lines);
|
|
I := integer(Lines);
|
|
J := integer(Aoriginal.Lines);
|
|
J := integer(Aoriginal.Lines);
|
|
AWriter.WriteIntegerDiff('Lines', I, J);
|
|
AWriter.WriteIntegerDiff('Lines', I, J);
|
|
- AWriter.WriteIntegerDiff('BackgroundColor', BackgroundColor, AOriginal.BackgroundColor);
|
|
|
|
|
|
+ AWriter.WriteQWordDiff('BackgroundColor', BackgroundColor, AOriginal.BackgroundColor);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -5648,13 +5657,13 @@ procedure TFPReportFrame.ReadElement(AReader: TFPReportStreamer);
|
|
var
|
|
var
|
|
I: integer;
|
|
I: integer;
|
|
begin
|
|
begin
|
|
- Color := AReader.ReadInteger('Color', Color);
|
|
|
|
|
|
+ Color := QWordToReportColor(AReader.ReadQWord('Color', Color ));
|
|
Pen := StringToFramePen(AReader.ReadString('Pen', 'psSolid'));
|
|
Pen := StringToFramePen(AReader.ReadString('Pen', 'psSolid'));
|
|
Width := AReader.ReadInteger('Width', Ord(Width));
|
|
Width := AReader.ReadInteger('Width', Ord(Width));
|
|
Shape := StringToFrameShape(AReader.ReadString('Shape', 'fsNone'));
|
|
Shape := StringToFrameShape(AReader.ReadString('Shape', 'fsNone'));
|
|
I := integer(Lines);
|
|
I := integer(Lines);
|
|
Lines := TFPReportFrameLines(AReader.ReadInteger('Lines', I));
|
|
Lines := TFPReportFrameLines(AReader.ReadInteger('Lines', I));
|
|
- BackgroundColor := AReader.ReadInteger('BackgroundColor', BackgroundColor);
|
|
|
|
|
|
+ BackgroundColor := QWordToReportColor(AReader.ReadQWord('BackgroundColor', BackgroundColor));
|
|
end;
|
|
end;
|
|
|
|
|
|
{ TFPReportTextAlignment }
|
|
{ TFPReportTextAlignment }
|
|
@@ -6764,7 +6773,7 @@ begin
|
|
Pagesize.Height := AReader.ReadFloat('PageSize.Height', 297);
|
|
Pagesize.Height := AReader.ReadFloat('PageSize.Height', 297);
|
|
Font.Name := AReader.ReadString('FontName', Font.Name);
|
|
Font.Name := AReader.ReadString('FontName', Font.Name);
|
|
Font.Size := AReader.ReadInteger('FontSize', Font.Size);
|
|
Font.Size := AReader.ReadInteger('FontSize', Font.Size);
|
|
- Font.Color := AReader.ReadInteger('FontColor', Font.Color);
|
|
|
|
|
|
+ Font.Color := QWordToReportColor(AReader.ReadQWord('FontColor', Font.Color));
|
|
FDataName:=AReader.ReadString('Data','');
|
|
FDataName:=AReader.ReadString('Data','');
|
|
if FDataName<>'' then
|
|
if FDataName<>'' then
|
|
RestoreDataFromNames;
|
|
RestoreDataFromNames;
|
|
@@ -6804,7 +6813,7 @@ begin
|
|
AWriter.WriteFloat('PageSize.Height', PageSize.Height);
|
|
AWriter.WriteFloat('PageSize.Height', PageSize.Height);
|
|
AWriter.WriteString('FontName', Font.Name);
|
|
AWriter.WriteString('FontName', Font.Name);
|
|
AWriter.WriteInteger('FontSize', Font.Size);
|
|
AWriter.WriteInteger('FontSize', Font.Size);
|
|
- AWriter.WriteInteger('FontColor', Font.Color);
|
|
|
|
|
|
+ AWriter.WriteQWord('FontColor', Font.Color);
|
|
if Assigned(FData) then
|
|
if Assigned(FData) then
|
|
AWriter.WriteString('Data',FData.Name);
|
|
AWriter.WriteString('Data',FData.Name);
|
|
AWriter.PushElement('Margins');
|
|
AWriter.PushElement('Margins');
|
|
@@ -7963,7 +7972,7 @@ begin
|
|
begin
|
|
begin
|
|
AWriter.WriteString('FontName', Font.Name);
|
|
AWriter.WriteString('FontName', Font.Name);
|
|
AWriter.WriteInteger('FontSize', Font.Size);
|
|
AWriter.WriteInteger('FontSize', Font.Size);
|
|
- AWriter.WriteInteger('FontColor', Font.Color);
|
|
|
|
|
|
+ AWriter.WriteQWord('FontColor', Font.Color);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -8058,7 +8067,7 @@ begin
|
|
begin
|
|
begin
|
|
Font.Name := AReader.ReadString('FontName', Font.Name);
|
|
Font.Name := AReader.ReadString('FontName', Font.Name);
|
|
Font.Size := AReader.ReadInteger('FontSize', Font.Size);
|
|
Font.Size := AReader.ReadInteger('FontSize', Font.Size);
|
|
- Font.Color := AReader.ReadInteger('FontColor', Font.Color);
|
|
|
|
|
|
+ Font.Color := QWordToReportColor(AReader.ReadQWord('FontColor', Font.Color));
|
|
end;
|
|
end;
|
|
|
|
|
|
// TODO: Read Data information
|
|
// TODO: Read Data information
|