Skip to content

Commit

Permalink
move remaining input handlers into Common
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Apr 5, 2022
1 parent 50aa0b8 commit 8b164c3
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 47 deletions.
@@ -1,12 +1,13 @@
package mezz.jei.input;
package mezz.jei.common.input;

import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import mezz.jei.common.gui.HoverChecker;
import mezz.jei.common.gui.elements.DrawableNineSliceTexture;
import mezz.jei.common.gui.textures.Textures;
import mezz.jei.common.input.IUserInputHandler;
import mezz.jei.input.mouse.handlers.TextFieldInputHandler;
import mezz.jei.common.input.handlers.TextFieldInputHandler;
import mezz.jei.common.platform.IPlatformInputHelper;
import mezz.jei.common.platform.Services;
import mezz.jei.common.util.ImmutableRect2i;
import mezz.jei.core.util.TextHistory;
import net.minecraft.client.Minecraft;
Expand All @@ -21,6 +22,7 @@ public class GuiTextFieldFilter extends EditBox {

private final HoverChecker hoverChecker;
private final DrawableNineSliceTexture background;
private ImmutableRect2i backgroundBounds;

private boolean previousKeyboardRepeatEnabled;

Expand All @@ -32,14 +34,17 @@ public GuiTextFieldFilter(Textures textures) {
this.hoverChecker = new HoverChecker();

this.background = textures.getSearchBackground();
this.backgroundBounds = ImmutableRect2i.EMPTY;
setBordered(false);
}

public void updateBounds(ImmutableRect2i area) {
this.x = area.getX();
this.y = area.getY();
this.width = area.getWidth();
this.backgroundBounds = area;
this.x = area.getX() + 4;
this.y = area.getY() + (area.getHeight() - 8) / 2;
this.width = area.getWidth() - 12;
this.height = area.getHeight();
this.hoverChecker.updateBounds(area.getY(), area.getY() + area.getHeight(), area.getX(), area.getX() + area.getWidth());
this.hoverChecker.updateBounds(area);
setHighlightPos(getCursorPosition());
}

Expand Down Expand Up @@ -72,7 +77,8 @@ public void setFocused(boolean keyboardFocus) {
if (previousFocus != keyboardFocus) {
Minecraft minecraft = Minecraft.getInstance();
if (keyboardFocus) {
previousKeyboardRepeatEnabled = minecraft.keyboardHandler.sendRepeatsToGui;
IPlatformInputHelper inputHelper = Services.PLATFORM.getInputHelper();
previousKeyboardRepeatEnabled = inputHelper.isSendRepeatsToGui(minecraft.keyboardHandler);
minecraft.keyboardHandler.setSendRepeatsToGui(true);
} else {
minecraft.keyboardHandler.setSendRepeatsToGui(previousKeyboardRepeatEnabled);
Expand All @@ -83,27 +89,13 @@ public void setFocused(boolean keyboardFocus) {
}
}

// begin hack to draw our own background texture instead of the default one
private boolean isDrawing = false;

@Override
protected boolean isBordered() {
if (this.isDrawing) {
return false;
}
return super.isBordered();
}

@Override
public void renderButton(PoseStack poseStack, int mouseX, int mouseY, float partialTicks) {
this.isDrawing = true;
if (this.isVisible()) {
RenderSystem.setShaderColor(1, 1, 1, 1);
background.draw(poseStack, this.x, this.y, this.width, this.height);
background.draw(poseStack, this.backgroundBounds);
}
super.renderButton(poseStack, mouseX, mouseY, partialTicks);
this.isDrawing = false;
}
// end background hack

}
@@ -1,11 +1,11 @@
package mezz.jei.input.mouse.handlers;
package mezz.jei.common.input.handlers;

import com.mojang.blaze3d.platform.InputConstants;
import mezz.jei.common.input.IKeyBindings;
import mezz.jei.common.input.IUserInputHandler;
import mezz.jei.common.input.UserInput;
import mezz.jei.core.util.TextHistory;
import mezz.jei.input.GuiTextFieldFilter;
import mezz.jei.common.input.GuiTextFieldFilter;
import net.minecraft.client.gui.screens.Screen;

import java.util.Optional;
Expand Down
Expand Up @@ -2,7 +2,10 @@

import com.mojang.blaze3d.platform.InputConstants;
import net.minecraft.client.KeyMapping;
import net.minecraft.client.KeyboardHandler;

public interface IPlatformInputHelper {
boolean isActiveAndMatches(KeyMapping keyMapping, InputConstants.Key key);

boolean isSendRepeatsToGui(KeyboardHandler keyboardHandler);
}
Expand Up @@ -23,7 +23,7 @@
import mezz.jei.common.util.ImmutableRect2i;
import mezz.jei.core.config.IClientConfig;
import mezz.jei.core.config.IWorldConfig;
import mezz.jei.input.GuiTextFieldFilter;
import mezz.jei.common.input.GuiTextFieldFilter;
import mezz.jei.common.input.handlers.CheatInputHandler;
import mezz.jei.common.input.handlers.CombinedInputHandler;
import mezz.jei.common.input.handlers.NullInputHandler;
Expand Down
Expand Up @@ -3,10 +3,16 @@
import com.mojang.blaze3d.platform.InputConstants;
import mezz.jei.common.platform.IPlatformInputHelper;
import net.minecraft.client.KeyMapping;
import net.minecraft.client.KeyboardHandler;

public class ForgeInputHelper implements IPlatformInputHelper {
@Override
public boolean isActiveAndMatches(KeyMapping keyMapping, InputConstants.Key key) {
return keyMapping.isActiveAndMatches(key);
}

@Override
public boolean isSendRepeatsToGui(KeyboardHandler keyboardHandler) {
return keyboardHandler.sendRepeatsToGui;
}
}

This file was deleted.

7 changes: 0 additions & 7 deletions Forge/src/main/java/mezz/jei/input/mouse/package-info.java

This file was deleted.

7 changes: 0 additions & 7 deletions Forge/src/main/java/mezz/jei/input/package-info.java

This file was deleted.

0 comments on commit 8b164c3

Please sign in to comment.