merged WidgetBuilder into PerViewerFacadeInjector
parent
0968c20de4
commit
92be05527c
|
@ -1,6 +1,8 @@
|
|||
package amidst.dependency.injection;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import amidst.AmidstSettings;
|
||||
import amidst.documentation.AmidstThread;
|
||||
|
@ -23,8 +25,18 @@ import amidst.gui.main.viewer.ViewerFacade;
|
|||
import amidst.gui.main.viewer.ViewerMouseListener;
|
||||
import amidst.gui.main.viewer.WorldIconSelection;
|
||||
import amidst.gui.main.viewer.Zoom;
|
||||
import amidst.gui.main.viewer.widget.BiomeToggleWidget;
|
||||
import amidst.gui.main.viewer.widget.BiomeWidget;
|
||||
import amidst.gui.main.viewer.widget.ChangeableTextWidget;
|
||||
import amidst.gui.main.viewer.widget.CursorInformationWidget;
|
||||
import amidst.gui.main.viewer.widget.DebugWidget;
|
||||
import amidst.gui.main.viewer.widget.FpsWidget;
|
||||
import amidst.gui.main.viewer.widget.FramerateTimer;
|
||||
import amidst.gui.main.viewer.widget.ScaleWidget;
|
||||
import amidst.gui.main.viewer.widget.SeedAndWorldTypeWidget;
|
||||
import amidst.gui.main.viewer.widget.SelectedIconWidget;
|
||||
import amidst.gui.main.viewer.widget.Widget;
|
||||
import amidst.gui.main.viewer.widget.WidgetBuilder;
|
||||
import amidst.gui.main.viewer.widget.Widget.CornerAnchorPoint;
|
||||
import amidst.gui.main.viewer.widget.WidgetManager;
|
||||
import amidst.mojangapi.world.World;
|
||||
import amidst.mojangapi.world.export.WorldExporterFactory;
|
||||
|
@ -32,6 +44,34 @@ import amidst.threading.WorkerExecutor;
|
|||
|
||||
@NotThreadSafe
|
||||
public class PerViewerFacadeInjector {
|
||||
@CalledOnlyBy(AmidstThread.EDT)
|
||||
private static List<Widget> createWidgets(
|
||||
World world,
|
||||
FragmentGraph graph,
|
||||
FragmentGraphToScreenTranslator translator,
|
||||
Zoom zoom,
|
||||
BiomeSelection biomeSelection,
|
||||
WorldIconSelection worldIconSelection,
|
||||
LayerReloader layerReloader,
|
||||
FragmentManager fragmentManager,
|
||||
Graphics2DAccelerationCounter accelerationCounter,
|
||||
AmidstSettings settings,
|
||||
Supplier<String> progressText) {
|
||||
// @formatter:off
|
||||
return Arrays.asList(
|
||||
new ChangeableTextWidget( CornerAnchorPoint.CENTER, progressText),
|
||||
new FpsWidget( CornerAnchorPoint.BOTTOM_LEFT, new FramerateTimer(2), settings.showFPS),
|
||||
new ScaleWidget( CornerAnchorPoint.BOTTOM_CENTER, zoom, settings.showScale),
|
||||
new SeedAndWorldTypeWidget( CornerAnchorPoint.TOP_LEFT, world.getWorldSeed(), world.getWorldType()),
|
||||
new SelectedIconWidget( CornerAnchorPoint.TOP_LEFT, worldIconSelection),
|
||||
new DebugWidget( CornerAnchorPoint.BOTTOM_RIGHT, graph, fragmentManager, settings.showDebug, accelerationCounter),
|
||||
new CursorInformationWidget(CornerAnchorPoint.TOP_RIGHT, graph, translator, settings.dimension),
|
||||
new BiomeToggleWidget( CornerAnchorPoint.BOTTOM_RIGHT, biomeSelection, layerReloader),
|
||||
new BiomeWidget( CornerAnchorPoint.NONE, biomeSelection, layerReloader, settings.biomeProfileSelection)
|
||||
);
|
||||
// @formatter:on
|
||||
}
|
||||
|
||||
private final Graphics2DAccelerationCounter accelerationCounter;
|
||||
private final Movement movement;
|
||||
private final WorldIconSelection worldIconSelection;
|
||||
|
@ -41,7 +81,6 @@ public class PerViewerFacadeInjector {
|
|||
private final FragmentQueueProcessor fragmentQueueProcessor;
|
||||
private final LayerReloader layerReloader;
|
||||
private final WorldExporterFactory worldExporterFactory;
|
||||
private final WidgetBuilder widgetBuilder;
|
||||
private final List<Widget> widgets;
|
||||
private final Drawer drawer;
|
||||
private final WidgetManager widgetManager;
|
||||
|
@ -69,7 +108,7 @@ public class PerViewerFacadeInjector {
|
|||
this.fragmentQueueProcessor = fragmentManager.createQueueProcessor(layerManager, settings.dimension);
|
||||
this.layerReloader = layerManager.createLayerReloader(world);
|
||||
this.worldExporterFactory = new WorldExporterFactory(workerExecutor, world);
|
||||
this.widgetBuilder = new WidgetBuilder(
|
||||
this.widgets = createWidgets(
|
||||
world,
|
||||
graph,
|
||||
translator,
|
||||
|
@ -81,7 +120,6 @@ public class PerViewerFacadeInjector {
|
|||
accelerationCounter,
|
||||
settings,
|
||||
worldExporterFactory::getProgressMessage);
|
||||
this.widgets = widgetBuilder.create();
|
||||
this.drawer = new Drawer(
|
||||
graph,
|
||||
translator,
|
||||
|
|
|
@ -14,7 +14,7 @@ public class ChangeableTextWidget extends TextWidget {
|
|||
private final Supplier<String> text;
|
||||
|
||||
@CalledOnlyBy(AmidstThread.EDT)
|
||||
protected ChangeableTextWidget(CornerAnchorPoint anchor, Supplier<String> text) {
|
||||
public ChangeableTextWidget(CornerAnchorPoint anchor, Supplier<String> text) {
|
||||
super(anchor);
|
||||
this.text = text;
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ public abstract class TextWidget extends Widget {
|
|||
private boolean isVisible = false;
|
||||
|
||||
@CalledOnlyBy(AmidstThread.EDT)
|
||||
protected TextWidget(CornerAnchorPoint anchor) {
|
||||
public TextWidget(CornerAnchorPoint anchor) {
|
||||
super(anchor);
|
||||
setWidth(20);
|
||||
setHeight(30);
|
||||
|
|
|
@ -1,78 +0,0 @@
|
|||
package amidst.gui.main.viewer.widget;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import amidst.AmidstSettings;
|
||||
import amidst.documentation.AmidstThread;
|
||||
import amidst.documentation.CalledOnlyBy;
|
||||
import amidst.documentation.NotThreadSafe;
|
||||
import amidst.fragment.FragmentGraph;
|
||||
import amidst.fragment.FragmentManager;
|
||||
import amidst.fragment.layer.LayerReloader;
|
||||
import amidst.gui.main.viewer.BiomeSelection;
|
||||
import amidst.gui.main.viewer.FragmentGraphToScreenTranslator;
|
||||
import amidst.gui.main.viewer.Graphics2DAccelerationCounter;
|
||||
import amidst.gui.main.viewer.WorldIconSelection;
|
||||
import amidst.gui.main.viewer.Zoom;
|
||||
import amidst.gui.main.viewer.widget.Widget.CornerAnchorPoint;
|
||||
import amidst.mojangapi.world.World;
|
||||
|
||||
@NotThreadSafe
|
||||
public class WidgetBuilder {
|
||||
private final World world;
|
||||
private final FragmentGraph graph;
|
||||
private final FragmentGraphToScreenTranslator translator;
|
||||
private final Zoom zoom;
|
||||
private final BiomeSelection biomeSelection;
|
||||
private final WorldIconSelection worldIconSelection;
|
||||
private final LayerReloader layerReloader;
|
||||
private final FragmentManager fragmentManager;
|
||||
private final Graphics2DAccelerationCounter accelerationCounter;
|
||||
private final AmidstSettings settings;
|
||||
private final Supplier<String> progressText;
|
||||
|
||||
@CalledOnlyBy(AmidstThread.EDT)
|
||||
public WidgetBuilder(
|
||||
World world,
|
||||
FragmentGraph graph,
|
||||
FragmentGraphToScreenTranslator translator,
|
||||
Zoom zoom,
|
||||
BiomeSelection biomeSelection,
|
||||
WorldIconSelection worldIconSelection,
|
||||
LayerReloader layerReloader,
|
||||
FragmentManager fragmentManager,
|
||||
Graphics2DAccelerationCounter accelerationCounter,
|
||||
AmidstSettings settings,
|
||||
Supplier<String> progressText) {
|
||||
this.world = world;
|
||||
this.graph = graph;
|
||||
this.translator = translator;
|
||||
this.zoom = zoom;
|
||||
this.biomeSelection = biomeSelection;
|
||||
this.worldIconSelection = worldIconSelection;
|
||||
this.layerReloader = layerReloader;
|
||||
this.fragmentManager = fragmentManager;
|
||||
this.accelerationCounter = accelerationCounter;
|
||||
this.settings = settings;
|
||||
this.progressText = progressText;
|
||||
}
|
||||
|
||||
@CalledOnlyBy(AmidstThread.EDT)
|
||||
public List<Widget> create() {
|
||||
// @formatter:off
|
||||
return Arrays.asList(
|
||||
new ChangeableTextWidget( CornerAnchorPoint.CENTER, progressText),
|
||||
new FpsWidget( CornerAnchorPoint.BOTTOM_LEFT, new FramerateTimer(2), settings.showFPS),
|
||||
new ScaleWidget( CornerAnchorPoint.BOTTOM_CENTER, zoom, settings.showScale),
|
||||
new SeedAndWorldTypeWidget( CornerAnchorPoint.TOP_LEFT, world.getWorldSeed(), world.getWorldType()),
|
||||
new SelectedIconWidget( CornerAnchorPoint.TOP_LEFT, worldIconSelection),
|
||||
new DebugWidget( CornerAnchorPoint.BOTTOM_RIGHT, graph, fragmentManager, settings.showDebug, accelerationCounter),
|
||||
new CursorInformationWidget(CornerAnchorPoint.TOP_RIGHT, graph, translator, settings.dimension),
|
||||
new BiomeToggleWidget( CornerAnchorPoint.BOTTOM_RIGHT, biomeSelection, layerReloader),
|
||||
new BiomeWidget( CornerAnchorPoint.NONE, biomeSelection, layerReloader, settings.biomeProfileSelection)
|
||||
);
|
||||
// @formatter:on
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue