初步refactor xml公式
This commit is contained in:
parent
2e0aadd3d0
commit
600ce2e358
|
|
@ -278,7 +278,8 @@ begin
|
|||
ftr_range.Parent := self;
|
||||
ftr_range.LowerBound := 0;
|
||||
flag := ftr_range.Calc();
|
||||
y_offset := current_page_.SectPr.PgSz.H - ftr_range.DynamicHeight - current_page_.SectPr.PgMar.Footer;
|
||||
// y_offset := current_page_.SectPr.PgSz.H - ftr_range.DynamicHeight - current_page_.SectPr.PgMar.Footer;
|
||||
y_offset := current_page_.SectPr.PgMar.Footer + ftr_range.DynamicHeight;
|
||||
ftr_range.Offset(current_page_.SectPr.PgMar.Left, y_offset, current_page_);
|
||||
if flag then
|
||||
ftr_range.Do();
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -608,7 +608,9 @@ begin
|
|||
i := 0;
|
||||
while true do
|
||||
begin
|
||||
y := {self.}TextPoint.Y - i * {self.}SectPr.DocGrid.LinePitch;
|
||||
y := {self.}SectPr.PgSz.H - max({self.}SectPr.PgMar.Top, {self.}SectPr.PgMar.Header);
|
||||
y := min(y, {self.}HdrPoint.Y);
|
||||
y := y - i * {self.}SectPr.DocGrid.LinePitch;
|
||||
if y <= {self.}SectPr.PgMar.Bottom then break;
|
||||
pdf_page_.SetLineWidth(0.05);
|
||||
pdf_page_.SetGrayStroke(0.75);
|
||||
|
|
@ -627,7 +629,7 @@ begin
|
|||
x4 := x2;
|
||||
y4 := y3;
|
||||
pdf_page_.SetLineWidth(0.05);
|
||||
pdf_page_.SetGrayStroke(0.5);
|
||||
pdf_page_.SetGrayStroke(0.70);
|
||||
pdf_page_.MoveTo(x1, y1);
|
||||
pdf_page_.LineTo(x2, y2);
|
||||
pdf_page_.Stroke();
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ public
|
|||
function Create();
|
||||
function Do();virtual;
|
||||
function Offset(x: real; y: real; page: Page);virtual;
|
||||
function AdjustOffset(x: real; y: real);virtual;
|
||||
|
||||
public
|
||||
[weakref]Parent: tslobj;
|
||||
|
|
@ -59,6 +60,7 @@ public
|
|||
function Do();override;
|
||||
|
||||
public
|
||||
RPr: RPrUnitDecorator;
|
||||
Image: PdfImage;
|
||||
Type: string;
|
||||
end;
|
||||
|
|
@ -98,6 +100,12 @@ begin
|
|||
{self.}EndPage := page;
|
||||
end;
|
||||
|
||||
function BasicRange.AdjustOffset(x: real; y: real);virtual;
|
||||
begin
|
||||
{self.}XOffset += x;
|
||||
{self.}YOffset += y;
|
||||
end;
|
||||
|
||||
// ImageRange
|
||||
function ImageRange.Create();
|
||||
begin
|
||||
|
|
@ -108,6 +116,18 @@ end;
|
|||
|
||||
function ImageRange.Do();override;
|
||||
begin
|
||||
if {self.}RPr.Highlight.Val = "yellow" then
|
||||
begin
|
||||
{self.}EndPage.PdfPage.SetRGBFill(1, 1, 0);
|
||||
x := {self.}EndX;
|
||||
y := {self.}Parent.EndY;
|
||||
w := {self.}Width;
|
||||
h := {self.}Parent.DynamicHeight;
|
||||
{self.}EndPage.PdfPage.Rectangle(x, y, w, h);
|
||||
{self.}EndPage.PdfPage.Fill();
|
||||
{self.}EndPage.PdfPage.SetRGBFill(0, 0, 0);
|
||||
end
|
||||
|
||||
// println("image = {}, type = {}, x = {}, y = {}, w = {}, h = {}", {self.}image, {self.}Type, {self.}endx, {self.}endy, {self.}width, {self.}DynamicHeight);
|
||||
if {self.}Type = "emf" then
|
||||
{self.}EndPage.PdfPage.DrawEmf({self.}Image, {self.}EndX, {self.}EndY, {self.}Width, {self.}DynamicHeight);
|
||||
|
|
@ -140,7 +160,7 @@ function BordersRange.DoFill();
|
|||
begin
|
||||
borders := {self.}TcPr.TcBorders;
|
||||
// println("TcPr.Shd.Val = {}", TcPr.Shd.Val);
|
||||
if {self.}TcPr.Shd.Val <> "clear" and {self.}TcPr.Shd.Fill and {self.}TcPr.Shd.Fill <> "auto" then
|
||||
if {self.}TcPr.Shd.Val = "clear" and {self.}TcPr.Shd.Fill and {self.}TcPr.Shd.Fill <> "auto" then
|
||||
begin
|
||||
[r, g, b] := DTPColorToolKit.HexToRGB({self.}TcPr.Shd.Fill);
|
||||
{self.}EndPage.PdfPage.SetRGBFill(r/255, g/255, b/255);
|
||||
|
|
@ -227,6 +247,17 @@ begin
|
|||
y += sz / 3;
|
||||
sz := sz * 2 / 3;
|
||||
end
|
||||
if {self.}RPr.Highlight.Val = "yellow" then
|
||||
begin
|
||||
{self.}EndPage.PdfPage.SetRGBFill(1, 1, 0);
|
||||
x := {self.}EndX;
|
||||
y := {self.}Parent.EndY;
|
||||
w := {self.}Width;
|
||||
h := {self.}Parent.DynamicHeight;
|
||||
{self.}EndPage.PdfPage.Rectangle(x, y, w, h);
|
||||
{self.}EndPage.PdfPage.Fill();
|
||||
{self.}EndPage.PdfPage.SetRGBFill(0, 0, 0);
|
||||
end
|
||||
{self.}EndPage.PdfPage.SetRGBFill(r / 255, g / 255, b / 255);
|
||||
{self.}EndPage.PdfPage.SetFontAndSize({self.}Font, sz);
|
||||
{self.}EndPage.PdfPage.BeginText();
|
||||
|
|
@ -254,7 +285,7 @@ end;
|
|||
|
||||
function LineRange.Do();override;
|
||||
begin
|
||||
// println("endx = {}, endy = {}, width = {}", EndX, EndY, Width);
|
||||
// println("endx = {}, endy = {}, width = {}, line_width = {}", EndX, EndY, Width, LineWidth);
|
||||
{self.}EndPage.PdfPage.SetLineWidth({self.}LineWidth);
|
||||
{self.}EndPage.PdfPage.SetRGBStroke(0, 0, 0);
|
||||
{self.}EndPage.PdfPage.MoveTo({self.}EndX, {self.}EndY);
|
||||
|
|
|
|||
|
|
@ -185,18 +185,22 @@ begin
|
|||
"β": chr(0x62),
|
||||
"ε": chr(0x65),
|
||||
"γ": chr(0x67),
|
||||
"π": chr(0x70),
|
||||
"θ": chr(0x71),
|
||||
"{": chr(0x7B),
|
||||
"}": chr(0x7D),
|
||||
"∞": chr(0xA5),
|
||||
"f": chr(0xA6),
|
||||
"±": chr(0xB1),
|
||||
"×": chr(0xB4),
|
||||
"∂": chr(0xB6),
|
||||
"∏": chr(0xD5),
|
||||
"〈": chr(0xE1),
|
||||
"∑": chr(0xE5),
|
||||
"⌊": chr(0xEB),
|
||||
"〉": chr(0xF1),
|
||||
"Į": chr(0xF2),
|
||||
"⌋": chr(0xFB),
|
||||
// "": chr(0x),
|
||||
);
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue