Interface PaintCustomPaletteColorFunc

All Superinterfaces:
FunctionPointer
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @Generated("org.javagi.JavaGI") public interface PaintCustomPaletteColorFunc extends FunctionPointer

Functional interface declaration of the PaintCustomPaletteColorFunc callback.

See Also:
  • Method Details

    • run

      Bool run(PaintFuncs funcs, @Nullable MemorySegment paintData, int colorIndex, Color color)

      A virtual method for the hb_paint_funcs_t to fetch a color from the custom color palette.

      Custom palette colors override the colors from the fonts selected color palette. It is not necessary to override all palette entries; for entries that should be taken from the font palette, return false.

      This function might get called multiple times, but the custom palette is expected to remain unchanged for duration of a hb_font_paint_glyph() call.

      Parameters:
      funcs - paint functions object
      paintData - The data accompanying the paint functions in hb_font_paint_glyph()
      colorIndex - the color index
      color - fetched color
      Returns:
      true if found, false otherwise
      Since:
      7.0.0
    • upcall

      default int upcall(MemorySegment funcs, MemorySegment paintData, int colorIndex, MemorySegment color, MemorySegment userData)
      The upcall method is called from native code. The parameters are marshaled and run(PaintFuncs, MemorySegment, int, Color) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, MemorySegment, int, MemorySegment, MemorySegment) method.
      Specified by:
      toCallback in interface FunctionPointer
      Parameters:
      arena - the arena in which the function pointer is allocated
      Returns:
      the native function pointer