//------------------------------------------------------------------------------
// emCursor.h
//
// Copyright (C) 2005-2012 Oliver Hamann.
//
// Homepage: http://eaglemode.sourceforge.net/
//
// This program is free software: you can redistribute it and/or modify it under
// the terms of the GNU General Public License version 3 as published by the
// Free Software Foundation.
//
// 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 version 3 for
// more details.
//
// You should have received a copy of the GNU General Public License version 3
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//------------------------------------------------------------------------------
#ifndef emCursor_h
#define emCursor_h
#ifndef emStd2_h
#include <emCore/emStd2.h>
#endif
//==============================================================================
//================================== emCursor ==================================
//==============================================================================
class emCursor {
public:
// Class for a mouse cursor.
//??? Allow custom cursors (e.g. construct from an image and
//??? hot spot coordinates, or from a file).
enum {
// Possible values for the cursor id.
NORMAL = 0,
INVISIBLE = 1,
WAIT = 2,
CROSSHAIR = 3,
TEXT = 4,
HAND = 5,
LEFT_RIGHT_ARROW = 6,
UP_DOWN_ARROW = 7,
LEFT_RIGHT_UP_DOWN_ARROW = 8
};
emCursor();
// Construct a normal cursor.
emCursor(int cursorId);
// Construct from a cursor id.
emCursor(const emCursor & cursor);
// Copy constructor.
emCursor & operator = (const emCursor & cursor);
emCursor & operator = (int cursorId);
// Copy operators.
operator int () const;
int Get() const;
// Get the cursor id.
const char * ToString() const;
// Convert to string representation.
private:
int CursorId;
};
inline emCursor::emCursor()
{
CursorId=NORMAL;
}
inline emCursor::emCursor(int cursorId)
{
CursorId=cursorId;
}
inline emCursor::emCursor(const emCursor & cursor)
{
CursorId=cursor.CursorId;
}
inline emCursor & emCursor::operator = (const emCursor & cursor)
{
CursorId=cursor.CursorId;
return *this;
}
inline emCursor & emCursor::operator = (int cursorId)
{
CursorId=cursorId;
return *this;
}
inline emCursor::operator int () const
{
return CursorId;
}
inline int emCursor::Get() const
{
return CursorId;
}
#endif