public override void InputEvent(int evId) { base.InputEvent(evId); if (evId != 4) { return; } ShowInfo(2, "Отметьте точку на окружности"); if (center == IntPtr.Zero) { center = CoreWrapper.nodeFactory(X, Y); } if (point == IntPtr.Zero) { point = CoreWrapper.nodeFactory(X, Y); } else { point = CoreWrapper.nodeFactory(X, Y); if (newLineGen != IntPtr.Zero) { CoreWrapper.detachFromBase(CurrentSession, CurrentDocument, lineId); } newLineGen = CoreWrapper.genericFactory(CoreWrapper.circleFactory(center, point), (uint)0); lineId = CoreWrapper.attachToBase(CurrentSession, CurrentDocument, newLineGen); CoreWrapper.commit(CurrentSession, CurrentDocument); FinilizeOperation(); } }
public override void InputEvent(int evId) { base.InputEvent(evId); if (evId != 4) { return; } ShowInfo(2, "Отметьте конец линии"); if (start == IntPtr.Zero) { start = CoreWrapper.nodeFactory(X, Y); } if (end == IntPtr.Zero) { end = CoreWrapper.nodeFactory(X, Y); } else { end = CoreWrapper.nodeFactory(X, Y); if (newLineGen != IntPtr.Zero) { CoreWrapper.detachFromBase(CurrentSession, CurrentDocument, lineId); } newLineGen = CoreWrapper.genericFactory(CoreWrapper.lineFactory(start, end), (uint)0); lineId = CoreWrapper.attachToBase(CurrentSession, CurrentDocument, newLineGen); CoreWrapper.commit(CurrentSession, CurrentDocument); FinilizeOperation(); } }
public override void MouseMove(double x, double y) { base.MouseMove(x, y); if (center != IntPtr.Zero) { //CoreWrapper.Destroy(end) point = CoreWrapper.nodeFactory(X, Y); if (newLineGen != IntPtr.Zero) { CoreWrapper.detachFromBase(CurrentSession, CurrentDocument, lineId); } newLineGen = CoreWrapper.genericFactory(CoreWrapper.circleFactory(center, point), (uint)0); lineId = CoreWrapper.attachToBase(CurrentSession, CurrentDocument, newLineGen); } }