Class AbstractPainter
java.lang.Object
net.ixdarklord.folios.internal.client.paint.AbstractPainter
- All Implemented Interfaces:
GuidePainter
- Direct Known Subclasses:
ScreenPainter,WorldPainter
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordA rectangle that can be pressed, dragged or scrolled over, in page pixels.static interfaceWhere a book goes when something on a page is pressed.Nested classes/interfaces inherited from interface net.ixdarklord.folios.api.client.page.GuidePainter
GuidePainter.Drag, GuidePainter.Scroll -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final net.minecraft.client.gui.Fontprotected final AbstractPainter.Navigatorprotected final GuidePaletteprotected final GuideSession -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractPainter(GuidePalette palette, GuideSession session, AbstractPainter.Navigator navigator, float time, float pointerX, float pointerY, List<AbstractPainter.Hit> hits) -
Method Summary
Modifier and TypeMethodDescriptionvoidDraws over everything drawn so far, items included (which otherwise lie over flat things drawn after them): for a reveal's effect about an item or over a whole page.booleanaction(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).booleandrag(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.protected abstract voiddrawItem(net.minecraft.world.item.ItemStack stack, int x, int y, int argb) Draws an item, tinted byargb(white and opaque: as it is).net.minecraft.client.gui.Fontfont()booleanhovered(int x, int y, int width, int height) Whether the pointer is over a rectangle; never while the page is turning or covered.voiditem(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.voiditem(net.minecraft.world.item.ItemStack stack, int x, int y, int argb) AsGuidePainter.item(ItemStack, int, int), tinted byargb: its alpha fades the item, its colour tints it (white leaves it as it is).booleanMakes a rectangle open a link when pressed:entry:<id>,entry:<id>#<anchor>,category:<id>,http(s)://..., or a bare entry id.protected floatprotected floatpageX(float x) Where a point of the painter's own coordinates is on the page, through its moves.protected floatpageY(float y) palette()voidpop()protected abstract voidpopped()voidpush()protected abstract voidpushed()voidscale(float factor) protected abstract voidscaled(float factor) booleanscroll(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.floattime()Seconds since the book was opened: for what moves or cycles on a page.voidA tooltip of several lines: a name, then lines saying more.voidtooltip(net.minecraft.network.chat.Component text) Shows a tooltip at the pointer this frame.voidtooltip(net.minecraft.world.item.ItemStack stack) @Nullable List<net.minecraft.network.chat.Component> voidtranslate(float x, float y) protected abstract voidtranslated(float x, float y) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.ixdarklord.folios.api.client.page.GuidePainter
centeredText, fill, flat, scene, scene, scene, text, text, texture
-
Field Details
-
font
protected final net.minecraft.client.gui.Font font -
palette
-
session
-
-
Constructor Details
-
Method Details
-
font
public net.minecraft.client.gui.Font font()- Specified by:
fontin interfaceGuidePainter
-
palette
- Specified by:
palettein interfaceGuidePainter
-
time
public float time()Description copied from interface:GuidePainterSeconds since the book was opened: for what moves or cycles on a page.- Specified by:
timein interfaceGuidePainter
-
tooltipLines
-
push
public void push()- Specified by:
pushin interfaceGuidePainter
-
pop
public void pop()- Specified by:
popin interfaceGuidePainter
-
translate
public void translate(float x, float y) - Specified by:
translatein interfaceGuidePainter
-
scale
public void scale(float factor) - Specified by:
scalein interfaceGuidePainter
-
pageX
protected float pageX(float x) Where a point of the painter's own coordinates is on the page, through its moves. -
pageY
protected float pageY(float y) -
pageScale
protected float pageScale() -
pushed
protected abstract void pushed() -
popped
protected abstract void popped() -
translated
protected abstract void translated(float x, float y) -
scaled
protected abstract void scaled(float factor) -
hovered
public boolean hovered(int x, int y, int width, int height) Description copied from interface:GuidePainterWhether the pointer is over a rectangle; never while the page is turning or covered.- Specified by:
hoveredin interfaceGuidePainter
-
link
Description copied from interface:GuidePainterMakes 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:
linkin interfaceGuidePainter- Returns:
- whether it is hovered
-
action
public boolean action(int x, int y, int width, int height, @Nullable @Nullable net.minecraft.network.chat.Component tooltip, Runnable onPress) Description copied from interface:GuidePainterMakes a rectangle run something when pressed (on the client, during the press).- Specified by:
actionin interfaceGuidePainter- Parameters:
tooltip- shown while it is hovered; null for none- Returns:
- whether it is hovered
-
drag
Description copied from interface:GuidePainterMakes a rectangle draggable: held with the left button, it is told how far the pointer moves until let go.- Specified by:
dragin interfaceGuidePainter- Returns:
- whether it is hovered
-
scroll
Description copied from interface:GuidePainterMakes a rectangle take the mouse wheel while the pointer is over it, rather than the wheel turning the page.- Specified by:
scrollin interfaceGuidePainter- Returns:
- whether it is hovered
-
tooltip
Description copied from interface:GuidePainterA tooltip of several lines: a name, then lines saying more.- Specified by:
tooltipin interfaceGuidePainter
-
tooltip
public void tooltip(net.minecraft.network.chat.Component text) Description copied from interface:GuidePainterShows a tooltip at the pointer this frame.- Specified by:
tooltipin interfaceGuidePainter
-
tooltip
public void tooltip(net.minecraft.world.item.ItemStack stack) - Specified by:
tooltipin interfaceGuidePainter
-
item
public void item(net.minecraft.world.item.ItemStack stack, int x, int y) Description copied from interface:GuidePainterAn item's icon, 16 pixels square; hovering shows its tooltip, and it links to the book's entry about it, if any.- Specified by:
itemin interfaceGuidePainter
-
item
public void item(net.minecraft.world.item.ItemStack stack, int x, int y, int argb) Description copied from interface:GuidePainterAsGuidePainter.item(ItemStack, int, int), tinted byargb: 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:
itemin interfaceGuidePainter
-
drawItem
protected abstract void drawItem(net.minecraft.world.item.ItemStack stack, int x, int y, int argb) Draws an item, tinted byargb(white and opaque: as it is). -
above
Draws over everything drawn so far, items included (which otherwise lie over flat things drawn after them): for a reveal's effect about an item or over a whole page.
-