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