Class TextraWindow

java.lang.Object
com.badlogic.gdx.scenes.scene2d.Actor
com.badlogic.gdx.scenes.scene2d.Group
com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup
com.badlogic.gdx.scenes.scene2d.ui.Table
com.github.tommyettinger.textra.TextraWindow
All Implemented Interfaces:
com.badlogic.gdx.scenes.scene2d.utils.Cullable, com.badlogic.gdx.scenes.scene2d.utils.Layout
Direct Known Subclasses:
TextraDialog, TypingWindow

public class TextraWindow extends com.badlogic.gdx.scenes.scene2d.ui.Table
A table that can be dragged and act as a modal window. The top padding is used as the window's title height.

The preferred size of a window is the preferred size of the title text and the children as laid out by the table. After adding children to the window, it can be convenient to call WidgetGroup.pack() to size the window to the size of the children.

  • Nested Class Summary

    Nested classes/interfaces inherited from class com.badlogic.gdx.scenes.scene2d.ui.Table

    com.badlogic.gdx.scenes.scene2d.ui.Table.Debug, com.badlogic.gdx.scenes.scene2d.ui.Table.DebugRect
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected boolean
     
    protected boolean
     
    protected int
     
    protected Font
     
    protected TextraLabel
     
    protected com.badlogic.gdx.scenes.scene2d.ui.Table
     

    Fields inherited from class com.badlogic.gdx.scenes.scene2d.ui.Table

    backgroundBottom, backgroundLeft, backgroundRight, backgroundTop, debugActorColor, debugCellColor, debugTableColor
  • Constructor Summary

    Constructors
    Constructor
    Description
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin)
     
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, boolean scaleTitleFont)
     
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont)
     
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont, boolean scaleTitleFont)
     
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName)
     
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName, boolean scaleTitleFont)
     
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName, Font replacementFont)
     
    TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName, Font replacementFont, boolean scaleTitleFont)
     
     
    TextraWindow(String title, Styles.WindowStyle style, boolean scaleTitleFont)
     
    TextraWindow(String title, Styles.WindowStyle style, Font replacementFont)
     
    TextraWindow(String title, Styles.WindowStyle style, Font replacementFont, boolean scaleTitleFont)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    draw(com.badlogic.gdx.graphics.g2d.Batch batch, float parentAlpha)
     
    protected void
    drawBackground(com.badlogic.gdx.graphics.g2d.Batch batch, float parentAlpha, float x, float y)
     
    protected void
    drawStageBackground(com.badlogic.gdx.graphics.g2d.Batch batch, float parentAlpha, float x, float y, float width, float height)
     
    float
     
    int
     
    Returns the window's style.
     
    com.badlogic.gdx.scenes.scene2d.ui.Table
     
    com.badlogic.gdx.scenes.scene2d.Actor
    hit(float x, float y, boolean touchable)
     
    boolean
     
    boolean
     
    boolean
     
    boolean
     
    void
     
    protected TextraLabel
    newLabel(String text, Font font, com.badlogic.gdx.graphics.Color color)
     
    protected TextraLabel
     
    void
    setKeepWithinStage(boolean keepWithinStage)
     
    void
    setModal(boolean isModal)
     
    void
    setMovable(boolean isMovable)
     
    void
    setResizable(boolean isResizable)
     
    void
    setResizeBorder(int resizeBorder)
     
    void
     
    void
    setStyle(Styles.WindowStyle style, boolean ignored)
     
    void
     
    void
    Does nothing unless the titleLabel used here is a TypingLabel; then, this will skip text progression ahead.

    Methods inherited from class com.badlogic.gdx.scenes.scene2d.ui.Table

    add, add, add, add, add, add, add, align, background, background, bottom, center, clearChildren, clip, clip, columnDefaults, debug, debug, debugActor, debugAll, debugCell, debugTable, defaults, drawDebug, drawDebugBounds, getAlign, getBackground, getCell, getCells, getClip, getColumnMinWidth, getColumnPrefWidth, getColumns, getColumnWidth, getMinHeight, getMinWidth, getPadBottom, getPadBottomValue, getPadLeft, getPadLeftValue, getPadRight, getPadRightValue, getPadTop, getPadTopValue, getPadX, getPadY, getPrefHeight, getRow, getRowHeight, getRowMinHeight, getRowPrefHeight, getRows, getSkin, getTableDebug, invalidate, layout, left, pad, pad, pad, pad, padBottom, padBottom, padLeft, padLeft, padRight, padRight, padTop, padTop, removeActor, removeActor, removeActorAt, reset, right, row, setBackground, setBackground, setClip, setDebug, setRound, setSkin, stack, top

    Methods inherited from class com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup

    childrenChanged, getMaxHeight, getMaxWidth, invalidateHierarchy, needsLayout, pack, setFillParent, setLayoutEnabled, sizeChanged, validate

    Methods inherited from class com.badlogic.gdx.scenes.scene2d.Group

    act, addActor, addActorAfter, addActorAt, addActorBefore, applyTransform, applyTransform, clear, clear, clearChildren, computeTransform, drawChildren, drawDebugChildren, findActor, getChild, getChildren, getCullingArea, hasChildren, isTransform, localToDescendantCoordinates, resetTransform, resetTransform, setCullingArea, setDebug, setStage, setTransform, swapActor, swapActor, toString

    Methods inherited from class com.badlogic.gdx.scenes.scene2d.Actor

    addAction, addCaptureListener, addListener, ancestorsVisible, ascendantsVisible, clearActions, clearListeners, clipBegin, clipBegin, clipEnd, fire, firstAscendant, getActions, getCaptureListeners, getColor, getDebug, getHeight, getListeners, getName, getOriginX, getOriginY, getParent, getRight, getRotation, getScaleX, getScaleY, getStage, getTop, getTouchable, getUserObject, getWidth, getX, getX, getY, getY, getZIndex, hasActions, hasKeyboardFocus, hasParent, hasScrollFocus, isAscendantOf, isDescendantOf, isTouchable, isTouchFocusListener, isTouchFocusTarget, isVisible, localToActorCoordinates, localToAscendantCoordinates, localToParentCoordinates, localToScreenCoordinates, localToStageCoordinates, moveBy, notify, parentToLocalCoordinates, positionChanged, remove, removeAction, removeCaptureListener, removeListener, rotateBy, rotationChanged, scaleBy, scaleBy, scaleChanged, screenToLocalCoordinates, setBounds, setColor, setColor, setHeight, setName, setOrigin, setOrigin, setOriginX, setOriginY, setParent, setPosition, setPosition, setRotation, setScale, setScale, setScaleX, setScaleY, setSize, setTouchable, setUserObject, setVisible, setWidth, setX, setX, setY, setY, setZIndex, sizeBy, sizeBy, stageToLocalCoordinates, toBack, toFront

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • titleLabel

      protected TextraLabel titleLabel
    • titleTable

      protected com.badlogic.gdx.scenes.scene2d.ui.Table titleTable
    • drawTitleTable

      protected boolean drawTitleTable
    • edge

      protected int edge
    • dragging

      protected boolean dragging
    • font

      protected Font font
  • Constructor Details

    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin)
    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, boolean scaleTitleFont)
    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName)
    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName, boolean scaleTitleFont)
    • TextraWindow

      public TextraWindow(String title, Styles.WindowStyle style)
    • TextraWindow

      public TextraWindow(String title, Styles.WindowStyle style, boolean scaleTitleFont)
    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont)
    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont, boolean scaleTitleFont)
    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName, Font replacementFont)
    • TextraWindow

      public TextraWindow(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String styleName, Font replacementFont, boolean scaleTitleFont)
    • TextraWindow

      public TextraWindow(String title, Styles.WindowStyle style, Font replacementFont)
    • TextraWindow

      public TextraWindow(String title, Styles.WindowStyle style, Font replacementFont, boolean scaleTitleFont)
      Parameters:
      title - the text that will go in the title bar
      style - a WindowStyle typically pulled from a Skin
      replacementFont - a Font that will be used for at least the title text, in place of the style's font
      scaleTitleFont - if true, this will attempt to change replacementFont to fit the title bar; you may want to copy replacementFont if you need it unscaled elsewhere
  • Method Details

    • newLabel

      protected TextraLabel newLabel(String text, Styles.LabelStyle style)
    • newLabel

      protected TextraLabel newLabel(String text, Font font, com.badlogic.gdx.graphics.Color color)
    • setStyle

      public void setStyle(Styles.WindowStyle style)
    • setStyle

      public void setStyle(Styles.WindowStyle style, boolean ignored)
    • setStyle

      public void setStyle(Styles.WindowStyle style, Font font)
    • getStyle

      public Styles.WindowStyle getStyle()
      Returns the window's style. Modifying the returned style may not have an effect until setStyle(WindowStyle) is called.
    • keepWithinStage

      public void keepWithinStage()
    • draw

      public void draw(com.badlogic.gdx.graphics.g2d.Batch batch, float parentAlpha)
      Overrides:
      draw in class com.badlogic.gdx.scenes.scene2d.ui.Table
    • drawStageBackground

      protected void drawStageBackground(com.badlogic.gdx.graphics.g2d.Batch batch, float parentAlpha, float x, float y, float width, float height)
    • drawBackground

      protected void drawBackground(com.badlogic.gdx.graphics.g2d.Batch batch, float parentAlpha, float x, float y)
      Overrides:
      drawBackground in class com.badlogic.gdx.scenes.scene2d.ui.Table
    • hit

      @Null public com.badlogic.gdx.scenes.scene2d.Actor hit(float x, float y, boolean touchable)
      Overrides:
      hit in class com.badlogic.gdx.scenes.scene2d.ui.Table
    • isMovable

      public boolean isMovable()
    • setMovable

      public void setMovable(boolean isMovable)
    • isModal

      public boolean isModal()
    • setModal

      public void setModal(boolean isModal)
    • setKeepWithinStage

      public void setKeepWithinStage(boolean keepWithinStage)
    • isResizable

      public boolean isResizable()
    • setResizable

      public void setResizable(boolean isResizable)
    • getResizeBorder

      public int getResizeBorder()
    • setResizeBorder

      public void setResizeBorder(int resizeBorder)
    • isDragging

      public boolean isDragging()
    • getPrefWidth

      public float getPrefWidth()
      Specified by:
      getPrefWidth in interface com.badlogic.gdx.scenes.scene2d.utils.Layout
      Overrides:
      getPrefWidth in class com.badlogic.gdx.scenes.scene2d.ui.Table
    • getTitleTable

      public com.badlogic.gdx.scenes.scene2d.ui.Table getTitleTable()
    • getTitleLabel

      public TextraLabel getTitleLabel()
    • skipToTheEnd

      public void skipToTheEnd()
      Does nothing unless the titleLabel used here is a TypingLabel; then, this will skip text progression ahead.