当前位置: 首页>>代码示例>>C#>>正文


C# IDiagramPresenter.InvalidateGrips方法代码示例

本文整理汇总了C#中IDiagramPresenter.InvalidateGrips方法的典型用法代码示例。如果您正苦于以下问题:C# IDiagramPresenter.InvalidateGrips方法的具体用法?C# IDiagramPresenter.InvalidateGrips怎么用?C# IDiagramPresenter.InvalidateGrips使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IDiagramPresenter的用法示例。


在下文中一共展示了IDiagramPresenter.InvalidateGrips方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Invalidate

		public override void Invalidate(IDiagramPresenter diagramPresenter)
		{
			if (diagramPresenter == null) throw new ArgumentNullException("diagramPresenter");
			switch (CurrentAction) {
				case Action.None:
				case Action.Select:
					if (!selectedShapeAtCursorInfo.IsEmpty) {
						selectedShapeAtCursorInfo.Shape.Invalidate();
						diagramPresenter.InvalidateGrips(selectedShapeAtCursorInfo.Shape, ControlPointCapabilities.All);
					}
					break;

				case Action.SelectWithFrame:
					diagramPresenter.DisplayService.Invalidate(frameRect);
					break;

				case Action.MoveHandle:
				case Action.MoveShape:
					if (Previews.Count > 0) {
						InvalidateShapes(diagramPresenter, Previews.Values, false);
						if (diagramPresenter.SnapToGrid) {
							Shape previewAtCursor = FindPreviewOfShape(selectedShapeAtCursorInfo.Shape);
							diagramPresenter.InvalidateSnapIndicators(previewAtCursor);
						}
						if (CurrentAction == Action.MoveHandle && selectedShapeAtCursorInfo.IsCursorAtGluePoint)
							InvalidateConnectionTargets(diagramPresenter, CurrentMouseState.X, CurrentMouseState.Y);
					}
					break;

				case Action.ConnectShapes:
					if (currentConnectionLine != null)
						currentConnectionLine.Invalidate();
					break;

				default:
					throw new NShapeUnsupportedValueException(typeof (MenuItemDef), CurrentAction);
			}
		}
开发者ID:stewmc,项目名称:vixen,代码行数:38,代码来源:ConfigFiltersAndPatching-Tools.cs

示例2: InvalidateConnectionTargets

		/// <summary>
		/// Invalidates all connection targets in range.
		/// </summary>
		protected void InvalidateConnectionTargets(IDiagramPresenter diagramPresenter, int currentPosX, int currentPosY) {
			// invalidate selectedShapes in last range
			diagramPresenter.InvalidateGrips(shapesInRange, ControlPointCapabilities.Connect);

			if (Geometry.IsValid(currentPosX, currentPosY)) {
				ShapeAtCursorInfo shapeAtCursor = FindConnectionTargetFromPosition(diagramPresenter, currentPosX, currentPosY, false, true);
				if (!shapeAtCursor.IsEmpty) shapeAtCursor.Shape.Invalidate();

				// invalidate selectedShapes in current range
				shapesInRange.Clear();
				shapesInRange.AddRange(FindVisibleShapes(diagramPresenter, currentPosX, currentPosY, ControlPointCapabilities.Connect, pointHighlightRange));
				if (shapesInRange.Count > 0)
					diagramPresenter.InvalidateGrips(shapesInRange, ControlPointCapabilities.Connect);
			}
		}
开发者ID:jestonitiro,项目名称:nshape,代码行数:18,代码来源:Tool.cs

示例3: DoInvalidateShape

		private void DoInvalidateShape(IDiagramPresenter diagramPresenter, Shape shape, bool invalidateGrips)
		{
			if (shape.Parent != null)
				DoInvalidateShape(diagramPresenter, shape.Parent, false);
			else {
				shape.Invalidate();
				if (invalidateGrips)
					diagramPresenter.InvalidateGrips(shape, ControlPointCapabilities.All);
			}
		}
开发者ID:stewmc,项目名称:vixen,代码行数:10,代码来源:ConfigFiltersAndPatching-Tools.cs

示例4: Invalidate

		/// <override></override>
		public override void Invalidate(IDiagramPresenter diagramPresenter) {
			if (diagramPresenter == null) throw new ArgumentNullException("diagramPresenter");
			if (PreviewShape != null) {
				diagramPresenter.InvalidateGrips(PreviewShape, ControlPointCapabilities.All);
				Point p = PreviewShape.GetControlPointPosition(ControlPointId.LastVertex);
				InvalidateConnectionTargets(diagramPresenter, p.X, p.Y);
			} else InvalidateConnectionTargets(diagramPresenter, CurrentMouseState.X, CurrentMouseState.Y);
		}
开发者ID:jestonitiro,项目名称:nshape,代码行数:9,代码来源:Tool.cs


注:本文中的IDiagramPresenter.InvalidateGrips方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。