private void ClosePuppet() { if (_puppet == null) { return; } _puppetHolder.Remove(_puppet); _cursor.SetData(Clamp, ClampReset, (int)(InnerSize / 2f), (int)(Size / 2f), _radial); _puppet.OnClose(); _puppet = null; _cursor.Update(Event.current.mousePosition); }
/* * PopUp */ internal void OpenPuppet(BasePuppet puppet) { if (_puppet != null) { return; } _puppet = puppet; _puppet.OnOpen(); _puppetHolder.Add(_puppet); _puppet.style.left = _cursor.style.left; _puppet.style.top = _cursor.style.top; _cursor.SetData(20F, float.MaxValue, (int)(InnerSize / 2f), (int)(Size / 2f), _puppet); _cursor.Update(ExternalPosition()); _puppet.AfterCursor(); }