Class ScrollPanel

All Implemented Interfaces:
ContainerEventHandler, GuiEventListener, Renderable, TabOrderedElement, NarratableEntry, NarrationSupplier
Direct Known Subclasses:
ModListScreen.InfoPanel, ModMismatchDisconnectedScreen.MismatchInfoPanel

public abstract class ScrollPanel extends AbstractContainerEventHandler implements Renderable, NarratableEntry
Abstract scroll panel class.
  • Field Details

    • client

      private final Minecraft client
    • width

      protected final int width
    • height

      protected final int height
    • top

      protected final int top
    • bottom

      protected final int bottom
    • left

      protected final int left
    • scrolling

      private boolean scrolling
    • scrollDistance

      protected float scrollDistance
    • captureMouse

      protected boolean captureMouse
    • border

      protected final int border
    • barWidth

      private final int barWidth
    • barLeft

      private final int barLeft
    • barBgColor

      private final int barBgColor
    • barColor

      private final int barColor
    • barBorderColor

      private final int barBorderColor
  • Constructor Details

    • ScrollPanel

      public ScrollPanel(Minecraft client, int width, int height, int top, int left)
      Parameters:
      client - the minecraft instance this ScrollPanel should use
      width - the width
      height - the height
      top - the offset from the top (y coord)
      left - the offset from the left (x coord)
    • ScrollPanel

      public ScrollPanel(Minecraft client, int width, int height, int top, int left, int border)
      Parameters:
      client - the minecraft instance this ScrollPanel should use
      width - the width
      height - the height
      top - the offset from the top (y coord)
      left - the offset from the left (x coord)
      border - the size of the border
    • ScrollPanel

      public ScrollPanel(Minecraft client, int width, int height, int top, int left, int border, int barWidth)
      Parameters:
      client - the minecraft instance this ScrollPanel should use
      width - the width
      height - the height
      top - the offset from the top (y coord)
      left - the offset from the left (x coord)
      border - the size of the border
      barWidth - the width of the scroll bar
      bgColorFrom - the start color for the background gradient
      bgColorTo - the end color for the background gradient
    • ScrollPanel

      public ScrollPanel(Minecraft client, int width, int height, int top, int left, int border, int barWidth, int barBgColor, int barColor, int barBorderColor)
      Base constructor
      Parameters:
      client - the minecraft instance this ScrollPanel should use
      width - the width
      height - the height
      top - the offset from the top (y coord)
      left - the offset from the left (x coord)
      border - the size of the border
      barWidth - the width of the scroll bar
      barBgColor - the color for the scroll bar background
      barColor - the color for the scroll bar handle
      barBorderColor - the border color for the scroll bar handle
      bgColorFrom - the start color for the background gradient
      bgColorTo - the end color for the background gradient
  • Method Details

    • getContentHeight

      protected abstract int getContentHeight()
    • drawBackground

      protected void drawBackground(GuiGraphics guiGraphics, Tesselator tess, float partialTick)
      Draws the background of the scroll panel. This runs AFTER Scissors are enabled.
    • drawPanel

      protected abstract void drawPanel(GuiGraphics guiGraphics, int entryRight, int relativeY, Tesselator tess, int mouseX, int mouseY)
      Draw anything special on the screen. Scissor (RenderSystem.enableScissor) is enabled for anything that is rendered outside the view box. Do not mess with Scissor unless you support this.
    • clickPanel

      protected boolean clickPanel(double mouseX, double mouseY, int button)
    • getMaxScroll

      private int getMaxScroll()
    • applyScrollLimits

      private void applyScrollLimits()
    • mouseScrolled

      public boolean mouseScrolled(double p_94686_, double p_94687_, double p_94688_, double p_294830_)
      Specified by:
      mouseScrolled in interface ContainerEventHandler
      Specified by:
      mouseScrolled in interface GuiEventListener
    • getScrollAmount

      protected int getScrollAmount()
    • isMouseOver

      public boolean isMouseOver(double mouseX, double mouseY)
      Specified by:
      isMouseOver in interface GuiEventListener
    • mouseClicked

      public boolean mouseClicked(double mouseX, double mouseY, int button)
      Specified by:
      mouseClicked in interface ContainerEventHandler
      Specified by:
      mouseClicked in interface GuiEventListener
    • mouseReleased

      public boolean mouseReleased(double mouseX, double mouseY, int button)
      Specified by:
      mouseReleased in interface ContainerEventHandler
      Specified by:
      mouseReleased in interface GuiEventListener
    • getBarHeight

      private int getBarHeight()
    • mouseDragged

      public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY)
      Specified by:
      mouseDragged in interface ContainerEventHandler
      Specified by:
      mouseDragged in interface GuiEventListener
    • render

      public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick)
      Specified by:
      render in interface Renderable
    • drawGradientRect

      protected void drawGradientRect(GuiGraphics guiGraphics, int left, int top, int right, int bottom, int color1, int color2)
    • children

      public List<? extends GuiEventListener> children()
      Specified by:
      children in interface ContainerEventHandler