Package icyllis.arc3d.granite

# Class DrawTask

java.lang.Object
icyllis.arc3d.core.RefCnt
icyllis.arc3d.engine.task.Task
icyllis.arc3d.granite.DrawTask

All Implemented Interfaces:
  `RefCounted`

public final class DrawTask extends Task

- ## Field Summary

  ### Fields inherited from class icyllis.arc3d.engine.task.Task

  `RESULT_DISCARD, RESULT_FAILURE, RESULT_SUCCESS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DrawTask(ImageViewProxy targetView, TaskList childTasks)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `deallocate()`
  Cleanup resources.
  `int`
  `execute(ImmediateContext context, CommandBuffer commandBuffer)`
  Add commands to command buffer on `ImmediateContext`.
  `int`
  `prepare(RecordingContext context)`
  Prepare resources on `RecordingContext` using its `ResourceProvider`.

  ### Methods inherited from class icyllis.arc3d.core.RefCnt

  `create, create, getRefCnt, getRefCntAcquire, getRefCntVolatile, move, move, ref, unique, unref`

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

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

- ## Constructor Details

  - ### DrawTask

    public DrawTask(ImageViewProxy targetView, TaskList childTasks)

- ## Method Details

  - ### deallocate

    protected void deallocate()
    Description copied from class: `Task`
    Cleanup resources.
    Overrides:
      `deallocate` in class `Task`

  - ### prepare

    public int prepare(RecordingContext context)
    Description copied from class: `Task`
    Prepare resources on `RecordingContext` using its `ResourceProvider`.

    If the task is directly added to the `ImmediateContext`, then this method will not be called.

    Specified by:
      `prepare` in class `Task`

  - ### execute

    public int execute(ImmediateContext context, CommandBuffer commandBuffer)
    Description copied from class: `Task`
    Add commands to command buffer on `ImmediateContext`. The `ResourceProvider` of `ImmediateContext` can also be used to create resources.
    Specified by:
      `execute` in class `Task`