# PointerCaptureEventBase<T>

> Base class for pointer capture events and mouse capture events.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [EventBase\<T>](/engine/6000.7/script-reference/unityengine/uielements/eventbase1.md)
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable), [IPointerCaptureEvent](/engine/6000.7/script-reference/unityengine/uielements/ipointercaptureevent.md)

```csharp
public abstract class PointerCaptureEventBase<T> : EventBase<T>, IDisposable, IPointerCaptureEvent where T : PointerCaptureEventBase<T>, new()
```

## Remarks

Refer to the [Capture events](/engine/6000.7/manual/uitoolkits/uielements/uie-events/reference/uie-capture-events.md) manual page for more information and examples.

## Properties

| Property                                                                                                          | Description                                                                                                                                                                                                                |
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [pointerId](/engine/6000.7/script-reference/unityengine/uielements/pointercaptureeventbase1/pointerid.md)         | Identifies the pointer that sends the event.                                                                                                                                                                               |
| [relatedTarget](/engine/6000.7/script-reference/unityengine/uielements/pointercaptureeventbase1/relatedtarget.md) | For PointerCaptureEvent and MouseCaptureEvent, returns the VisualElement that loses the pointer capture, if any. For PointerCaptureOutEvent and MouseCaptureOutEvent, returns the VisualElement that captures the pointer. |

## Methods

| Method                                                                                          | Description                                       |
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [Init](/engine/6000.7/script-reference/unityengine/uielements/pointercaptureeventbase1/init.md) | Resets the event members to their initial values. |

## Static Methods

| Method                                                                                                    | Description                                                                                                                                                                                                                                    |
| --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetPooled](/engine/6000.7/script-reference/unityengine/uielements/pointercaptureeventbase1/getpooled.md) | Gets an event from the event pool and initializes it with the given values. Use this function instead of creating new events. Events obtained using this method need to be released back to the pool. You can use `Dispose()` to release them. |

## Inheritance

**Inherited Members:**

* [EventBase\<T>.SetCreateFunction(Func\<T>)](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/setcreatefunction.md)
* [EventBase\<T>.TypeId()](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/typeid.md)
* [EventBase\<T>.GetPooled()](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/getpooled.md)
* [EventBase\<T>.Dispose()](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/dispose.md)
* [EventBase\<T>.eventTypeId](/engine/6000.7/script-reference/unityengine/uielements/eventbase1/eventtypeid.md)
* [EventBase.RegisterEventType()](/engine/6000.7/script-reference/unityengine/uielements/eventbase/registereventtype.md)
* [EventBase.PreDispatch(IPanel)](/engine/6000.7/script-reference/unityengine/uielements/eventbase/predispatch.md#predispatch\(ipanel\))
* [EventBase.PostDispatch(IPanel)](/engine/6000.7/script-reference/unityengine/uielements/eventbase/postdispatch.md#postdispatch\(ipanel\))
* [EventBase.StopPropagation()](/engine/6000.7/script-reference/unityengine/uielements/eventbase/stoppropagation.md)
* [EventBase.StopImmediatePropagation()](/engine/6000.7/script-reference/unityengine/uielements/eventbase/stopimmediatepropagation.md)
* [EventBase.timestamp](/engine/6000.7/script-reference/unityengine/uielements/eventbase/timestamp.md)
* [EventBase.bubbles](/engine/6000.7/script-reference/unityengine/uielements/eventbase/bubbles.md)
* [EventBase.tricklesDown](/engine/6000.7/script-reference/unityengine/uielements/eventbase/tricklesdown.md)
* [EventBase.ignoreDisabledElements](/engine/6000.7/script-reference/unityengine/uielements/eventbase/ignoredisabledelements.md)
* [EventBase.target](/engine/6000.7/script-reference/unityengine/uielements/eventbase/target.md)
* [EventBase.isPropagationStopped](/engine/6000.7/script-reference/unityengine/uielements/eventbase/ispropagationstopped.md)
* [EventBase.isImmediatePropagationStopped](/engine/6000.7/script-reference/unityengine/uielements/eventbase/isimmediatepropagationstopped.md)
* [EventBase.propagationPhase](/engine/6000.7/script-reference/unityengine/uielements/eventbase/propagationphase.md)
* [EventBase.currentTarget](/engine/6000.7/script-reference/unityengine/uielements/eventbase/currenttarget.md)
* [EventBase.dispatch](/engine/6000.7/script-reference/unityengine/uielements/eventbase/dispatch.md)
* [EventBase.imguiEvent](/engine/6000.7/script-reference/unityengine/uielements/eventbase/imguievent.md)
* [EventBase.originalMousePosition](/engine/6000.7/script-reference/unityengine/uielements/eventbase/originalmouseposition.md)
* [EventBase.pooled](/engine/6000.7/script-reference/unityengine/uielements/eventbase/pooled.md)
