public AutoSizeTextBox() { m_LockPosition = LockPosition.LockTopLeft; m_BorderColor = Color.Gray; m_unchangleLocationInit = false; m_RoundFontHeight = true; m_FontHandleWhenNotRound = IntPtr.Zero; this.MinimumSize = new Size(100, 21);//源生textbox的默认尺寸 }
static void MoveN0ToTheLeft(Node n0, GeometryGraph graph, FastIncrementalLayoutSettings settings) { n0.Center += new Point(-10, 0); LockPosition lockPosition = settings.CreateLock(n0, n0.BoundingBox); settings.IncrementalRun(graph); RouteEdges(graph, settings); //LayoutAlgorithmSettings.ShowGraph(graph); settings.ClearLocks(); settings.RemoveLock(lockPosition); }
public override void Interact() { base.Interact(); if (Distance <= InterfaceWorkDistance) { if (LockPos == LockPosition.Auto) { LockPos = LockPosition.UnLock; } DoorOpenClose(); } }
private static Vector3 GetLockPosition(Camera aCam, LockPosition aHLock, LockPosition aVLock, float aPadding) { Vector3 result = Vector3.zero; Vector2 viewSize = GetViewSizeAtDistance(1, aCam); result.z = 1; aPadding = aPadding * ((1f/Screen.width) * viewSize.x); if (aHLock == LockPosition.Left ) result.x = -viewSize.x/2 + aPadding; else if (aHLock == LockPosition.Center) result.x = 0; else if (aHLock == LockPosition.Right ) result.x = viewSize.x/2 - aPadding; if (aVLock == LockPosition.Left ) result.y = viewSize.y/2 - aPadding; else if (aVLock == LockPosition.Center) result.y = 0; else if (aVLock == LockPosition.Right ) result.y = -viewSize.y/2 + aPadding; return result; }
public override void OnInspectorGUI() { DrawDefaultInspector(); LockPosition lp = (LockPosition)target; if (Application.isPlaying) { return; } if (lp.doLock) { lp.Lock(); } else { lp.SetLockPosition(); } }
private static Vector3 GetLockPosition(Camera aCam, LockPosition aHLock, LockPosition aVLock, float aPadding) { Vector3 result = Vector3.zero; Vector2 viewSize = GetViewSizeAtDistance(1, aCam); result.z = 1; aPadding = aPadding * ((1f / Screen.width) * viewSize.x); if (aHLock == LockPosition.Left) { result.x = -viewSize.x / 2 + aPadding; } else if (aHLock == LockPosition.Center) { result.x = 0; } else if (aHLock == LockPosition.Right) { result.x = viewSize.x / 2 - aPadding; } if (aVLock == LockPosition.Left) { result.y = viewSize.y / 2 - aPadding; } else if (aVLock == LockPosition.Center) { result.y = 0; } else if (aVLock == LockPosition.Right) { result.y = -viewSize.y / 2 + aPadding; } return(result); }
public void RemoveLock(LockPosition lockPosition) { ValidateArg.IsNotNull(lockPosition, "lockPosition"); if (lockPosition.listNode != null) { lockPosition.RestoreNodeWeight(); try { locks.Remove(lockPosition.listNode); } catch (InvalidOperationException e) { Console.WriteLine("Problem in FastIncrementalLayoutSettings.RemoveLock "+e.Message); } lockPosition.listNode = null; } }
/// <summary> /// Add a LockPosition for each node whose position you want to keep fixed. LockPosition allows you to, /// for example, do interactive mouse dragging. /// We return the LinkedListNode which you can store together with your local Node object so that a RemoveLock operation can be performed in /// constant time. /// </summary> /// <param name="node"></param> /// <param name="bounds"></param> /// <param name="weight">stay weight of lock</param> /// <returns>LinkedListNode which you should hang on to if you want to call RemoveLock later on.</returns> public LockPosition CreateLock(Node node, Rectangle bounds, double weight) { LockPosition lp = new LockPosition(node, bounds, weight); lp.listNode = locks.AddLast(lp); return lp; }