示例#1
0
        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);
        }
示例#2
0
        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();
        }
示例#3
0
        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);
        }
示例#4
0
 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);
     }
 }
示例#5
0
		private void SelectionMade(object gsObject, SelectEventArgs results)
		{
			switch (results.State)
			{
				case SelectStatus_t.CANCEL:
				case SelectStatus_t.CLOSE:
					m_selection = null;
					return;
				case SelectStatus_t.SELECT:
					/* Get the information we need */
					double zoom = results.ZoomFactor;
					Point start = results.TopLeft;
					Point size = results.Size;
					int page = results.PageNum;
					gsDevice_t Device = gsDevice_t.pdfwrite;

					start.X = start.X / zoom;
					start.Y = start.Y / zoom;
					size.X = size.X / zoom;
					size.Y = size.Y / zoom;

					/* Do the actual extraction */
					String options;
					System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
					dlg.FilterIndex = 1;

					/* Get us set up to do a fixed size */
					options = "-dFirstPage=" + page + " -dLastPage=" + page +
						" -dDEVICEWIDTHPOINTS=" + size.X + " -dDEVICEHEIGHTPOINTS=" +
						size.Y + " -dFIXEDMEDIA";

					/* Set up the translation */
					String init_string = "<</Install {-" + start.X + " -" +
						start.Y + " translate (testing) == flush}>> setpagedevice";

					switch (results.Type)
					{
						case Extract_Type_t.PDF:
							dlg.Filter = "PDF Files(*.pdf)|*.pdf";
							break;
						case Extract_Type_t.EPS:
							dlg.Filter = "EPS Files(*.eps)|*.eps";
							Device = gsDevice_t.eps2write;
							break;
						case Extract_Type_t.PS:
							dlg.Filter = "PostScript Files(*.ps)|*.ps";
							Device = gsDevice_t.ps2write;
							break;
						case Extract_Type_t.SVG:
							dlg.Filter = "SVG Files(*.svg)|*.svg";
							break;
					}
					if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
					{
						if (m_ghostscript.Convert(m_currfile, options,
							Enum.GetName(typeof(gsDevice_t), Device),
							dlg.FileName, 1, 300, false, null, page, page,
							null, init_string) == gsStatus.GS_BUSY)
						{
							ShowMessage(NotifyType_t.MESS_STATUS, "GS busy");
							return;
						}
					}
					m_selection.Close();
					break;
				case SelectStatus_t.ZOOMIN:
					/* Render new page at this resolution and hand it off */
					SelectionZoom(results.PageNum - 1, results.ZoomFactor);
					break;
				case SelectStatus_t.ZOOMOUT:
					/* Render new page at this resolution and hand it off */
					SelectionZoom(results.PageNum - 1, results.ZoomFactor);
					break;
			}
		}
示例#6
0
 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);
 }
示例#7
0
 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);
 }
示例#8
0
 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);
     }
 }
示例#9
0
 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();
 }