/// <summary> /// 画线按钮Click事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbDraw_Click(object sender, EventArgs e) { this.frontPicture.Controls.Clear(); this.frontPicture.Cursor = Cursors.Default; this.tbSelect.Checked = this.tbText.Checked = this.tbEraze.Checked = false; this.editingMode = InkOverlayEditingMode.Ink; }
/* Sets the editing mode to any of the three, * selection, pen, or eraser. Also initializes the * selection strokes. */ private void setEditingMode(InkOverlayEditingMode em) { if (inkOverlay.EditingMode == em) { return; } inkOverlay.Selection = inkOverlay.Ink.CreateStrokes(); inkOverlay.EditingMode = em; }
/// <summary> /// 擦除按钮Click事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbEraze_Click(object sender, EventArgs e) { this.frontPicture.Controls.Clear(); this.tbDraw.Checked = this.tbSelect.Checked = this.tbText.Checked = false; this.eraserMode = InkOverlayEraserMode.PointErase; this.editingMode = InkOverlayEditingMode.Delete; this.frontPicture.Cursor = new Cursor(this.GetType(), "CursorErase.cur"); }
/// <summary> /// 文字按钮Click事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbText_Click(object sender, EventArgs e) { this.frontPicture.Controls.Clear(); this.tbDraw.Checked = this.tbSelect.Checked = this.tbEraze.Checked = false; //this.eraserMode = InkOverlayEraserMode.StrokeErase; this.frontPicture.Cursor = Cursors.IBeam; this.editingMode = InkOverlayEditingMode.Text; }
/// <summary> /// 选择按钮Click事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbSelect_Click(object sender, EventArgs e) { this.frontPicture.Enabled = true; this.frontPicture.Controls.Clear(); this.frontPicture.Cursor = Cursors.Cross; this.tbDraw.Checked = this.tbDelete.Checked = this.tbEraze.Checked = false; this.editingMode = InkOverlayEditingMode.Select; }
/// <summary> /// 选择按钮Click事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbSelect_Click(object sender, EventArgs e) { this.frontPicture.Controls.Clear(); this.frontPicture.Cursor = Cursors.Cross; this.tbDraw.Checked = this.tbText.Checked = this.tbEraze.Checked = false; this.editingMode = InkOverlayEditingMode.Select; this.cboPage.Focus(); }
/// <summary> /// UpdateEditMode is a helper method to switch the InkPicture's /// editing mode and update the form accordingly. /// </summary> /// <param name="mode">The new editing mode</param> private void UpdateEditMode(InkOverlayEditingMode mode) { // Ink collection must be disabled before modifying the edit mode inkPicture1.InkEnabled = false; inkPicture1.EditingMode = mode; inkPicture1.InkEnabled = true; // Update the menu UI to the new state miPen.Checked = InkOverlayEditingMode.Ink == mode; miEdit.Checked = InkOverlayEditingMode.Select == mode; miEraser.Checked = InkOverlayEditingMode.Delete == mode; }
private void toolStripSelecao_Click(object sender, EventArgs e) { inkOverlay.Enabled = false; toolStripSelecao.Checked = true; toolStripCaneta.Checked = false; toolStripBorracha.Checked = false; if ((!inkOverlay.CollectingInk)) { inkOverlay.EditingMode = InkOverlayEditingMode.Select; inkModeSaved = InkOverlayEditingMode.Select; } inkOverlay.Enabled = true; }
private void SetEditingMode(InkOverlayEditingMode em, bool @explicit) { if (inkoverlay.EditingMode == em) { return; } if (em == InkOverlayEditingMode.Delete) { inkoverlay.Selection = EmptyStrokes; } inkoverlay.EditingMode = em; if (@explicit) { declaredmode = em; } }
/// <summary> /// UpdateEditMode is a helper method to switch the InkPicture's /// editing mode and update the form accordingly. /// </summary> /// <param name="mode">The new editing mode</param> private void UpdateEditMode(InkOverlayEditingMode mode) { if (!inkPicture1.CollectingInk) { // Ink collection must be disabled before modifying the edit mode inkPicture1.InkEnabled = false; inkPicture1.EditingMode = mode; inkPicture1.InkEnabled = true; // Update the menu UI to the new state miPen.Checked = InkOverlayEditingMode.Ink == mode; miEdit.Checked = InkOverlayEditingMode.Select == mode; miEraser.Checked = InkOverlayEditingMode.Delete == mode; } else { // If user is actively inking, we cannot switch modes. MessageBox.Show("Cannot switch the editing mode while collecting ink."); } }
/* Sets the editing mode to any of the three, * selection, pen, or eraser. Also initializes the * selection strokes. */ private void setEditingMode(InkOverlayEditingMode em) { if(inkOverlay.EditingMode == em) return; inkOverlay.Selection = inkOverlay.Ink.CreateStrokes(); inkOverlay.EditingMode = em; }
// // Initialization public MainForm() { // Required for Windows Form Designer support. InitializeComponent(); // Load our icon. this.Icon = new Icon(typeof(MainForm), "PhysicsIllustrator.ico"); // Initialize the per-item smart tag. bodytag = new PhysicsIllustrator.SmartTag.SmartTag(); bodytag.Image = Global.LoadImage("Resources.PenMenu.ico"); bodytag.Visible = false; bodytag.ContextMenu = new ContextMenu(); bodytag.ContextMenu.MenuItems.Add("Clone", new EventHandler(hover_EditCloneClicked)); bodytag.ContextMenu.MenuItems.Add("Delete", new EventHandler(hover_EditDeleteClicked)); bodytag.ContextMenu.MenuItems.Add("-"); bodytag.ContextMenu.MenuItems.Add("Straighten", new EventHandler(hover_EditStraightenClicked)); bodytag.ContextMenu.MenuItems.Add("Properties...", new EventHandler(hover_EditPropertiesClicked)); this.Controls.Add(bodytag); // Go fullscreen. Note: this works even with the taskbar set // to "keep on top of other windows". this.WindowState = System.Windows.Forms.FormWindowState.Normal; this.Bounds = Screen.PrimaryScreen.Bounds; // Declare repaint optimizations. base.SetStyle( ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.DoubleBuffer, true); // Init inkoverlay. inkoverlay = new InkOverlay(this.Handle, true); inkoverlay.CollectionMode = CollectionMode.InkOnly; // no gestures inkoverlay.AutoRedraw = false; // Dynamic rendering only; we do all the painting. DrawingAttributes da = new DrawingAttributes(); da.AntiAliased = false; inkoverlay.DefaultDrawingAttributes = da; inkoverlay.Stroke += new InkCollectorStrokeEventHandler(inkoverlay_Stroke); inkoverlay.CursorInRange += new InkCollectorCursorInRangeEventHandler(inkoverlay_CursorInRange); inkoverlay.StrokesDeleting += new InkOverlayStrokesDeletingEventHandler(inkoverlay_StrokesDeleting); inkoverlay.SelectionChanging += new InkOverlaySelectionChangingEventHandler(inkoverlay_SelectionChanging); inkoverlay.SelectionChanged += new InkOverlaySelectionChangedEventHandler(inkoverlay_SelectionChanged); inkoverlay.SelectionMoved += new InkOverlaySelectionMovedEventHandler(inkoverlay_SelectionMoved); inkoverlay.SelectionResized += new InkOverlaySelectionResizedEventHandler(inkoverlay_SelectionResized); declaredmode = inkoverlay.EditingMode; // Spin up SDI model (ink+doc). doc = new MagicDocument(); inkoverlay.Ink = doc.Ink; inkoverlay.Enabled = !DesignMode; inkoverlay.Ink.InkAdded += new StrokesEventHandler(inkoverlay_Ink_InkAdded); }
public MainForm() { // Required for Windows Form Designer support. InitializeComponent(); // Load our icon. this.Icon = new Icon(typeof(MainForm),"PhysicsIllustrator.ico"); // Initialize the per-item smart tag. bodytag = new PhysicsIllustrator.SmartTag.SmartTag(); bodytag.Image = Global.LoadImage("Resources.PenMenu.ico"); bodytag.Visible = false; bodytag.ContextMenu = new ContextMenu(); bodytag.ContextMenu.MenuItems.Add("Clone", new EventHandler(hover_EditCloneClicked)); bodytag.ContextMenu.MenuItems.Add("Delete", new EventHandler(hover_EditDeleteClicked)); bodytag.ContextMenu.MenuItems.Add("-"); bodytag.ContextMenu.MenuItems.Add("Straighten", new EventHandler(hover_EditStraightenClicked)); bodytag.ContextMenu.MenuItems.Add("Properties...", new EventHandler(hover_EditPropertiesClicked)); this.Controls.Add(bodytag); // Go fullscreen. Note: this works even with the taskbar set // to "keep on top of other windows". this.WindowState = System.Windows.Forms.FormWindowState.Normal; // this.Bounds = Screen.PrimaryScreen.Bounds; // Declare repaint optimizations. base.SetStyle( ControlStyles.UserPaint| ControlStyles.AllPaintingInWmPaint| ControlStyles.DoubleBuffer, true); // Init inkoverlay. inkoverlay = new InkOverlay(this.Handle,true); inkoverlay.CollectionMode = CollectionMode.InkOnly; // no gestures inkoverlay.AutoRedraw = false; // Dynamic rendering only; we do all the painting. DrawingAttributes da = new DrawingAttributes(); da.AntiAliased = false; inkoverlay.DefaultDrawingAttributes = da; inkoverlay.Stroke += new InkCollectorStrokeEventHandler(inkoverlay_Stroke); inkoverlay.CursorInRange += new InkCollectorCursorInRangeEventHandler(inkoverlay_CursorInRange); inkoverlay.StrokesDeleting += new InkOverlayStrokesDeletingEventHandler(inkoverlay_StrokesDeleting); inkoverlay.SelectionChanging += new InkOverlaySelectionChangingEventHandler(inkoverlay_SelectionChanging); inkoverlay.SelectionChanged += new InkOverlaySelectionChangedEventHandler(inkoverlay_SelectionChanged); inkoverlay.SelectionMoved += new InkOverlaySelectionMovedEventHandler(inkoverlay_SelectionMoved); inkoverlay.SelectionResized += new InkOverlaySelectionResizedEventHandler(inkoverlay_SelectionResized); // inkoverlay. declaredmode = inkoverlay.EditingMode; // Spin up SDI model (ink+doc). doc = new MagicDocument(); inkoverlay.Ink = doc.Ink; inkoverlay.Enabled = !DesignMode; inkoverlay.Ink.InkAdded += new StrokesEventHandler(inkoverlay_Ink_InkAdded); }
private void SetEditingMode(InkOverlayEditingMode em, bool @explicit) { if (inkoverlay.EditingMode == em) return; if (em == InkOverlayEditingMode.Delete) inkoverlay.Selection = EmptyStrokes; inkoverlay.EditingMode = em; if (@explicit) declaredmode = em; }