using System; using UnityEngine; using UnityEngine.UIElements; namespace UnityEditor.ShaderGraph.Drawing { internal sealed class MasterPreviewManipulator : ContextualMenuManipulator { internal MasterPreviewManipulator(Action menuBuilder) : base(menuBuilder) { } protected override void RegisterCallbacksOnTarget() { base.RegisterCallbacksOnTarget(); if (IsOSXContextualMenuPlatform()) { target.RegisterCallback(MasterPointerDownEventOSX); } } protected override void UnregisterCallbacksFromTarget() { base.UnregisterCallbacksFromTarget(); if (IsOSXContextualMenuPlatform()) { target.UnregisterCallback(MasterPointerDownEventOSX); } } void MasterPointerDownEventOSX(IPointerEvent evt) { if (CanStartManipulation(evt)) { (evt as EventBase)?.StopImmediatePropagation(); } } } }