enlarge initial pdf page size: address #143.

This commit is contained in:
Paddy Xu
2018-01-09 23:49:16 +02:00
parent 3be25ac28f
commit c622ed748a
2 changed files with 26 additions and 10 deletions

View File

@@ -35,13 +35,12 @@ namespace QuickLook.Plugin.PDFViewer
/// </summary> /// </summary>
public partial class PdfViewerControl : UserControl, INotifyPropertyChanged, IDisposable public partial class PdfViewerControl : UserControl, INotifyPropertyChanged, IDisposable
{ {
private const double MinZoomFactor = 0.1d;
private const double MaxZoomFactor = 5d;
private int _changePageDeltaSum; private int _changePageDeltaSum;
private bool _initPage = true; private bool _initPage = true;
private double _maxZoomFactor = double.NaN;
private double _minZoomFactor = double.NaN;
private bool _pdfLoaded; private bool _pdfLoaded;
private double _viewRenderFactor = 0.5d; private double _viewRenderFactor = double.NaN;
public PdfViewerControl() public PdfViewerControl()
{ {
@@ -159,7 +158,17 @@ namespace QuickLook.Plugin.PDFViewer
var pos = pagePanel.GetScrollPosition(); var pos = pagePanel.GetScrollPosition();
double factor; double factor;
if (pagePanel.ZoomToFit)
// First time showing. Set thresholds here.
if (double.IsNaN(_minZoomFactor) || double.IsNaN(_maxZoomFactor))
{
factor = Math.Min(pagePanel.ActualHeight / PdfHandle.Pages[CurrentPage].Height,
pagePanel.ActualWidth / PdfHandle.Pages[CurrentPage].Width);
_viewRenderFactor = factor;
_minZoomFactor = 0.1 * factor;
_maxZoomFactor = 5 * factor;
}
else if (pagePanel.ZoomToFit)
{ {
factor = Math.Min(pagePanel.ActualHeight / PdfHandle.Pages[CurrentPage].Height, factor = Math.Min(pagePanel.ActualHeight / PdfHandle.Pages[CurrentPage].Height,
pagePanel.ActualWidth / PdfHandle.Pages[CurrentPage].Width); pagePanel.ActualWidth / PdfHandle.Pages[CurrentPage].Width);
@@ -167,10 +176,10 @@ namespace QuickLook.Plugin.PDFViewer
else else
{ {
factor = pagePanel.ZoomFactor * _viewRenderFactor; factor = pagePanel.ZoomFactor * _viewRenderFactor;
factor = Math.Max(factor, MinZoomFactor); factor = Math.Max(factor, _minZoomFactor);
factor = Math.Min(factor, MaxZoomFactor); factor = Math.Min(factor, _maxZoomFactor);
pagePanel.MinZoomFactor = MinZoomFactor / factor; pagePanel.MinZoomFactor = _minZoomFactor / factor;
pagePanel.MaxZoomFactor = MaxZoomFactor / factor; pagePanel.MaxZoomFactor = _maxZoomFactor / factor;
} }
var image = PdfHandle.Pages[CurrentPage].Render(factor); var image = PdfHandle.Pages[CurrentPage].Render(factor);
@@ -221,7 +230,8 @@ namespace QuickLook.Plugin.PDFViewer
tempHandle.Close(); tempHandle.Close();
} }
return size;
return new Size(size.Width * 3, size.Height * 3);
} }
public void LoadPdf(string path) public void LoadPdf(string path)

View File

@@ -17,6 +17,7 @@
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_AUTO_PROPERTY/@EntryValue">0</s:Int64> <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_AUTO_PROPERTY/@EntryValue">0</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_FIELD/@EntryValue">0</s:Int64> <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_FIELD/@EntryValue">0</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_PROPERTY/@EntryValue">0</s:Int64> <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_PROPERTY/@EntryValue">0</s:Int64>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ACCESSORHOLDER_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
<s:String x:Key="/Default/CodeStyle/FileHeader/FileHeaderRegionName/@EntryValue"></s:String> <s:String x:Key="/Default/CodeStyle/FileHeader/FileHeaderRegionName/@EntryValue"></s:String>
<s:String x:Key="/Default/CodeStyle/FileHeader/FileHeaderText/@EntryValue">Copyright © $CURRENT_YEAR$ $USER_NAME$&#xD; <s:String x:Key="/Default/CodeStyle/FileHeader/FileHeaderText/@EntryValue">Copyright © $CURRENT_YEAR$ $USER_NAME$&#xD;
&#xD; &#xD;
@@ -39,7 +40,12 @@ along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.&#xD;
<s:Boolean x:Key="/Default/Environment/ExternalSources/Decompiler/DecompileMethodBodies/@EntryValue">False</s:Boolean> <s:Boolean x:Key="/Default/Environment/ExternalSources/Decompiler/DecompileMethodBodies/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/Feedback/ShouldPrompt/@EntryValue">False</s:Boolean> <s:Boolean x:Key="/Default/Environment/Feedback/ShouldPrompt/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/Environment/Hierarchy/PsiConfigurationSettingsKey/CustomLocation/@EntryValue">C:\Users\Paddy\AppData\Local\JetBrains\Transient\ReSharperPlatformVs15\v08_4c97e4a7\SolutionCaches</s:String> <s:String x:Key="/Default/Environment/Hierarchy/PsiConfigurationSettingsKey/CustomLocation/@EntryValue">C:\Users\Paddy\AppData\Local\JetBrains\Transient\ReSharperPlatformVs15\v08_4c97e4a7\SolutionCaches</s:String>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean> <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean> <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean> <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean>
<s:String x:Key="/Default/Environment/UpdatesManger/LastUpdateCheck/@EntryValue">04/11/2017 18:22:55</s:String> <s:String x:Key="/Default/Environment/UpdatesManger/LastUpdateCheck/@EntryValue">04/11/2017 18:22:55</s:String>