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    }