Package icyllis.modernui.graphics

# Interface CustomDrawable

@Deprecated public interface CustomDrawable
Deprecated.
Custom drawables allow to execute using the underlying 3D API rather than the Canvas API.

Since:
  3.8

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `CustomDrawable.DrawHandler`
  Deprecated.
  The engine backend is deferred so the handler will be given access to the 3D API at the correct point in the drawing stream as the engine backend flushes.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `RectF`
  `getBounds()`
  Deprecated.
  Return the (conservative) bounds of what the drawable will draw.
  `CustomDrawable.DrawHandler`
  `snapDrawHandler(int backendApi, Matrix4 viewMatrix, Rect2i clipBounds, ImageInfo targetInfo)`
  Deprecated.
  Snaps off a new `CustomDrawable.DrawHandler` to represent the state of the `CustomDrawable` at the time the snap is called.

- ## Method Details

  - ### snapDrawHandler

    CustomDrawable.DrawHandler snapDrawHandler(int backendApi, Matrix4 viewMatrix, Rect2i clipBounds, ImageInfo targetInfo)
    Deprecated.
    Snaps off a new `CustomDrawable.DrawHandler` to represent the state of the `CustomDrawable` at the time the snap is called. This is used for executing backend specific draws intermixed with Arc 3D draws. The backend API, which will be used for the draw, as well as the view matrix, device clip bounds and image info of the target buffer are passed in as inputs.
    Parameters:
      `backendApi` - see `Engine.BackendApi`
    Returns:
      a drawable for this snap call

  - ### getBounds

    RectF getBounds()
    Deprecated.
    Return the (conservative) bounds of what the drawable will draw. If the drawable can change what it draws (e.g. animation or in response to some external change), then this must return a bounds that is always valid for all possible states.