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] := 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;