You've already forked lazarus-ccr
tvplanit: Fix shape editor not storing shape properties. Fix preview drawing page background using pen and brush of previous shape.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4936 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -361,7 +361,13 @@ begin
|
|||||||
AShape.Shape := shape;
|
AShape.Shape := shape;
|
||||||
break;
|
break;
|
||||||
end;
|
end;
|
||||||
|
AShape.Pen.Style := TPenStyle(cbPenStyle.ItemIndex);
|
||||||
AShape.Pen.Width := udPenWidth.Position;
|
AShape.Pen.Width := udPenWidth.Position;
|
||||||
|
AShape.Pen.Color := cbPenColor.Selected;
|
||||||
|
AShape.Pen.Mode := TPenMode(cbPenMode.ItemIndex);
|
||||||
|
|
||||||
|
AShape.Brush.Style := TBrushStyle(cbBrushStyle.ItemIndex);
|
||||||
|
AShape.Brush.Color := cbBrushColor.Selected;
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
procedure TfrmEditShape.SetCaptions;
|
procedure TfrmEditShape.SetCaptions;
|
||||||
@@ -393,22 +399,10 @@ begin
|
|||||||
udPenWidth.Position := AShape.Pen.Width;
|
udPenWidth.Position := AShape.Pen.Width;
|
||||||
cbPenStyle.ItemIndex := ord(AShape.Pen.Style);
|
cbPenStyle.ItemIndex := ord(AShape.Pen.Style);
|
||||||
cbPenMode.ItemIndex := ord(AShape.Pen.Mode);
|
cbPenMode.ItemIndex := ord(AShape.Pen.Mode);
|
||||||
{
|
|
||||||
// cgPenColor.ForegroundIndex := cgPenColor.ColorToIndex(AShape.Pen.Color);
|
|
||||||
StyleStr := GetEnumName(TypeInfo(TPenStyle), Ord(AShape.Pen.Style));
|
|
||||||
cbPenStyle.ItemIndex := cbPenStyle.Items.IndexOf(StyleStr);
|
|
||||||
StyleStr := GetEnumName(TypeInfo(TPenMode), Ord(AShape.Pen.Mode));
|
|
||||||
cbPenMode.ItemIndex := cbPenMode.Items.IndexOf(StyleStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
{ brush settings }
|
{ brush settings }
|
||||||
// cgBrushColor.ForegroundIndex := cgBrushColor.ColorToIndex(AShape.Brush.Color);
|
|
||||||
cbBrushColor.Selected := AShape.Brush.Color;
|
cbBrushColor.Selected := AShape.Brush.Color;
|
||||||
cbBrushStyle.ItemIndex := ord(AShape.Brush.Style);
|
cbBrushStyle.ItemIndex := ord(AShape.Brush.Style);
|
||||||
{
|
|
||||||
StyleStr := GetEnumName(TypeInfo(TBrushStyle), Ord(AShape.Brush.Style));
|
|
||||||
cbBrushStyle.ItemIndex := cbBrushStyle.Items.IndexOf(StyleStr);
|
|
||||||
}
|
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
|
@@ -454,7 +454,9 @@ begin
|
|||||||
LoadPage(CurPage, FStartDate, FEndDate);
|
LoadPage(CurPage, FStartDate, FEndDate);
|
||||||
|
|
||||||
RenderBmp.Canvas.Brush.Color := FPageColor;
|
RenderBmp.Canvas.Brush.Color := FPageColor;
|
||||||
|
RenderBmp.Canvas.Brush.Style := bsSolid;
|
||||||
RenderBmp.Canvas.Pen.Color := FBorderColor;
|
RenderBmp.Canvas.Pen.Color := FBorderColor;
|
||||||
|
RenderBmp.Canvas.Pen.Style := psSolid;
|
||||||
RenderBmp.Canvas.FillRect(Rect(0, 0, RenderBmp.Width, RenderBmp.Height));
|
RenderBmp.Canvas.FillRect(Rect(0, 0, RenderBmp.Width, RenderBmp.Height));
|
||||||
|
|
||||||
if not IsPageLoaded(CurPage) then
|
if not IsPageLoaded(CurPage) then
|
||||||
@@ -766,10 +768,13 @@ var
|
|||||||
RealWidth := ClientWidth;
|
RealWidth := ClientWidth;
|
||||||
RealHeight := ClientHeight;
|
RealHeight := ClientHeight;
|
||||||
|
|
||||||
|
WorkBmp.Canvas.Brush.Style := bsSolid;
|
||||||
WorkBmp.Canvas.Brush.Color := FOffPageColor;
|
WorkBmp.Canvas.Brush.Color := FOffPageColor;
|
||||||
WorkBmp.Canvas.FillRect(ClientRect);
|
|
||||||
WorkBmp.Canvas.Brush.Color := FPageColor;
|
WorkBmp.Canvas.Brush.Color := FPageColor;
|
||||||
WorkBmp.Canvas.Pen.Color := FBorderColor;
|
WorkBmp.Canvas.Pen.Color := FBorderColor;
|
||||||
|
WorkBmp.Canvas.Pen.Style := psSolid;
|
||||||
|
|
||||||
|
WorkBmp.Canvas.FillRect(ClientRect);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawBorders;
|
procedure DrawBorders;
|
||||||
@@ -853,22 +858,6 @@ var
|
|||||||
Result.BottomRight := Point(ClientWidth - Offset2, round(FPrinter.PageHeight / ScaleX))
|
Result.BottomRight := Point(ClientWidth - Offset2, round(FPrinter.PageHeight / ScaleX))
|
||||||
else
|
else
|
||||||
Result.BottomRight := Point(Round(FPrinter.PageWidth / ScaleY), ClientHeight - Offset2);
|
Result.BottomRight := Point(Round(FPrinter.PageWidth / ScaleY), ClientHeight - Offset2);
|
||||||
{
|
|
||||||
if ScaleX > ScaleY then
|
|
||||||
Result := Rect(
|
|
||||||
Offset1,
|
|
||||||
Offset1,
|
|
||||||
ClientWidth - Offset2,
|
|
||||||
Round(FPrinter.PageHeight / ScaleX)
|
|
||||||
)
|
|
||||||
else
|
|
||||||
Result := Rect(
|
|
||||||
Offset1,
|
|
||||||
Offset1,
|
|
||||||
Round(FPrinter.PageWidth / ScaleY),
|
|
||||||
ClientHeight - Offset2
|
|
||||||
);
|
|
||||||
}
|
|
||||||
end else
|
end else
|
||||||
Result := Rect(3, 3, ClientWidth, ClientHeight);
|
Result := Rect(3, 3, ClientWidth, ClientHeight);
|
||||||
end;
|
end;
|
||||||
@@ -891,12 +880,6 @@ var
|
|||||||
AspectRect := GetAspectRectangle;
|
AspectRect := GetAspectRectangle;
|
||||||
srcRect := Rect(0, 0, RenderBmp.Width, RenderBmp.Height);
|
srcRect := Rect(0, 0, RenderBmp.Width, RenderBmp.Height);
|
||||||
WorkBmp.Canvas.CopyRect(AspectRect, RenderBmp.Canvas, srcRect);
|
WorkBmp.Canvas.CopyRect(AspectRect, RenderBmp.Canvas, srcRect);
|
||||||
(*
|
|
||||||
AspectRect,
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect(0, 0, RenderBmp.Width, RenderBmp.Height)
|
|
||||||
);
|
|
||||||
*)
|
|
||||||
RealWidth := AspectRect.Right - AspectRect.Left + 3;
|
RealWidth := AspectRect.Right - AspectRect.Left + 3;
|
||||||
RealHeight := AspectRect.Bottom - AspectRect.Top + 3;
|
RealHeight := AspectRect.Bottom - AspectRect.Top + 3;
|
||||||
end else
|
end else
|
||||||
@@ -915,143 +898,10 @@ var
|
|||||||
);
|
);
|
||||||
dstRect := Rect(3, 3, WorkWidth, WorkHeight);
|
dstRect := Rect(3, 3, WorkWidth, WorkHeight);
|
||||||
WorkBmp.Canvas.CopyRect(dstRect, RenderBmp.Canvas, srcRect);
|
WorkBmp.Canvas.CopyRect(dstRect, RenderBmp.Canvas, srcRect);
|
||||||
(*
|
|
||||||
Rect(3, 3, WorkWidth, WorkHeight),
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect(
|
|
||||||
Round(FScrollX / ZOOM_FACTOR_VALUES[FZoomFactor]),
|
|
||||||
Round(FScrollY / ZOOM_FACTOR_VALUES[FZoomFactor]),
|
|
||||||
Round((WorkWidth + FScrollX) / ZOOM_FACTOR_VALUES[FZoomFactor]),
|
|
||||||
Round((WorkHeight + FScrollY) / ZOOM_FACTOR_VALUES[FZoomFactor])
|
|
||||||
)
|
|
||||||
);*)
|
|
||||||
RealWidth := round(RenderBmp.Width / ZOOM_FACTOR_VALUES[FZoomFactor]);
|
RealWidth := round(RenderBmp.Width / ZOOM_FACTOR_VALUES[FZoomFactor]);
|
||||||
RealHeight := round(RenderBmp.Height / ZOOM_FACTOR_VALUES[FZoomFactor]);
|
RealHeight := round(RenderBmp.Height / ZOOM_FACTOR_VALUES[FZoomFactor]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
(*
|
|
||||||
case FZoomFactor of
|
|
||||||
zfFitToControl:
|
|
||||||
begin
|
|
||||||
AspectRect := GetAspectRectangle;
|
|
||||||
WorkBmp.Canvas.CopyRect(
|
|
||||||
AspectRect,
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect (0, 0, RenderBmp.Width, RenderBmp.Height)
|
|
||||||
);
|
|
||||||
RealWidth := AspectRect.Right - AspectRect.Left + 3;
|
|
||||||
RealHeight := AspectRect.Bottom - AspectRect.Top + 3;
|
|
||||||
end;
|
|
||||||
|
|
||||||
zf25Percent : begin
|
|
||||||
WorkWidth := Round (RenderBmp.Width div 4);
|
|
||||||
WorkHeight := Round (RenderBmp.Height div 4);
|
|
||||||
if WorkHeight > ClientHeight - 3 then
|
|
||||||
WorkHeight := ClientHeight - 3;
|
|
||||||
if WorkWidth > ClientWidth - 3 then
|
|
||||||
WorkWidth := ClientWidth - 3;
|
|
||||||
WorkBmp.Canvas.CopyRect (Rect (3, 3,
|
|
||||||
WorkWidth,
|
|
||||||
WorkHeight),
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect (Round (FScrollX * 4),
|
|
||||||
Round (FScrollY * 4),
|
|
||||||
Round ((WorkWidth + FScrollX) * 4),
|
|
||||||
Round ((WorkHeight + FScrollY) * 4)));
|
|
||||||
RealWidth := RenderBmp.Width div 4;
|
|
||||||
RealHeight := RenderBmp.Height div 4;
|
|
||||||
end;
|
|
||||||
|
|
||||||
zf33Percent : begin
|
|
||||||
WorkWidth := Round (RenderBmp.Width div 3);
|
|
||||||
WorkHeight := Round (RenderBmp.Height div 3);
|
|
||||||
if WorkHeight > ClientHeight - 3 then
|
|
||||||
WorkHeight := ClientHeight - 3;
|
|
||||||
if WorkWidth > ClientWidth - 3 then
|
|
||||||
WorkWidth := ClientWidth - 3;
|
|
||||||
WorkBmp.Canvas.CopyRect (Rect (3, 3,
|
|
||||||
WorkWidth,
|
|
||||||
WorkHeight),
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect (Round (FScrollX * 3),
|
|
||||||
Round (FScrollY * 3),
|
|
||||||
Round ((WorkWidth + FScrollX) * 3),
|
|
||||||
Round ((WorkHeight + FScrollY) * 3)));
|
|
||||||
RealWidth := RenderBmp.Width div 3;
|
|
||||||
RealHeight := RenderBmp.Height div 3;
|
|
||||||
end;
|
|
||||||
|
|
||||||
zf50Percent : begin
|
|
||||||
WorkWidth := Round (RenderBmp.Width div 2);
|
|
||||||
WorkHeight := Round (RenderBmp.Height div 2);
|
|
||||||
if WorkHeight > ClientHeight - 3 then
|
|
||||||
WorkHeight := ClientHeight - 3;
|
|
||||||
if WorkWidth > ClientWidth - 3 then
|
|
||||||
WorkWidth := ClientWidth - 3;
|
|
||||||
WorkBmp.Canvas.CopyRect (Rect (3, 3,
|
|
||||||
WorkWidth,
|
|
||||||
WorkHeight),
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect (Round (FScrollX * 2),
|
|
||||||
Round (FScrollY * 2),
|
|
||||||
Round ((WorkWidth + FScrollX) * 2),
|
|
||||||
Round ((WorkHeight + FScrollY) * 2)));
|
|
||||||
RealWidth := RenderBmp.Width div 2;
|
|
||||||
RealHeight := RenderBmp.Height div 2;
|
|
||||||
end;
|
|
||||||
|
|
||||||
zf67Percent : begin
|
|
||||||
WorkWidth := Round (RenderBmp.Width * 0.67);
|
|
||||||
WorkHeight := Round (RenderBmp.Height * 0.67);
|
|
||||||
if WorkHeight > ClientHeight - 3 then
|
|
||||||
WorkHeight := ClientHeight - 3;
|
|
||||||
if WorkWidth > ClientWidth - 3 then
|
|
||||||
WorkWidth := ClientWidth - 3;
|
|
||||||
WorkBmp.Canvas.CopyRect (Rect (3, 3,
|
|
||||||
WorkWidth,
|
|
||||||
WorkHeight),
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect (Round (FScrollX * 1.5),
|
|
||||||
Round (FScrollY * 1.5),
|
|
||||||
Round ((WorkWidth + FScrollX) * 1.5),
|
|
||||||
Round ((WorkHeight + FScrollY) * 1.5)));
|
|
||||||
|
|
||||||
RealWidth := Round (RenderBmp.Width * 0.67);
|
|
||||||
RealHeight := Round (RenderBmp.Height * 0.67);
|
|
||||||
end;
|
|
||||||
|
|
||||||
zf75Percent : begin
|
|
||||||
WorkWidth := Round (RenderBmp.Width * 0.75);
|
|
||||||
WorkHeight := Round (RenderBmp.Height * 0.75);
|
|
||||||
if WorkHeight > ClientHeight - 3 then
|
|
||||||
WorkHeight := ClientHeight - 3;
|
|
||||||
if WorkWidth > ClientWidth - 3 then
|
|
||||||
WorkWidth := ClientWidth - 3;
|
|
||||||
WorkBmp.Canvas.CopyRect (Rect (3, 3,
|
|
||||||
WorkWidth,
|
|
||||||
WorkHeight),
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect (Round (FScrollX * 1.33333),
|
|
||||||
Round (FScrollY * 1.33333),
|
|
||||||
Round ((WorkWidth + FScrollX) * 1.33333),
|
|
||||||
Round ((WorkHeight + FScrollY) * 1.33333)));
|
|
||||||
RealWidth := Round (RenderBmp.Width * 0.75);
|
|
||||||
RealHeight := Round (RenderBmp.Height * 0.75);
|
|
||||||
end;
|
|
||||||
|
|
||||||
zfActualSize : begin
|
|
||||||
WorkBmp.Canvas.CopyRect (Rect (3, 3,
|
|
||||||
ClientWidth - 3, ClientHeight - 3),
|
|
||||||
RenderBmp.Canvas,
|
|
||||||
Rect (FScrollX,
|
|
||||||
FScrollY,
|
|
||||||
FScrollX + ClientWidth - 3,
|
|
||||||
FScrollY + ClientHeight - 3));
|
|
||||||
RealWidth := RenderBmp.Width;
|
|
||||||
RealHeight := RenderBmp.Height;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
*)
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure RenderImage;
|
procedure RenderImage;
|
||||||
|
Reference in New Issue
Block a user