diff options
author | Robin Watts <robin.watts@artifex.com> | 2015-04-03 12:01:49 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2015-04-06 19:31:59 +0100 |
commit | 4c9611cb3d9f18322f8e77f8ba493799d77c0a0a (patch) | |
tree | d8b8fa3450ba94391d30ab61038ee97cfbabbc6d /platform/windows/gsview/Selection.xaml.cs | |
parent | 1ed4656f99a09f38216d11275fe85bb75c0d635a (diff) | |
download | mupdf-4c9611cb3d9f18322f8e77f8ba493799d77c0a0a.tar.xz |
Remove gsview from mupdf repo.
It has its own repo now. See http://git.ghostscript.com/?p=gsview.git
Diffstat (limited to 'platform/windows/gsview/Selection.xaml.cs')
-rw-r--r-- | platform/windows/gsview/Selection.xaml.cs | 235 |
1 files changed, 0 insertions, 235 deletions
diff --git a/platform/windows/gsview/Selection.xaml.cs b/platform/windows/gsview/Selection.xaml.cs deleted file mode 100644 index 1fe76fd1..00000000 --- a/platform/windows/gsview/Selection.xaml.cs +++ /dev/null @@ -1,235 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Shapes; - -namespace gsview -{ - /// <summary> - /// Interaction logic for Selection.xaml - /// </summary> - /// - - public enum SelectStatus_t - { - OK, - CANCEL, - SELECT, - CLOSE, - ZOOMIN, - ZOOMOUT - } - - public class SelectEventArgs : EventArgs - { - Point m_topleft, m_size; - double m_zoomFactor; - SelectStatus_t m_state; - int m_page_num; - Extract_Type_t m_type; - - public Point TopLeft - { - get { return m_topleft; } - } - - public Point Size - { - get { return m_size; } - } - - public double ZoomFactor - { - get { return m_zoomFactor; } - } - - public int PageNum - { - get { return m_page_num; } - } - - public SelectStatus_t State - { - get { return m_state; } - } - - public Extract_Type_t Type - { - get { return m_type; } - } - - public SelectEventArgs(Point start, Point size, double zoom, - SelectStatus_t state, int page, Extract_Type_t type) - { - m_topleft = start; - m_size = size; - m_zoomFactor = zoom; - m_state = state; - m_page_num = page; - m_type = type; - } - } - - public partial class Selection : Window - { - private Point m_startPoint, m_topleft; - private Point m_size; - public SelectStatus_t m_curr_state; - double m_zoom; - double m_old_zoom; - int m_page_num; - private Rectangle m_rect; - Extract_Type_t m_type; - internal delegate void CallBackMain(object gsObject, SelectEventArgs info); - internal event CallBackMain UpdateMain; - - public Selection(int page, double init_zoom, Extract_Type_t type) - { - InitializeComponent(); - this.Closing += new System.ComponentModel.CancelEventHandler(WindowClosing); - m_page_num = page; - m_zoom = init_zoom; - m_curr_state = SelectStatus_t.OK; - m_type = type; - m_rect = null; - } - - void WindowClosing(object sender, System.ComponentModel.CancelEventArgs e) - { - var result = new SelectEventArgs(m_topleft, m_size, m_zoom, - SelectStatus_t.CANCEL, m_page_num, m_type); - UpdateMain(this, result); - } - - private void ClickOK(object sender, RoutedEventArgs e) - { - if (m_curr_state != SelectStatus_t.OK) - return; - if (m_rect == null) - Close(); - else - { - m_size.X = m_rect.Width; - m_size.Y = m_rect.Height; - m_topleft.Y = xaml_Image.Height - m_topleft.Y - m_size.Y; - var result = new SelectEventArgs(m_topleft, m_size, m_zoom, - SelectStatus_t.SELECT, m_page_num, m_type); - UpdateMain(this, result); - } - } - - private void ClickExit(object sender, RoutedEventArgs e) - { - var result = new SelectEventArgs(m_topleft, m_size, m_zoom, - SelectStatus_t.CANCEL, m_page_num, m_type); - UpdateMain(this, result); - Close(); - } - - private void ClickClear(object sender, RoutedEventArgs e) - { - if (m_rect != null) - { - xaml_Canvas.Children.Remove(m_rect); - m_rect = null; - } - } - - private void ZoomIn(object sender, RoutedEventArgs e) - { - if (m_curr_state != SelectStatus_t.OK || m_zoom >= Constants.ZOOM_MAX) - return; - m_old_zoom = m_zoom; - m_zoom = m_zoom + Constants.ZOOM_STEP; - if (m_zoom > Constants.ZOOM_MAX) - { - m_zoom = Constants.ZOOM_MAX; - return; - } - m_curr_state = SelectStatus_t.ZOOMIN; - var result = new SelectEventArgs(m_startPoint, m_size, m_zoom, - SelectStatus_t.ZOOMIN, m_page_num, m_type); - UpdateMain(this, result); - } - - private void ZoomOut(object sender, RoutedEventArgs e) - { - if (m_curr_state != SelectStatus_t.OK || m_zoom <= Constants.ZOOM_MIN) - return; - m_old_zoom = m_zoom; - m_zoom = m_zoom - Constants.ZOOM_STEP; - if (m_zoom < Constants.ZOOM_MIN) - { - m_zoom = Constants.ZOOM_MIN; - return; - } - m_curr_state = SelectStatus_t.ZOOMOUT; - var result = new SelectEventArgs(m_startPoint, m_size, m_zoom, - SelectStatus_t.ZOOMOUT, m_page_num, m_type); - UpdateMain(this, result); - } - - /* Called when we have had a zoom change */ - public void UpdateRect() - { - if (m_rect != null) - { - double left = Canvas.GetLeft(m_rect); - double top = Canvas.GetTop(m_rect); - Canvas.SetLeft(m_rect, left * m_zoom / m_old_zoom); - Canvas.SetTop(m_rect, top * m_zoom / m_old_zoom); - m_rect.Width = m_rect.Width * m_zoom / m_old_zoom; - m_rect.Height = m_rect.Height * m_zoom / m_old_zoom; - } - } - - private void Canvas_MouseDown(object sender, MouseButtonEventArgs e) - { - if (m_rect != null) - { - xaml_Canvas.Children.Remove(m_rect); - } - - m_startPoint = e.GetPosition(xaml_Canvas); - - m_rect = new Rectangle - { - Stroke = Brushes.Red, - StrokeThickness = 2 - }; - Canvas.SetLeft(m_rect, m_startPoint.X); - Canvas.SetTop(m_rect, m_startPoint.X); - xaml_Canvas.Children.Add(m_rect); - } - - private void Canvas_MouseMove(object sender, MouseEventArgs e) - { - if (e.LeftButton == MouseButtonState.Released || m_rect == null) - return; - - var pos = e.GetPosition(xaml_Canvas); - - var x = Math.Min(pos.X, m_startPoint.X); - var y = Math.Min(pos.Y, m_startPoint.Y); - - var w = Math.Max(pos.X, m_startPoint.X) - x; - var h = Math.Max(pos.Y, m_startPoint.Y) - y; - - m_rect.Width = w; - m_rect.Height = h; - - m_topleft.X = x; - m_topleft.Y = y; - Canvas.SetLeft(m_rect, x); - Canvas.SetTop(m_rect, y); - } - } -} |