//--------------------------------------------------------------------------------------------------------- /// <summary> /// Отпускание кнопки мыши /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public override void OnMouseUp(ref Vector2Df pos, TMouseButton button) { if (button == TMouseButton.Left && mIsCreateElement) { if (!XCadManager.CanvasViewer.CreateModeIsAutoCAD) { EndCreateEllipse(ref pos); } } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Нажатие кнопки мыши (Начало создание полилинии) /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public override void OnMouseDown(ref Vector2Df pos, TMouseButton button) { // Создания полилинии if (button == TMouseButton.Left && XCadManager.Canvas != null) { if (XCadManager.CanvasViewer.CreateModeIsAutoCAD) { if (mIsCreateElement == false) { //mCurrentPolyline = XCadManager.Canvas.PresenterDocument.AddNewElement("ShapePolyline") as CCadShapePolyline; // Если была включена привязка mCurrentPolyline.CreateStartPolyline(XCadManager.CanvasViewer.SnapIsExsisting ? XCadManager.CanvasViewer.SnapPoint : pos); // Начало рисования дуги mIsCreateElement = true; XCadManager.Canvas.SetCursor(TCursor.Cross); } else { EndCreatePolyline(ref pos); } } else { //Debug.Print(mIsEnter.ToString()); if (mIsEnter == false) { // Если первая точка if (mCurrentPolyline == null) { //mCurrentPolyline = XCadManager.Canvas.PresenterDocument.AddNewElement("ShapePolyline") as CCadShapePolyline; // Если была включена привязка mCurrentPolyline.CreateStartPolyline(XCadManager.CanvasViewer.SnapIsExsisting ? XCadManager.CanvasViewer.SnapPoint : pos); mCurrentIndex = 1; // Начало рисования дуги mIsCreateElement = true; XCadManager.Canvas.SetCursor(TCursor.Cross); } else { // Добавляем точку // Если была включена привязка mCurrentPolyline.CreateAddPoint(XCadManager.CanvasViewer.SnapIsExsisting ? XCadManager.CanvasViewer.SnapPoint : pos); mCurrentIndex++; } } mIsEnter = false; } } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Перемещение мыши (Продолжение создание эллипса) /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public override void OnMouseMove(ref Vector2Df pos, TMouseButton button) { if (mIsCreateElement) { mCurrentEllipse.CreateContinueRect(ref pos); } else { // Если выключен режим привязки //if (XCadManager.CanvasViewer.SnapIsEnabled) //{ // // Перерисовываем канву // XCadManager.Canvas.Update(); //} } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Перемещение мыши (Продолжение создание полилинии) /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public override void OnMouseMove(ref Vector2Df pos, TMouseButton button) { if (mIsCreateElement) { mCurrentPolyline.CreateContinuePolyline(ref pos, mCurrentIndex); } else { // Если выключен режим привязки if (XCadManager.CanvasViewer.SnapIsEnabled) { // Перерисовываем канву //XCadManager.Canvas.Update(); } } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Нажатие кнопки мыши (Начало создание эллипса) /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public override void OnMouseDown(ref Vector2Df pos, TMouseButton button) { // Создания прямоугольника if (button == TMouseButton.Left) { if (XCadManager.CanvasViewer.CreateModeIsAutoCAD) { if (mIsCreateElement == false) { StartCreateEllipse(ref pos); } else { EndCreateEllipse(ref pos); } } else { StartCreateEllipse(ref pos); } } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Нажатие кнопки мыши (Создание таблицы) /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public override void OnMouseDown(ref Vector2Df pos, TMouseButton button) { // Создаем таблицу mCurrentTable = XCadManager.CreateShape("ShapeTable", "") as CCadShapeTable; // Если была включена привязка Vector2Df result = XCadManager.CanvasViewer.SnapIsExsisting ? XCadManager.CanvasViewer.SnapPoint : pos; mCurrentTable.Location = result; // Если есть активный документ то добавляем в него (на канву добавиться автоматически) //if (XManager.PresenterDocument != null) //{ // //XManager.PresenterDocument.AddExistingElement(mCurrentTable); //} //else //{ // XManager.Presenter.Elements.Add(mCurrentTable); //} //XCadManager.Canvas.Update(); }
public bool GetMouseButtonPressed(TMouseButton button) => _active?_inputTracker.GetMouseButtonPressed(button) : false;
public bool GetMouseButtonDown(TMouseButton button) => _active?_inputTracker.GetMouseButtonDown(button) : false;
public bool GetMouseButtonPressed(TMouseButton button) => _inputTracker.GetMouseButtonPressed(button);
public bool GetMouseButtonDown(TMouseButton button) => _inputTracker.GetMouseButtonDown(button);
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Перемещение мыши /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public override void OnMouseMove(ref Vector2Df pos, TMouseButton button) { }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Перемещение мыши /// </summary> /// <param name="pos">Позиция курсора в области канвы</param> /// <param name="button">Кнопка мыши связанная с данным событием</param> //--------------------------------------------------------------------------------------------------------- public virtual void OnMouseMove(ref Vector2Df pos, TMouseButton button) { }