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 Component windowComponent;
012    
013        /** Mouse delta X this frame */
014        public int deltaX;
015    
016        /** Mouse delta Y this frame */
017        public int deltaY;
018    
019        public MouseHelper(Component par1Component)
020        {
021            this.windowComponent = par1Component;
022        }
023    
024        /**
025         * Grabs the mouse cursor it doesn't move and isn't seen.
026         */
027        public void grabMouseCursor()
028        {
029            Mouse.setGrabbed(true);
030            this.deltaX = 0;
031            this.deltaY = 0;
032        }
033    
034        /**
035         * Ungrabs the mouse cursor so it can be moved and set it to the center of the screen
036         */
037        public void ungrabMouseCursor()
038        {
039            Mouse.setCursorPosition(this.windowComponent.getWidth() / 2, this.windowComponent.getHeight() / 2);
040            Mouse.setGrabbed(false);
041        }
042    
043        public void mouseXYChange()
044        {
045            this.deltaX = Mouse.getDX();
046            this.deltaY = Mouse.getDY();
047        }
048    }