001 package net.minecraft.util; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.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 Mouse.setCursorPosition(this.windowComponent.getWidth() / 2, this.windowComponent.getHeight() / 2); 043 Mouse.setGrabbed(false); 044 } 045 046 public void mouseXYChange() 047 { 048 this.deltaX = Mouse.getDX(); 049 this.deltaY = Mouse.getDY(); 050 } 051 }