mirror of
https://github.com/QL-Win/QuickLook.git
synced 2025-09-12 18:39:45 +00:00
Make use of scroll bars in ScrollViewer
This commit is contained in:
@@ -45,8 +45,8 @@ namespace QuickLook.Plugin.ImageViewer
|
|||||||
|
|
||||||
viewPanel.PreviewMouseWheel += ViewPanel_PreviewMouseWheel;
|
viewPanel.PreviewMouseWheel += ViewPanel_PreviewMouseWheel;
|
||||||
|
|
||||||
viewPanel.PreviewMouseLeftButtonDown += ViewPanel_PreviewMouseLeftButtonDown;
|
viewPanel.MouseLeftButtonDown += ViewPanel_MouseLeftButtonDown;
|
||||||
viewPanel.PreviewMouseMove += ViewPanel_PreviewMouseMove;
|
viewPanel.MouseMove += ViewPanel_MouseMove;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadImage(string path)
|
private void LoadImage(string path)
|
||||||
@@ -68,21 +68,25 @@ namespace QuickLook.Plugin.ImageViewer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ViewPanel_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
private void ViewPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
||||||
{
|
{
|
||||||
|
e.MouseDevice.Capture(viewPanel);
|
||||||
|
|
||||||
_dragInitPos = e.GetPosition(viewPanel);
|
_dragInitPos = e.GetPosition(viewPanel);
|
||||||
var temp = _dragInitPos.Value; // Point is a type value
|
var temp = _dragInitPos.Value; // Point is a type value
|
||||||
temp.Offset(viewPanel.HorizontalOffset, viewPanel.VerticalOffset);
|
temp.Offset(viewPanel.HorizontalOffset, viewPanel.VerticalOffset);
|
||||||
_dragInitPos = temp;
|
_dragInitPos = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ViewPanel_PreviewMouseMove(object sender, MouseEventArgs e)
|
private void ViewPanel_MouseMove(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (!_dragInitPos.HasValue)
|
if (!_dragInitPos.HasValue)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (e.LeftButton == MouseButtonState.Released)
|
if (e.LeftButton == MouseButtonState.Released)
|
||||||
{
|
{
|
||||||
|
e.MouseDevice.Capture(null);
|
||||||
|
|
||||||
_dragInitPos = null;
|
_dragInitPos = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -250,8 +250,8 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
pageViewPanel.PreviewMouseWheel += NavigatePage;
|
pageViewPanel.PreviewMouseWheel += NavigatePage;
|
||||||
StartMouseWhellDelayedZoomMonitor(pageViewPanel);
|
StartMouseWhellDelayedZoomMonitor(pageViewPanel);
|
||||||
|
|
||||||
pageViewPanel.PreviewMouseLeftButtonDown += DragScrollStart;
|
pageViewPanel.MouseLeftButtonDown += DragScrollStart;
|
||||||
pageViewPanel.PreviewMouseMove += DragScrolling;
|
pageViewPanel.MouseMove += DragScrolling;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DragScrolling(object sender, MouseEventArgs e)
|
private void DragScrolling(object sender, MouseEventArgs e)
|
||||||
@@ -261,6 +261,8 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
|
|
||||||
if (e.LeftButton == MouseButtonState.Released)
|
if (e.LeftButton == MouseButtonState.Released)
|
||||||
{
|
{
|
||||||
|
e.MouseDevice.Capture(null);
|
||||||
|
|
||||||
_dragInitPos = null;
|
_dragInitPos = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -275,6 +277,8 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
|
|
||||||
private void DragScrollStart(object sender, MouseButtonEventArgs e)
|
private void DragScrollStart(object sender, MouseButtonEventArgs e)
|
||||||
{
|
{
|
||||||
|
e.MouseDevice.Capture(pageViewPanel);
|
||||||
|
|
||||||
_dragInitPos = e.GetPosition(pageViewPanel);
|
_dragInitPos = e.GetPosition(pageViewPanel);
|
||||||
var temp = _dragInitPos.Value; // Point is a type value
|
var temp = _dragInitPos.Value; // Point is a type value
|
||||||
temp.Offset(pageViewPanel.HorizontalOffset, pageViewPanel.VerticalOffset);
|
temp.Offset(pageViewPanel.HorizontalOffset, pageViewPanel.VerticalOffset);
|
||||||
|
Reference in New Issue
Block a user