Code/net/minecraft/client/gui/components/FittingMultiLineTextWidget....

70 lines
2.3 KiB
Java
Raw Permalink Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.client.gui.components;
import net.minecraft.client.gui.Font;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.narration.NarratedElementType;
import net.minecraft.client.gui.narration.NarrationElementOutput;
import net.minecraft.network.chat.Component;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class FittingMultiLineTextWidget extends AbstractTextAreaWidget {
private final Font font;
private final MultiLineTextWidget multilineWidget;
public FittingMultiLineTextWidget(int p_289785_, int p_289777_, int p_289760_, int p_289801_, Component p_289788_, Font p_289781_) {
super(p_289785_, p_289777_, p_289760_, p_289801_, p_289788_);
this.font = p_289781_;
this.multilineWidget = new MultiLineTextWidget(p_289788_, p_289781_).setMaxWidth(this.getWidth() - this.totalInnerPadding());
}
public FittingMultiLineTextWidget setColor(int p_289780_) {
this.multilineWidget.setColor(p_289780_);
return this;
}
@Override
public void setWidth(int p_289765_) {
super.setWidth(p_289765_);
this.multilineWidget.setMaxWidth(this.getWidth() - this.totalInnerPadding());
}
@Override
protected int getInnerHeight() {
return this.multilineWidget.getHeight();
}
@Override
protected double scrollRate() {
return 9.0;
}
@Override
protected void renderBackground(GuiGraphics p_289758_) {
super.renderBackground(p_289758_);
}
public boolean showingScrollBar() {
return super.scrollbarVisible();
}
@Override
protected void renderContents(GuiGraphics p_289766_, int p_289790_, int p_289786_, float p_289767_) {
p_289766_.pose().pushPose();
p_289766_.pose().translate(this.getInnerLeft(), this.getInnerTop(), 0.0F);
this.multilineWidget.render(p_289766_, p_289790_, p_289786_, p_289767_);
p_289766_.pose().popPose();
}
@Override
protected void updateWidgetNarration(NarrationElementOutput p_289784_) {
p_289784_.add(NarratedElementType.TITLE, this.getMessage());
}
@Override
public void setMessage(Component p_392762_) {
super.setMessage(p_392762_);
this.multilineWidget.setMessage(p_392762_);
}
}