コード例 #1
0
 /// <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;
 }
コード例 #2
0
 /* 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;
 }
コード例 #3
0
        /// <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");
        }
コード例 #4
0
        /// <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;
        }
コード例 #5
0
        /// <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;
        }
コード例 #6
0
        /// <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();
        }
コード例 #7
0
        /// <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;
        }
コード例 #8
0
 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;
 }
コード例 #9
0
    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;
        }
    }
コード例 #10
0
        /// <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.");
            }
        }
コード例 #11
0
ファイル: Canvas.cs プロジェクト: mdayaram/graph-animator
 /* 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;
 }
コード例 #12
0
        /// <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.");
            }
        }
コード例 #13
0
    //
    // 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);
    }
コード例 #14
0
    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);
    }
コード例 #15
0
    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;
    }