Class SceneViewportWidget

java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
net.ixdarklord.coolcatcanvas.api.client.gui.components.SceneViewportWidget
All Implemented Interfaces:
net.minecraft.client.gui.components.events.GuiEventListener, net.minecraft.client.gui.components.Renderable, net.minecraft.client.gui.components.TabOrderedElement, net.minecraft.client.gui.layouts.LayoutElement, net.minecraft.client.gui.narration.NarratableEntry, net.minecraft.client.gui.narration.NarrationSupplier

@Experimental public class SceneViewportWidget extends net.minecraft.client.gui.components.AbstractWidget
A SceneViewport in a screen: a 3D view of blocks, a structure or entities, kept inside the widget's rectangle. Drag it to turn the scene, scroll over it to zoom.
SceneViewport view = SceneViewport.create(MyMod.id("preview"), 256, 256);
view.blocks(structureBlocks);
addRenderableWidget(new SceneViewportWidget(x, y, 128, 128, view));
// when the screen closes:
view.close();
The widget does not own the viewport: close it yourself. For a sharp picture, make the viewport as large as the widget is on screen (its size times the GUI scale).
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.client.gui.components.AbstractWidget

    net.minecraft.client.gui.components.AbstractWidget.WithInactiveMessage

    Nested classes/interfaces inherited from interface net.minecraft.client.gui.narration.NarratableEntry

    net.minecraft.client.gui.narration.NarratableEntry.NarrationPriority
  • Field Summary

    Fields inherited from class net.minecraft.client.gui.components.AbstractWidget

    active, alpha, height, isHovered, message, visible, width
  • Constructor Summary

    Constructors
    Constructor
    Description
    SceneViewportWidget(int x, int y, int width, int height, SceneViewport viewport)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    background(int argb)
    A colour (ARGB) filled behind the scene; 0 for none, which is the default.
    controls(boolean turnable, boolean zoomable)
    Whether dragging turns the scene and scrolling zooms it.
    protected void
    extractWidgetRenderState(net.minecraft.client.gui.GuiGraphicsExtractor graphics, int mouseX, int mouseY, float partialTick)
     
    boolean
    mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY)
     
    protected void
    onDrag(net.minecraft.client.input.MouseButtonEvent event, double dragX, double dragY)
     
    void
    playDownSound(net.minecraft.client.sounds.SoundManager soundManager)
     
    protected void
    updateWidgetNarration(net.minecraft.client.gui.narration.NarrationElementOutput output)
     
     

    Methods inherited from class net.minecraft.client.gui.components.AbstractWidget

    createNarrationMessage, defaultButtonNarrationText, extractRenderState, extractScrollingStringOverContents, extractTooltipForNextRenderPass, getAlpha, getBottom, getHeight, getMessage, getRectangle, getRight, getTabOrderGroup, getWidth, getX, getY, handleCursor, isActive, isFocused, isHovered, isHoveredOrFocused, isMouseOver, isValidClickButton, mouseClicked, mouseDragged, mouseReleased, narrationPriority, nextFocusPath, onClick, onRelease, playButtonClickSound, setAlpha, setFocused, setHeight, setMessage, setRectangle, setSize, setTabOrderGroup, setTooltip, setTooltipDelay, setWidth, setX, setY, updateNarration, visitWidgets, wrapDefaultNarrationMessage

    Methods inherited from class Object

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

    Methods inherited from interface net.minecraft.client.gui.components.events.GuiEventListener

    charTyped, getBorderForArrowNavigation, getCurrentFocusPath, keyPressed, keyReleased, mouseMoved, preeditUpdated, shouldTakeFocusAfterInteraction

    Methods inherited from interface net.minecraft.client.gui.layouts.LayoutElement

    setPosition

    Methods inherited from interface net.minecraft.client.gui.narration.NarratableEntry

    getNarratables
  • Constructor Details

    • SceneViewportWidget

      public SceneViewportWidget(int x, int y, int width, int height, SceneViewport viewport)
  • Method Details

    • viewport

      public SceneViewport viewport()
    • controls

      public SceneViewportWidget controls(boolean turnable, boolean zoomable)
      Whether dragging turns the scene and scrolling zooms it. Both by default.
    • background

      public SceneViewportWidget background(int argb)
      A colour (ARGB) filled behind the scene; 0 for none, which is the default.
    • extractWidgetRenderState

      protected void extractWidgetRenderState(net.minecraft.client.gui.GuiGraphicsExtractor graphics, int mouseX, int mouseY, float partialTick)
      Specified by:
      extractWidgetRenderState in class net.minecraft.client.gui.components.AbstractWidget
    • onDrag

      protected void onDrag(net.minecraft.client.input.MouseButtonEvent event, double dragX, double dragY)
      Overrides:
      onDrag in class net.minecraft.client.gui.components.AbstractWidget
    • mouseScrolled

      public boolean mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY)
    • playDownSound

      public void playDownSound(net.minecraft.client.sounds.SoundManager soundManager)
      Overrides:
      playDownSound in class net.minecraft.client.gui.components.AbstractWidget
    • updateWidgetNarration

      protected void updateWidgetNarration(net.minecraft.client.gui.narration.NarrationElementOutput output)
      Specified by:
      updateWidgetNarration in class net.minecraft.client.gui.components.AbstractWidget