Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions demos/MarkDownBasicTest/MarkDownTests.lpi
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="MarkDownTests"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
Expand Down Expand Up @@ -87,12 +89,12 @@
<PublishOptions>
<Version Value="2"/>
<DestinationDirectory Value="D:\Users\Miguel\Documents\Trabajos\for_GIT\fpcmarkdown\demos\MarkDownBasicTest"/>
<SaveEditorInfoOfNonProjectFiles Value="True"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default"/>
</Modes>
</RunParams>
<RequiredPackages Count="2">
<Item1>
Expand Down Expand Up @@ -128,6 +130,9 @@
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
Expand Down
20 changes: 12 additions & 8 deletions demos/MarkDownHtml/MarkDownHtml.lpi
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="MarkDownHtml"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
Expand All @@ -14,7 +16,6 @@
<TextName Value="uEGroup.FPCMarkDown.TestHtmlConveter"/>
<TextDesc Value="Test Markdown Processor for FPC."/>
</XPManifest>
<Icon Value="0"/>
</General>
<VersionInfo>
<UseVersionInfo Value="True"/>
Expand Down Expand Up @@ -98,12 +99,12 @@
<PublishOptions>
<Version Value="2"/>
<DestinationDirectory Value="D:\Users\Miguel\Documents\Trabajos\for_GIT\fpcmarkdown\demos\MarkDownHtml"/>
<SaveEditorInfoOfNonProjectFiles Value="True"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default"/>
</Modes>
</RunParams>
<RequiredPackages Count="4">
<Item1>
Expand Down Expand Up @@ -139,9 +140,12 @@
<PathDelim Value="\"/>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="$Env(Temp)\lazarus\lib\$(TargetCPU)-$(TargetOS)"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
Expand Down
2 changes: 1 addition & 1 deletion demos/MarkDownHtml/MarkDownHtml.lpr
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, MarkDownHtmlU;
Forms, MarkDownHtmlU in 'MarkDownHtmlu.pas';

{$R *.res}

Expand Down
49 changes: 48 additions & 1 deletion demos/MarkDownHtml/MarkDownHtmlu.pas
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, LazFileUtils, SynEdit, SynHighlighterHTML, Forms, Controls,
Graphics, Dialogs, StdCtrls, ExtCtrls, Clipbrd, MarkdownProcessor, MarkdownUtils,
LCLIntf, ComCtrls, Buttons, StrUtils, HtmlView, HtmlGlobals, HTMLUn2;
LCLIntf, ComCtrls, Buttons, StrUtils, HtmlView, HtmlGlobals, HTMLUn2, Types, Math;

type

Expand Down Expand Up @@ -46,10 +46,16 @@ TMainForm = class(TForm)
procedure HtmlViewerImageRequest(Sender: TObject; const SRC: ThtString;
var Stream: TStream);
procedure SE_HTMLChange(Sender: TObject);

procedure AnyMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);

private
procedure OpenInBrowser;
procedure SetPreview;

procedure ApplyZoomDelta(Delta: Integer);

public

end;
Expand Down Expand Up @@ -161,6 +167,13 @@ procedure TMainForm.FormCreate(Sender: TObject);
HtmlViewer.OnImageRequest:=@HtmlViewerImageRequest;
MStream := TMemoryStream.Create;
B_ConvertClick(Self);


// ctrl + wheel zoom everywhere
SE_MarkDown.OnMouseWheel := @AnyMouseWheel;
SE_HTML.OnMouseWheel := @AnyMouseWheel;
HtmlViewer.OnMouseWheel := @AnyMouseWheel;
MainForm.OnMouseWheel := @AnyMouseWheel;
end;

procedure TMainForm.FormDestroy(Sender: TObject);
Expand Down Expand Up @@ -251,5 +264,39 @@ procedure TMainForm.OpenInBrowser;
end;
end;

// new methods for zooming

procedure TMainForm.ApplyZoomDelta(Delta: Integer);
var
NewSize: Integer;
begin
NewSize := SE_MarkDown.Font.Size + Delta;
NewSize := Max(8, Min(NewSize, 40));

// Left panes (SynEdit)
SE_MarkDown.Font.Size := NewSize;
SE_HTML.Font.Size := NewSize;

// Right pane (THtmlViewer)
HtmlViewer.DefFontSize := NewSize;

// force re-render
HtmlViewer.LoadFromString(CSSDecoration + SE_HTML.Text);
end;

procedure TMainForm.AnyMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
if not (ssCtrl in Shift) then Exit;

Handled := True; // block default scrolling when Ctrl is pressed

if WheelDelta > 0 then
ApplyZoomDelta(+2) // same step as your baseeditform
else if WheelDelta < 0 then
ApplyZoomDelta(-2);
end;


end.

15 changes: 9 additions & 6 deletions demos/MarkDownMemoTest/MarkDownMemoTest.lpi
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<Version Value="12"/>
<General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="MarkDownMemoTest"/>
<Scaled Value="True"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
Expand All @@ -19,7 +20,6 @@
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>
Expand Down Expand Up @@ -47,18 +47,21 @@
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="$Env(PRJOUT)/$NameOnly($(ProjFile))/MarkDownMemoTest"/>
<Filename Value="MarkDownMemoTest"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="$Env(Temp)/lazarus/lib/$(TargetCPU)-$(TargetOS)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
Expand Down
10 changes: 5 additions & 5 deletions demos/MarkDownMemoTest/mainformu.lfm
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
object MainForm: TMainForm
Left = 226
Left = 1627
Height = 528
Top = 258
Top = 243
Width = 629
Caption = 'MainForm'
ClientHeight = 528
ClientWidth = 629
Position = poScreenCenter
LCLVersion = '4.2.0.0'
OnCreate = FormCreate
OnDestroy = FormDestroy
Position = poScreenCenter
LCLVersion = '2.0.7.0'
object PairSplitter1: TPairSplitter
Left = 0
Height = 528
Expand All @@ -32,8 +32,8 @@ object MainForm: TMainForm
Width = 300
Align = alClient
Anchors = [akTop, akBottom]
OnChange = Memo1Change
TabOrder = 0
OnChange = Memo1Change
end
object Label1: TLabel
Left = 0
Expand Down