Code/Internal/IStatefulEventHost.cs

Internal interface for a stateful event host in the Goo UI system. Declares methods and properties for applying blob events, tracking if pointer events were set by the user, whether any event handlers exist, and an optional RequestRebuild action that the applier can set to trigger a panel rebuild after handlers run.

using System;

namespace Goo.Internal;

internal interface IStatefulEventHost
{
    void ApplyEvents(in BlobEvents events);
    bool UserSetPointerEvents { get; set; }
    bool HasEventHandlers { get; }

    /// <summary>Set by the Applier: invoked after any user handler runs so the panel
    /// auto-rebuilds. Null when the owning GooPanel opts out (AutoRebuildOnEvents == false).</summary>
    Action? RequestRebuild { set; }
}