ElementRenderer
This commit is contained in:
@@ -17,9 +17,11 @@ import org.saturnclient.config.manager.ConfigManager;
|
|||||||
import org.saturnclient.saturnclient.event.KeyInputHandler;
|
import org.saturnclient.saturnclient.event.KeyInputHandler;
|
||||||
import org.saturnclient.saturnclient.impl.SaturnClientProvider;
|
import org.saturnclient.saturnclient.impl.SaturnClientProvider;
|
||||||
import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
|
import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
|
||||||
|
import org.saturnclient.ui.ElementRenderer;
|
||||||
import org.saturnclient.ui.RenderScope;
|
import org.saturnclient.ui.RenderScope;
|
||||||
import org.saturnclient.ui.RenderScopeImpl;
|
import org.saturnclient.ui.RenderScopeImpl;
|
||||||
import org.saturnclient.ui.SaturnScreen;
|
import org.saturnclient.ui.SaturnScreen;
|
||||||
|
import org.saturnclient.ui.components.ElementRendererImpl;
|
||||||
import org.saturnclient.ui.elements.ImageTexture;
|
import org.saturnclient.ui.elements.ImageTexture;
|
||||||
import org.saturnclient.ui.resources.Textures;
|
import org.saturnclient.ui.resources.Textures;
|
||||||
import org.saturnclient.ui.screens.TitleMenu;
|
import org.saturnclient.ui.screens.TitleMenu;
|
||||||
@@ -42,6 +44,8 @@ public class SaturnClient implements ModInitializer {
|
|||||||
|
|
||||||
MinecraftProvider.PROVIDER = new SaturnClientProvider();
|
MinecraftProvider.PROVIDER = new SaturnClientProvider();
|
||||||
|
|
||||||
|
ElementRenderer.INSTANCE = new ElementRendererImpl();
|
||||||
|
|
||||||
Config.init();
|
Config.init();
|
||||||
ModManager.init();
|
ModManager.init();
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
|
import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
|
||||||
import org.saturnclient.ui.components.ElementRenderer;
|
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gl.PostEffectProcessor;
|
import net.minecraft.client.gl.PostEffectProcessor;
|
||||||
@@ -55,7 +54,7 @@ public abstract class SaturnScreen extends Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void draw(Element element) {
|
public void draw(Element element) {
|
||||||
ElementRenderer.draw(elements, element);
|
ElementRenderer.INSTANCE.draw(elements, element);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -101,7 +100,7 @@ public abstract class SaturnScreen extends Screen {
|
|||||||
|
|
||||||
renderScope.getMatrixStack().scale(0.5f, 0.5f, 0.5f);
|
renderScope.getMatrixStack().scale(0.5f, 0.5f, 0.5f);
|
||||||
|
|
||||||
ElementRenderer.render(new ArrayList<>(elements), elapsed, renderScope, mouseX, mouseY);
|
ElementRenderer.INSTANCE.render(new ArrayList<>(elements), elapsed, renderScope, mouseX, mouseY);
|
||||||
|
|
||||||
renderScope.getMatrixStack().pop();
|
renderScope.getMatrixStack().pop();
|
||||||
}
|
}
|
||||||
@@ -111,7 +110,7 @@ public abstract class SaturnScreen extends Screen {
|
|||||||
mouseX *= 2;
|
mouseX *= 2;
|
||||||
mouseY *= 2;
|
mouseY *= 2;
|
||||||
|
|
||||||
ElementRenderer.mouseClicked(elements, mouseX, mouseY, button);
|
ElementRenderer.INSTANCE.mouseClicked(elements, mouseX, mouseY, button);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -121,7 +120,7 @@ public abstract class SaturnScreen extends Screen {
|
|||||||
mouseX *= 2;
|
mouseX *= 2;
|
||||||
mouseY *= 2;
|
mouseY *= 2;
|
||||||
|
|
||||||
ElementRenderer.mouseDragged(elements, mouseX, mouseY, button, deltaX, deltaY);
|
ElementRenderer.INSTANCE.mouseDragged(elements, mouseX, mouseY, button, deltaX, deltaY);
|
||||||
|
|
||||||
return super.mouseReleased(mouseX, mouseY, button);
|
return super.mouseReleased(mouseX, mouseY, button);
|
||||||
}
|
}
|
||||||
@@ -131,7 +130,7 @@ public abstract class SaturnScreen extends Screen {
|
|||||||
mouseX *= 2;
|
mouseX *= 2;
|
||||||
mouseY *= 2;
|
mouseY *= 2;
|
||||||
|
|
||||||
ElementRenderer.mouseReleased(elements, mouseX, mouseY, button);
|
ElementRenderer.INSTANCE.mouseReleased(elements, mouseX, mouseY, button);
|
||||||
|
|
||||||
return super.mouseReleased(mouseX, mouseY, button);
|
return super.mouseReleased(mouseX, mouseY, button);
|
||||||
}
|
}
|
||||||
@@ -145,7 +144,7 @@ public abstract class SaturnScreen extends Screen {
|
|||||||
mouseX *= 2;
|
mouseX *= 2;
|
||||||
mouseY *= 2;
|
mouseY *= 2;
|
||||||
|
|
||||||
ElementRenderer.mouseScrolled(elements, mouseX, mouseY, horizontalAmount, verticalAmount);
|
ElementRenderer.INSTANCE.mouseScrolled(elements, mouseX, mouseY, horizontalAmount, verticalAmount);
|
||||||
|
|
||||||
return super.mouseScrolled(
|
return super.mouseScrolled(
|
||||||
mouseX,
|
mouseX,
|
||||||
@@ -162,7 +161,7 @@ public abstract class SaturnScreen extends Screen {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
|
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
|
||||||
ElementRenderer.keyPressed(elements, keyCode, scanCode, modifiers);
|
ElementRenderer.INSTANCE.keyPressed(elements, keyCode, scanCode, modifiers);
|
||||||
|
|
||||||
return super.keyPressed(keyCode, scanCode, modifiers);
|
return super.keyPressed(keyCode, scanCode, modifiers);
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-8
@@ -5,11 +5,12 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.saturnclient.ui.Element;
|
import org.saturnclient.ui.Element;
|
||||||
import org.saturnclient.ui.ElementContext;
|
import org.saturnclient.ui.ElementContext;
|
||||||
|
import org.saturnclient.ui.ElementRenderer;
|
||||||
import org.saturnclient.ui.RenderScope;
|
import org.saturnclient.ui.RenderScope;
|
||||||
import org.saturnclient.ui.Utils;
|
import org.saturnclient.ui.Utils;
|
||||||
|
|
||||||
public class ElementRenderer {
|
public class ElementRendererImpl extends ElementRenderer {
|
||||||
public static void draw(List<Element> elements, Element element) {
|
public void draw(List<Element> elements, Element element) {
|
||||||
synchronized (elements) {
|
synchronized (elements) {
|
||||||
elements.add(element);
|
elements.add(element);
|
||||||
}
|
}
|
||||||
@@ -19,7 +20,7 @@ public class ElementRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void render(List<Element> elements, long elapsed, RenderScope renderScope, int mouseX, int mouseY) {
|
public void render(List<Element> elements, long elapsed, RenderScope renderScope, int mouseX, int mouseY) {
|
||||||
for (Element element : elements) {
|
for (Element element : elements) {
|
||||||
element.playAnimationFrame(elapsed);
|
element.playAnimationFrame(elapsed);
|
||||||
|
|
||||||
@@ -32,7 +33,7 @@ public class ElementRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void mouseClicked(List<Element> elements, double mouseX, double mouseY, int button) {
|
public void mouseClicked(List<Element> elements, double mouseX, double mouseY, int button) {
|
||||||
if (button == 0) {
|
if (button == 0) {
|
||||||
for (Element element : new ArrayList<>(elements)) {
|
for (Element element : new ArrayList<>(elements)) {
|
||||||
element.focused = false;
|
element.focused = false;
|
||||||
@@ -51,7 +52,7 @@ public class ElementRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void mouseScrolled(
|
public void mouseScrolled(
|
||||||
List<Element> elements,
|
List<Element> elements,
|
||||||
double mouseX,
|
double mouseX,
|
||||||
double mouseY,
|
double mouseY,
|
||||||
@@ -69,7 +70,7 @@ public class ElementRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void keyPressed(List<Element> elements, int keyCode, int scanCode, int modifiers) {
|
public void keyPressed(List<Element> elements, int keyCode, int scanCode, int modifiers) {
|
||||||
for (Element element : new ArrayList<>(elements)) {
|
for (Element element : new ArrayList<>(elements)) {
|
||||||
if (element.focused && element.opacity > 0) {
|
if (element.focused && element.opacity > 0) {
|
||||||
element.keyPressed(keyCode, scanCode, modifiers);
|
element.keyPressed(keyCode, scanCode, modifiers);
|
||||||
@@ -82,14 +83,14 @@ public class ElementRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void mouseDragged(List<Element> elements, double mouseX, double mouseY, int button, double deltaX,
|
public void mouseDragged(List<Element> elements, double mouseX, double mouseY, int button, double deltaX,
|
||||||
double deltaY) {
|
double deltaY) {
|
||||||
for (Element element : new ArrayList<>(elements)) {
|
for (Element element : new ArrayList<>(elements)) {
|
||||||
element.mouseDragged(mouseX - element.x, mouseY - element.y, button, deltaX, deltaY);
|
element.mouseDragged(mouseX - element.x, mouseY - element.y, button, deltaX, deltaY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void mouseReleased(List<Element> elements, double mouseX, double mouseY, int button) {
|
public void mouseReleased(List<Element> elements, double mouseX, double mouseY, int button) {
|
||||||
for (Element element : new ArrayList<>(elements)) {
|
for (Element element : new ArrayList<>(elements)) {
|
||||||
element.mouseReleased(mouseX - element.x, mouseY - element.y, button);
|
element.mouseReleased(mouseX - element.x, mouseY - element.y, button);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user