Class RevealPainter

java.lang.Object
net.ixdarklord.folios.internal.client.paint.RevealPainter
All Implemented Interfaces:
GuidePainter

public final class RevealPainter extends Object implements GuidePainter
  • Nested Class Summary

    Nested classes/interfaces inherited from interface GuidePainter

    GuidePainter.Drag, GuidePainter.Scroll
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    action(int x, int y, int width, int height, @Nullable net.minecraft.network.chat.Component tooltip, Runnable onPress)
    Makes a rectangle run something when pressed (on the client, during the press).
    boolean
    drag(int x, int y, int width, int height, GuidePainter.Drag drag)
    Makes a rectangle draggable: held with the left button, it is told how far the pointer moves until let go.
    static void
    draw(GuidePainter painter, GuidePage.Laid page, @Nullable GuideReveal effect, float progress, float pageX)
    Draws a page's content as it is at this point of its reveal, then what the effect draws over it.
    void
    fill(int x0, int y0, int x1, int y1, int argb)
     
    boolean
    Whether the page is on a screen (true), or on a book in the world (false).
    net.minecraft.client.gui.Font
     
    boolean
    hovered(int x, int y, int width, int height)
    Whether the pointer is over a rectangle; never while the page is turning or covered.
    void
    item(net.minecraft.world.item.ItemStack stack, int x, int y)
    An item's icon, 16 pixels square; hovering shows its tooltip, and it links to the book's entry about it, if any.
    void
    item(net.minecraft.world.item.ItemStack stack, int x, int y, int argb)
    As GuidePainter.item(ItemStack, int, int), tinted by argb: its alpha fades the item, its colour tints it (white leaves it as it is).
    boolean
    link(int x, int y, int width, int height, String target)
    Makes a rectangle open a link when pressed: entry:<id>, entry:<id>#<anchor>, category:<id>, http(s)://..., or a bare entry id.
    of(GuidePainter painter, @Nullable GuideReveal effect, float progress, float pageX)
    The painter to draw a page's content through at this point of its reveal: the page's own once it is done.
     
    void
    pop()
     
    void
     
    void
    scale(float factor)
     
    void
    scene(net.ixdarklord.coolcatcanvas.api.client.viewport.SceneViewport viewport, int x, int y, int width, int height)
    A scene's picture; the painter keeps it in use while it is drawn.
    void
    scene(net.ixdarklord.coolcatcanvas.api.client.viewport.SceneViewport viewport, int x, int y, int width, int height, float u0, float u1)
    As GuidePainter.scene(SceneViewport, int, int, int, int), showing only the part of it from u0 to u1 across (0 to 1).
    void
    scene(net.ixdarklord.coolcatcanvas.api.client.viewport.SceneViewport viewport, int x, int y, int width, int height, float u0, float v0, float u1, float v1, int argb)
    As GuidePainter.scene(SceneViewport, int, int, int, int), showing only the part of it from (u0, v0) to (u1, v1) (0 to 1, from its top left), tinted by argb: its alpha fades the picture.
    boolean
    scroll(int x, int y, int width, int height, GuidePainter.Scroll scroll)
    Makes a rectangle take the mouse wheel while the pointer is over it, rather than the wheel turning the page.
    void
    text(net.minecraft.util.FormattedCharSequence text, int x, int y, int argb)
     
    void
    texture(net.minecraft.resources.Identifier texture, int x, int y, int width, int height, float u0, float v0, float u1, float v1, int argb)
    A part of a texture, from its (u0, v0) to its (u1, v1), each 0 to 1, tinted by argb.
    float
    Seconds since the book was opened: for what moves or cycles on a page.
    void
    tooltip(List<net.minecraft.network.chat.Component> lines)
    A tooltip of several lines: a name, then lines saying more.
    void
    tooltip(net.minecraft.network.chat.Component text)
    Shows a tooltip at the pointer this frame.
    void
    tooltip(net.minecraft.world.item.ItemStack stack)
     
    void
    translate(float x, float y)
     

    Methods inherited from class Object

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

    Methods inherited from interface GuidePainter

    centeredText, text
  • Method Details

    • draw

      public static void draw(GuidePainter painter, GuidePage.Laid page, @Nullable GuideReveal effect, float progress, float pageX)
      Draws a page's content as it is at this point of its reveal, then what the effect draws over it.
      Parameters:
      pageX - where the page starts across the open spread: 0 for the left page, a page's width for the right
    • of

      public static GuidePainter of(GuidePainter painter, @Nullable GuideReveal effect, float progress, float pageX)
      The painter to draw a page's content through at this point of its reveal: the page's own once it is done.
    • fill

      public void fill(int x0, int y0, int x1, int y1, int argb)
      Specified by:
      fill in interface GuidePainter
    • text

      public void text(net.minecraft.util.FormattedCharSequence text, int x, int y, int argb)
      Specified by:
      text in interface GuidePainter
    • texture

      public void texture(net.minecraft.resources.Identifier texture, int x, int y, int width, int height, float u0, float v0, float u1, float v1, int argb)
      Description copied from interface: GuidePainter
      A part of a texture, from its (u0, v0) to its (u1, v1), each 0 to 1, tinted by argb.
      Specified by:
      texture in interface GuidePainter
    • item

      public void item(net.minecraft.world.item.ItemStack stack, int x, int y)
      Description copied from interface: GuidePainter
      An item's icon, 16 pixels square; hovering shows its tooltip, and it links to the book's entry about it, if any.
      Specified by:
      item in interface GuidePainter
    • item

      public void item(net.minecraft.world.item.ItemStack stack, int x, int y, int argb)
      Description copied from interface: GuidePainter
      As GuidePainter.item(ItemStack, int, int), tinted by argb: its alpha fades the item, its colour tints it (white leaves it as it is). A painter that can't fade items shows it once its alpha is past half.
      Specified by:
      item in interface GuidePainter
    • scene

      public void scene(net.ixdarklord.coolcatcanvas.api.client.viewport.SceneViewport viewport, int x, int y, int width, int height)
      Description copied from interface: GuidePainter
      A scene's picture; the painter keeps it in use while it is drawn.
      Specified by:
      scene in interface GuidePainter
    • scene

      public void scene(net.ixdarklord.coolcatcanvas.api.client.viewport.SceneViewport viewport, int x, int y, int width, int height, float u0, float u1)
      Description copied from interface: GuidePainter
      As GuidePainter.scene(SceneViewport, int, int, int, int), showing only the part of it from u0 to u1 across (0 to 1).
      Specified by:
      scene in interface GuidePainter
    • scene

      public void scene(net.ixdarklord.coolcatcanvas.api.client.viewport.SceneViewport viewport, int x, int y, int width, int height, float u0, float v0, float u1, float v1, int argb)
      Description copied from interface: GuidePainter
      As GuidePainter.scene(SceneViewport, int, int, int, int), showing only the part of it from (u0, v0) to (u1, v1) (0 to 1, from its top left), tinted by argb: its alpha fades the picture.
      Specified by:
      scene in interface GuidePainter
    • push

      public void push()
      Specified by:
      push in interface GuidePainter
    • pop

      public void pop()
      Specified by:
      pop in interface GuidePainter
    • translate

      public void translate(float x, float y)
      Specified by:
      translate in interface GuidePainter
    • scale

      public void scale(float factor)
      Specified by:
      scale in interface GuidePainter
    • font

      public net.minecraft.client.gui.Font font()
      Specified by:
      font in interface GuidePainter
    • palette

      public GuidePalette palette()
      Specified by:
      palette in interface GuidePainter
    • time

      public float time()
      Description copied from interface: GuidePainter
      Seconds since the book was opened: for what moves or cycles on a page.
      Specified by:
      time in interface GuidePainter
    • flat

      public boolean flat()
      Description copied from interface: GuidePainter
      Whether the page is on a screen (true), or on a book in the world (false).
      Specified by:
      flat in interface GuidePainter
    • hovered

      public boolean hovered(int x, int y, int width, int height)
      Description copied from interface: GuidePainter
      Whether the pointer is over a rectangle; never while the page is turning or covered.
      Specified by:
      hovered in interface GuidePainter
    • link

      public boolean link(int x, int y, int width, int height, String target)
      Description copied from interface: GuidePainter
      Makes a rectangle open a link when pressed: entry:<id>, entry:<id>#<anchor>, category:<id>, http(s)://..., or a bare entry id. Hovering it shows where it goes.
      Specified by:
      link in interface GuidePainter
      Returns:
      whether it is hovered
    • action

      public boolean action(int x, int y, int width, int height, @Nullable net.minecraft.network.chat.Component tooltip, Runnable onPress)
      Description copied from interface: GuidePainter
      Makes a rectangle run something when pressed (on the client, during the press).
      Specified by:
      action in interface GuidePainter
      Parameters:
      tooltip - shown while it is hovered; null for none
      Returns:
      whether it is hovered
    • drag

      public boolean drag(int x, int y, int width, int height, GuidePainter.Drag drag)
      Description copied from interface: GuidePainter
      Makes a rectangle draggable: held with the left button, it is told how far the pointer moves until let go.
      Specified by:
      drag in interface GuidePainter
      Returns:
      whether it is hovered
    • scroll

      public boolean scroll(int x, int y, int width, int height, GuidePainter.Scroll scroll)
      Description copied from interface: GuidePainter
      Makes a rectangle take the mouse wheel while the pointer is over it, rather than the wheel turning the page.
      Specified by:
      scroll in interface GuidePainter
      Returns:
      whether it is hovered
    • tooltip

      public void tooltip(net.minecraft.network.chat.Component text)
      Description copied from interface: GuidePainter
      Shows a tooltip at the pointer this frame.
      Specified by:
      tooltip in interface GuidePainter
    • tooltip

      public void tooltip(List<net.minecraft.network.chat.Component> lines)
      Description copied from interface: GuidePainter
      A tooltip of several lines: a name, then lines saying more.
      Specified by:
      tooltip in interface GuidePainter
    • tooltip

      public void tooltip(net.minecraft.world.item.ItemStack stack)
      Specified by:
      tooltip in interface GuidePainter