/*
* GUICursor.cs
* Authors: Mike DeMauro
* Copyright (c) 2007-2008 Cornell University
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
using System;
using System.Collections.Generic;
using System.Text;
using tAC_Engine.GUI;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;
namespace tAC_Engine.GUI
{
///
/// Draws an image to
///
public class GUICursor : GUIComponent
{
///
/// Cursor texture
///
protected Texture2D mCursor;
///
/// Name of the cursor texture
///
protected string mCursorTextureName = @"Textures/StandardCursor";
///
/// Name of the cursor texture, default is "Textures/StandardCursor"
///
public string CursorTextureName
{
get { return mCursorTextureName; }
set { mCursorTextureName = value; }
}
///
/// Location of the cursor on the screen
///
protected Vector2 mLocation = Vector2.Zero;
public Vector2 Location
{
get { return mLocation; }
set { mLocation = value; }
}
///
/// Loads cursor texture
///
public override void LoadContent()
{
if (mParentScreen != null)
{
mCursor = mParentScreen.Content.Load(mCursorTextureName);
}
base.LoadContent();
}
///
/// Draws cursor to screen.
///
/// Time of the game
public override void Draw(Microsoft.Xna.Framework.GameTime gameTime)
{
Batch.Draw(mCursor, mLocation, null, Color.White, mRotation, Vector2.Zero, 1f, mSpriteEffects, 1.0f);
}
///
/// Does nothing
///
public override void Initialize()
{
}
///
/// Updates cursor location
///
/// Time of the game
public override void Update(GameTime gameTime)
{
if (mParentScreen != null)
{
mLocation.X = mParentScreen.InputHandler.MouseLocation.X;
mLocation.Y = mParentScreen.InputHandler.MouseLocation.Y;
}
}
///
/// Does nothing, returns false
///
public override bool HandleMouseEvent(Util.MouseInputEvent e)
{
return false;
}
///
/// Does nothing, returns false
///
public override bool HandleKeyEvent(Util.KeyInputEvent e)
{
return false;
}
}
}