Package icyllis.arc3d.granite

# Class BakedTextBlob

java.lang.Object
icyllis.arc3d.granite.BakedTextBlob

public final class BakedTextBlob extends Object
A BakedTextBlob contains a fully processed TextBlob, suitable for nearly immediate drawing on the GPU. These are initially created with valid positions and colors, but with invalid texture coordinates.

A BakedTextBlob contains a number of SubRuns that are created in the blob's arena. Each SubRun tracks its own glyph and position data.

In these classes, I'm trying to follow the convention about matrices and origins.

- drawMatrix and drawOrigin - describes transformations for the current draw command.
- positionMatrix - is equal to drawMatrix * [drawOrigin-as-translation-matrix]
- initial Matrix - describes the combined initial matrix and origin the TextBlob was created with.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BakedTextBlob(SubRunContainer subRuns)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `draw(Canvas canvas, float originX, float originY, Paint paint, GraniteDevice device)`
  `long`
  `getMemorySize()`
  `static BakedTextBlob`
  `make(GlyphRunList glyphRunList, Paint paint, Matrixc positionMatrix, StrikeCache strikeCache)`

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

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

- ## Constructor Details

  - ### BakedTextBlob

    public BakedTextBlob(@Nonnull SubRunContainer subRuns)

- ## Method Details

  - ### make

    @Nonnull public static BakedTextBlob make(@Nonnull GlyphRunList glyphRunList, @Nonnull Paint paint, @Nonnull Matrixc positionMatrix, @Nonnull StrikeCache strikeCache)

  - ### draw

    public void draw(Canvas canvas, float originX, float originY, Paint paint, GraniteDevice device)

  - ### getMemorySize

    public long getMemorySize()