Package icyllis.arc3d.engine

# Class SurfaceProxy.LazyCallbackResult

java.lang.Object
icyllis.arc3d.engine.SurfaceProxy.LazyCallbackResult

Enclosing class:
  `SurfaceProxy`

public static class SurfaceProxy.LazyCallbackResult extends Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `boolean`
  `mReleaseCallback`
  Should the callback be disposed of after it has returned or preserved until the surface is freed.
  `@SharedPtr GpuSurface`
  `mSurface`
  `boolean`
  `mSyncTargetKey`
  Some lazy callbacks want to set their own (or no key) on the `Image` they return.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LazyCallbackResult()`
  `LazyCallbackResult(@SharedPtr GpuSurface surface)`
  `LazyCallbackResult(@SharedPtr GpuSurface surface, boolean syncTargetKey, boolean releaseCallback)`

- ## Method Summary

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### mSurface

    @SharedPtr public @SharedPtr GpuSurface mSurface

  - ### mSyncTargetKey

    public boolean mSyncTargetKey
    Some lazy callbacks want to set their own (or no key) on the `Image` they return. Others want the `Image`'s key to be kept in sync with the surface's key. This flag controls the key relationship between proxies and their targets.
    - False: Don't key the `Image` with the surface's key. The lazy instantiation callback is free to return a `Image` that already has a unique key unrelated to the surface's key.
    - True: Keep the `Image`'s unique key in sync with the surface's unique key. The `Image` returned from the lazy instantiation callback must not have a unique key or have the same same unique key as the surface. If the surface is later assigned a key it is in turn assigned to the `Image`.

  - ### mReleaseCallback

    public boolean mReleaseCallback
    Should the callback be disposed of after it has returned or preserved until the surface is freed. Only honored if 'mSurface' is not-null. If it is null the callback is preserved.

- ## Constructor Details

  - ### LazyCallbackResult

    public LazyCallbackResult()

  - ### LazyCallbackResult

    public LazyCallbackResult(@SharedPtr @SharedPtr GpuSurface surface)

  - ### LazyCallbackResult

    public LazyCallbackResult(@SharedPtr @SharedPtr GpuSurface surface, boolean syncTargetKey, boolean releaseCallback)