001 package net.minecraft.util;
002
003 import cpw.mods.fml.relauncher.Side;
004 import cpw.mods.fml.relauncher.SideOnly;
005 import java.awt.Component;
006 import net.minecraft.client.settings.GameSettings;
007 import org.lwjgl.input.Mouse;
008
009 @SideOnly(Side.CLIENT)
010 public class MouseHelper
011 {
012 private final Component windowComponent;
013 private final GameSettings field_85184_d;
014
015 /** Mouse delta X this frame */
016 public int deltaX;
017
018 /** Mouse delta Y this frame */
019 public int deltaY;
020
021 public MouseHelper(Component par1Component, GameSettings par2GameSettings)
022 {
023 this.windowComponent = par1Component;
024 this.field_85184_d = par2GameSettings;
025 }
026
027 /**
028 * Grabs the mouse cursor it doesn't move and isn't seen.
029 */
030 public void grabMouseCursor()
031 {
032 Mouse.setGrabbed(true);
033 this.deltaX = 0;
034 this.deltaY = 0;
035 }
036
037 /**
038 * Ungrabs the mouse cursor so it can be moved and set it to the center of the screen
039 */
040 public void ungrabMouseCursor()
041 {
042 int var1 = this.windowComponent.getWidth();
043 int var2 = this.windowComponent.getHeight();
044
045 if (this.windowComponent.getParent() != null)
046 {
047 var1 = this.windowComponent.getParent().getWidth();
048 var2 = this.windowComponent.getParent().getHeight();
049 }
050
051 Mouse.setCursorPosition(var1 / 2, var2 / 2);
052 Mouse.setGrabbed(false);
053 }
054
055 public void mouseXYChange()
056 {
057 this.deltaX = Mouse.getDX();
058 this.deltaY = Mouse.getDY();
059 }
060 }