mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 05:19:31 +02:00
fpvectorial: Starts preparing for text document rendering
git-svn-id: trunk@45997 -
This commit is contained in:
parent
a74200f37d
commit
a32f6b84f6
@ -1243,6 +1243,12 @@ type
|
||||
function RemoveEntity(AEntity: TvEntity; AFreeAfterRemove: Boolean = True): Boolean; virtual; abstract;
|
||||
{ Data writing methods }
|
||||
function AddEntity(AEntity: TvEntity): Integer; virtual; abstract;
|
||||
{ Drawing methods }
|
||||
procedure DrawBackground(ADest: TFPCustomCanvas); virtual; abstract;
|
||||
procedure RenderPageBorder(ADest: TFPCustomCanvas;
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0); virtual; abstract;
|
||||
procedure Render(ADest: TFPCustomCanvas;
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0); virtual; abstract;
|
||||
{ Debug methods }
|
||||
procedure GenerateDebugTree(ADestRoutine: TvDebugAddItemProc; APageItem: Pointer); virtual; abstract;
|
||||
end;
|
||||
@ -1321,11 +1327,11 @@ type
|
||||
function AddPoint(AX, AY, AZ: Double): TvPoint;
|
||||
{ Drawing methods }
|
||||
procedure PositionEntitySubparts(ADest: TFPCustomCanvas; ABaseX, ABaseY: Double);
|
||||
procedure DrawBackground(ADest: TFPCustomCanvas);
|
||||
procedure DrawBackground(ADest: TFPCustomCanvas); override;
|
||||
procedure RenderPageBorder(ADest: TFPCustomCanvas;
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0);
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0); override;
|
||||
procedure Render(ADest: TFPCustomCanvas;
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0);
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0); override;
|
||||
{ Debug methods }
|
||||
procedure GenerateDebugTree(ADestRoutine: TvDebugAddItemProc; APageItem: Pointer); override;
|
||||
//
|
||||
@ -1362,6 +1368,14 @@ type
|
||||
function AddList: TvList;
|
||||
function AddTable: TvTable;
|
||||
//function AddImage: TvImage;
|
||||
{ Drawing methods }
|
||||
procedure DrawBackground(ADest: TFPCustomCanvas); override;
|
||||
procedure RenderPageBorder(ADest: TFPCustomCanvas;
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0); override;
|
||||
procedure Render(ADest: TFPCustomCanvas;
|
||||
ADestX: Integer = 0; ADestY: Integer = 0; AMulX: Double = 1.0; AMulY: Double = 1.0); override;
|
||||
{ Debug methods }
|
||||
procedure GenerateDebugTree(ADestRoutine: TvDebugAddItemProc; APageItem: Pointer); override;
|
||||
end;
|
||||
|
||||
{@@ TvVectorialReader class reference type }
|
||||
@ -6375,6 +6389,29 @@ begin
|
||||
Result := MainText.AddTable;
|
||||
end;
|
||||
|
||||
procedure TvTextPageSequence.DrawBackground(ADest: TFPCustomCanvas);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TvTextPageSequence.RenderPageBorder(ADest: TFPCustomCanvas;
|
||||
ADestX: Integer; ADestY: Integer; AMulX: Double; AMulY: Double);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TvTextPageSequence.Render(ADest: TFPCustomCanvas; ADestX: Integer;
|
||||
ADestY: Integer; AMulX: Double; AMulY: Double);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TvTextPageSequence.GenerateDebugTree(
|
||||
ADestRoutine: TvDebugAddItemProc; APageItem: Pointer);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
(*
|
||||
function TvTextPageSequence.AddImage: TvImage;
|
||||
begin
|
||||
|
@ -28,10 +28,10 @@ type
|
||||
private
|
||||
FPointSeparator, FCommaSeparator: TFormatSettings;
|
||||
//
|
||||
function ReadEntityFromNode(ANode: TDOMNode; AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
function ReadHeaderFromNode(ANode: TDOMNode; AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
function ReadParagraphFromNode(ANode: TDOMNode; AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
function ReadSVGFromNode(ANode: TDOMNode; AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
function ReadEntityFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
function ReadHeaderFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
function ReadParagraphFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
function ReadSVGFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
public
|
||||
{ General reading methods }
|
||||
constructor Create; override;
|
||||
@ -57,7 +57,7 @@ const
|
||||
{ TvHTMLVectorialReader }
|
||||
|
||||
function TvHTMLVectorialReader.ReadEntityFromNode(ANode: TDOMNode;
|
||||
AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
var
|
||||
lEntityName: DOMString;
|
||||
begin
|
||||
@ -71,17 +71,32 @@ begin
|
||||
end;
|
||||
|
||||
function TvHTMLVectorialReader.ReadHeaderFromNode(ANode: TDOMNode;
|
||||
AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
var
|
||||
CurParagraph: TvParagraph;
|
||||
lText: TvText;
|
||||
lTextStr: string;
|
||||
lHeaderType: DOMString;
|
||||
begin
|
||||
CurParagraph := AData.AddParagraph();
|
||||
CurParagraph.Style := ADoc.StyleTextBody;
|
||||
lTextStr := ANode.FirstChild.NodeValue;
|
||||
lText := CurParagraph.AddText(lTextStr);
|
||||
lHeaderType := LowerCase(ANode.NodeName);
|
||||
case lHeaderType of
|
||||
'h1', 'h2': lText.Style := ADoc.StyleHeading1;
|
||||
'h3', 'h4': lText.Style := ADoc.StyleHeading2;
|
||||
'h5', 'h6': lText.Style := ADoc.StyleHeading3;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TvHTMLVectorialReader.ReadParagraphFromNode(ANode: TDOMNode;
|
||||
AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
begin
|
||||
end;
|
||||
|
||||
function TvHTMLVectorialReader.ReadSVGFromNode(ANode: TDOMNode;
|
||||
AData: TvVectorialPage; ADoc: TvVectorialDocument): TvEntity;
|
||||
AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||
begin
|
||||
end;
|
||||
|
||||
@ -133,7 +148,7 @@ procedure TvHTMLVectorialReader.ReadFromXML(Doc: TXMLDocument;
|
||||
AData: TvVectorialDocument);
|
||||
var
|
||||
lCurNode: TDOMNode;
|
||||
lPage: TvVectorialPage;
|
||||
lPage: TvTextPageSequence;
|
||||
lNodeName, lNodeValue: DOMString;
|
||||
ANode: TDOMElement;
|
||||
i: Integer;
|
||||
@ -154,7 +169,7 @@ begin
|
||||
// Now process the elements
|
||||
// ----------------
|
||||
lCurNode := Doc.DocumentElement.FirstChild;
|
||||
lPage := AData.AddPage();
|
||||
lPage := AData.AddTextPageSequence();
|
||||
//lPage.Width := AData.Width;
|
||||
//lPage.Height := AData.Height;
|
||||
while Assigned(lCurNode) do
|
||||
|
Loading…
Reference in New Issue
Block a user