diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview.odt b/applications/fpvviewer/examples_files/odt/lazarus_overview.odt
new file mode 100644
index 000000000..fd48999d7
Binary files /dev/null and b/applications/fpvviewer/examples_files/odt/lazarus_overview.odt differ
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/Configurations2/accelerator/current.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/Configurations2/accelerator/current.xml
new file mode 100755
index 000000000..e69de29bb
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/META-INF/manifest.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/META-INF/manifest.xml
new file mode 100755
index 000000000..2796993a5
--- /dev/null
+++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/META-INF/manifest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/Thumbnails/thumbnail.png b/applications/fpvviewer/examples_files/odt/lazarus_overview/Thumbnails/thumbnail.png
new file mode 100755
index 000000000..5dab4be9c
Binary files /dev/null and b/applications/fpvviewer/examples_files/odt/lazarus_overview/Thumbnails/thumbnail.png differ
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/content.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/content.xml
new file mode 100755
index 000000000..186bca077
--- /dev/null
+++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/content.xml
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lazarus
+ Lazarus is a free and open source development tool for the Free Pascal compiler, which is also free and open source.
+ Overview
+ Lazarus is a free cross-platform visual integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler supported dialects of Object Pascal. Developers use Lazarus to create native code console and graphical user interface (GUI) applications for the desktop along with mobile devices, web applications, web services, and visual components and function libraries (.so, .dll, etc) for use by other programs for any platform the Free Pascal compiler supports( Mac, Unix, Linux, Windows, etc).
+
+ Lazarus provides a highly visual development environment for the creation of rich user interfaces, application logic, and other supporting code artifacts. Along with the customary project management features, the Lazarus IDE also provides features that includes but are not limited to:
+
+
+
+ A What You See Is What You Get (WYSIWYG) visual windows layout designer
+
+
+ An extensive set of GUI widgets or visual components such as edit boxes, buttons, dialogs, menus, etc.
+
+
+ An extensive set of non visual components for common behaviors such as persistence of application settings
+
+
+ A set of data connectivity components for MySQL, PostgresSQL, FireBird, Oracle, SQL Lite, Sybase, and others
+
+
+ Data aware widget set that allows the developer to see data in visual components in the designer to assist with development
+
+
+ Interactive code debugger
+
+
+ Code completion
+
+
+ Code templates
+
+
+ Syntax highlighting
+
+
+ Context sensitive help
+
+
+ Text resource manager for internationalization
+
+
+ Automatic code formatting
+
+
+ The ability to create custom components
+
+
+
+ Lazarus inherits three features from its use of the Free Pascal compiler: compile and execution speed, and cross-compilation. The Free Pascal compiler benefits from the Pascal language structure, which is rigid, and the steady advancements of Pascal compiler design, spanning several decades, to compile large applications quickly, often seconds.
+
+
+
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/manifest.rdf b/applications/fpvviewer/examples_files/odt/lazarus_overview/manifest.rdf
new file mode 100755
index 000000000..927e206bb
--- /dev/null
+++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/manifest.rdf
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/meta.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/meta.xml
new file mode 100755
index 000000000..a100f84c4
--- /dev/null
+++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/meta.xml
@@ -0,0 +1,11 @@
+
+
+
+ 2013-07-21T09:29:41.06
+ 2013-07-21T20:13:32.29
+ PT10S
+ 2
+ LibreOffice/4.0.2.2$Windows_x86 LibreOffice_project/4c82dcdd6efcd48b1d8bba66bfe1989deee49c3
+
+
+
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/mimetype b/applications/fpvviewer/examples_files/odt/lazarus_overview/mimetype
new file mode 100755
index 000000000..2e95b81c9
--- /dev/null
+++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/mimetype
@@ -0,0 +1 @@
+application/vnd.oasis.opendocument.text
\ No newline at end of file
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/settings.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/settings.xml
new file mode 100755
index 000000000..5e689c348
--- /dev/null
+++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/settings.xml
@@ -0,0 +1,107 @@
+
+
+
+
+ 0
+ 0
+ 25534
+ 9289
+ true
+ false
+
+
+ view2
+ 4267
+ 2925
+ 0
+ 0
+ 25532
+ 9287
+ 0
+ 0
+ false
+ 100
+ false
+
+
+
+
+ true
+ false
+ true
+ 490666
+ false
+ true
+ false
+ false
+ true
+ false
+ false
+
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ false
+ 0
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ true
+ false
+ false
+ true
+ true
+ true
+ false
+ high-resolution
+ 470846
+ 1
+ 0
+ false
+ false
+
+
+ false
+ true
+
+ false
+ false
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+
+ false
+ true
+ true
+ false
+ true
+ true
+ true
+ false
+ false
+
+ false
+ 0
+ false
+ false
+ true
+ true
+
+
+
diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/styles.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/styles.xml
new file mode 100755
index 000000000..9bb44ca61
--- /dev/null
+++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/styles.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/applications/fpvviewer/fpvv_mainform.lfm b/applications/fpvviewer/fpvv_mainform.lfm
index f0088fc7f..e817ed3fe 100644
--- a/applications/fpvviewer/fpvv_mainform.lfm
+++ b/applications/fpvviewer/fpvv_mainform.lfm
@@ -1,7 +1,7 @@
object frmFPVViewer: TfrmFPVViewer
- Left = 322
+ Left = 267
Height = 600
- Top = 143
+ Top = 97
Width = 485
Caption = 'Free Pascal Vectorial Viewer'
ClientHeight = 600
@@ -37,7 +37,7 @@ object frmFPVViewer: TfrmFPVViewer
end
object editSearchInTokens: TEdit
Left = 4
- Height = 23
+ Height = 22
Top = 0
Width = 156
TabOrder = 1
@@ -53,6 +53,23 @@ object frmFPVViewer: TfrmFPVViewer
TabOrder = 2
end
end
+ object pageDebug: TPage
+ object memoDebug: TMemo
+ Left = 0
+ Height = 402
+ Top = 22
+ Width = 485
+ Align = alClient
+ Font.Height = -13
+ Font.Name = 'Courier New'
+ Lines.Strings = (
+ 'memoDebug'
+ )
+ ParentFont = False
+ ScrollBars = ssBoth
+ TabOrder = 0
+ end
+ end
end
object Panel1: TPanel
Left = 0
@@ -65,7 +82,7 @@ object frmFPVViewer: TfrmFPVViewer
TabOrder = 1
object editFileName: TFileNameEdit
Left = 8
- Height = 23
+ Height = 22
Top = 8
Width = 304
DialogOptions = []
@@ -87,7 +104,7 @@ object frmFPVViewer: TfrmFPVViewer
end
object spinScale: TFloatSpinEdit
Left = 72
- Height = 23
+ Height = 16
Top = 97
Width = 168
DecimalPlaces = 6
@@ -100,9 +117,9 @@ object frmFPVViewer: TfrmFPVViewer
end
object Label1: TLabel
Left = 8
- Height = 15
+ Height = 16
Top = 97
- Width = 46
+ Width = 55
Caption = 'Scale by:'
ParentColor = False
end
@@ -144,15 +161,15 @@ object frmFPVViewer: TfrmFPVViewer
end
object Label2: TLabel
Left = 8
- Height = 15
+ Height = 16
Top = 72
- Width = 73
+ Width = 88
Caption = 'Y adjustment:'
ParentColor = False
end
object spinAdjustY: TSpinEdit
Left = 80
- Height = 23
+ Height = 16
Top = 72
Width = 72
Increment = 100
@@ -163,7 +180,7 @@ object frmFPVViewer: TfrmFPVViewer
end
object spinAdjustX: TSpinEdit
Left = 232
- Height = 23
+ Height = 16
Top = 72
Width = 72
Increment = 50
@@ -174,9 +191,9 @@ object frmFPVViewer: TfrmFPVViewer
end
object Label3: TLabel
Left = 160
- Height = 15
+ Height = 16
Top = 72
- Width = 73
+ Width = 88
Caption = 'X adjustment:'
ParentColor = False
end
@@ -191,18 +208,18 @@ object frmFPVViewer: TfrmFPVViewer
end
object Label4: TLabel
Left = 9
- Height = 15
+ Height = 16
Top = 126
- Width = 128
+ Width = 153
Caption = 'Force encoding on read:'
ParentColor = False
end
object comboEncoding: TComboBox
Left = 144
- Height = 23
+ Height = 20
Top = 126
Width = 128
- ItemHeight = 15
+ ItemHeight = 0
ItemIndex = 0
Items.Strings = (
'Read from the file'
@@ -238,19 +255,28 @@ object frmFPVViewer: TfrmFPVViewer
end
object labelFileEncoding: TLabel
Left = 278
- Height = 15
+ Height = 16
Top = 130
- Width = 74
+ Width = 88
Caption = 'File encoding:'
ParentColor = False
end
object checkForceWhiteBackground: TCheckBox
Left = 9
- Height = 19
+ Height = 18
Top = 152
- Width = 153
+ Width = 178
Caption = 'Force white background?'
TabOrder = 11
end
+ object buttonViewDebugInfo: TButton
+ Left = 256
+ Height = 17
+ Top = 153
+ Width = 131
+ Caption = 'View Debug Info'
+ OnClick = buttonViewDebugInfoClick
+ TabOrder = 12
+ end
end
end
diff --git a/applications/fpvviewer/fpvv_mainform.pas b/applications/fpvviewer/fpvv_mainform.pas
index 669b6d055..0a9609370 100644
--- a/applications/fpvviewer/fpvv_mainform.pas
+++ b/applications/fpvviewer/fpvv_mainform.pas
@@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, EditBtn,
StdCtrls, Spin, ExtCtrls, ComCtrls, Grids, ColorBox, Math,
- fpvv_drawer, fpimage, fpcanvas, coreconrec;
+ fpvv_drawer, fpimage, fpcanvas, coreconrec, fpvutils;
type
@@ -20,6 +20,7 @@ type
btnVisualize: TButton;
Button1: TButton;
Button2: TButton;
+ buttonViewDebugInfo: TButton;
buttonRenderingTest: TButton;
checkForceWhiteBackground: TCheckBox;
comboEncoding: TComboBox;
@@ -30,7 +31,9 @@ type
Label3: TLabel;
Label4: TLabel;
labelFileEncoding: TLabel;
+ memoDebug: TMemo;
notebook: TNotebook;
+ pageDebug: TPage;
pageViewer: TPage;
pageTreeData: TPage;
Panel1: TPanel;
@@ -45,6 +48,7 @@ type
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure buttonRenderingTestClick(Sender: TObject);
+ procedure buttonViewDebugInfoClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure spinAdjustXChange(Sender: TObject);
@@ -57,6 +61,7 @@ type
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure HandleDrawerPosChanged(Sender: TObject);
procedure HandleDrawerRedraw(Sender: TObject);
+ procedure ViewerDebugOutCallback(AStr: string);
public
{ public declarations }
Drawer: TFPVVDrawer;
@@ -354,6 +359,11 @@ begin
end;
end;
+procedure TfrmFPVViewer.buttonViewDebugInfoClick(Sender: TObject);
+begin
+ notebook.PageIndex := 2;
+end;
+
procedure TfrmFPVViewer.FormCreate(Sender: TObject);
begin
Drawer := TFPVVDrawer.Create(Self);
@@ -365,6 +375,8 @@ begin
Drawer.OnMouseWheel := @HandleDrawerMouseWheel;
Drawer.PosChangedCallback := @HandleDrawerPosChanged;
Drawer.RedrawCallback := @HandleDrawerRedraw;
+
+ FPVUDebugOutCallback := @ViewerDebugOutCallback;
end;
procedure TfrmFPVViewer.FormDestroy(Sender: TObject);
@@ -431,5 +443,10 @@ begin
btnVisualizeClick(Sender);
end;
+procedure TfrmFPVViewer.ViewerDebugOutCallback(AStr: string);
+begin
+ memoDebug.Lines.Add(AStr);
+end;
+
end.
diff --git a/applications/fpvviewer/fpvviewer.lpr b/applications/fpvviewer/fpvviewer.lpr
index 7b940cefc..0c10e3ec1 100644
--- a/applications/fpvviewer/fpvviewer.lpr
+++ b/applications/fpvviewer/fpvviewer.lpr
@@ -7,8 +7,7 @@ uses
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
- Forms, fpvv_mainform, dxftokentotree, fpvv_drawer, fpvectorialpkg, CoreConRec
- { you can add units after this };
+ Forms, fpvv_mainform, dxftokentotree, fpvv_drawer, fpvectorialpkg, CoreConRec;
{$R *.res}