34 lines
1.2 KiB
Plaintext
34 lines
1.2 KiB
Plaintext
type TSPdfRectangleRange = class(TSPdfBasicRange)
|
|
uses TSColorToolKit;
|
|
public
|
|
function Create();
|
|
function Do();override;
|
|
public
|
|
TcPr: TcPr;
|
|
end;
|
|
|
|
function TSPdfRectangleRange.Create();
|
|
begin
|
|
class(TSPdfBasicRange).Create();
|
|
end;
|
|
|
|
function TSPdfRectangleRange.Do();override;
|
|
begin
|
|
// {self.}Page.SetRGBStroke(1.0, 0.0, 0.0);
|
|
// println("page = {}, endx = {}, endy = {}, DynamicHeight = {}, Width = {}", {self.}Page, {self.}EndX, {self.}EndY, {self.}DynamicHeight, {self.}Width);
|
|
if {self.}TcPr.Shd.Fill then
|
|
begin
|
|
[r, g, b] := array(0, 0, 0);
|
|
if {self.}TcPr.Shd.Fill <> "auto" then [r, g, b] := TSColorToolKit.HexToRGB({self.}TcPr.Shd.Fill);
|
|
{self.}TSPage.PdfPage.SetRGBFill(r/255, g/255, b/255);
|
|
{self.}TSPage.PdfPage.Rectangle({self.}EndX, {self.}EndY - {self.}DynamicHeight, {self.}Width, {self.}DynamicHeight);
|
|
{self.}TSPage.PdfPage.Fill();
|
|
{self.}TSPage.PdfPage.SetRGBFill(0, 0, 0);
|
|
end
|
|
{self.}TSPage.PdfPage.SetGrayStroke(0.5);
|
|
{self.}TSPage.PdfPage.SetLineWidth(0.25);
|
|
{self.}TSPage.PdfPage.Rectangle({self.}EndX, {self.}EndY - {self.}DynamicHeight, {self.}Width, {self.}DynamicHeight);
|
|
{self.}TSPage.PdfPage.Stroke();
|
|
{self.}TSPage.PdfPage.SetGrayStroke(0);
|
|
end;
|