Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

cursor.h

Go to the documentation of this file.
00001 /* ***********************************************************************************
00002         Writer:         Sebastien Bloc
00003         Copyright:      2003-2004
00004         eMail:          sebastien.bloc@free.fr
00005         URL:            http://mignonsoft.free.fr
00006 
00007         This program is free software; you can redistribute it and/or
00008         modify it under the terms of the GNU General Public License
00009         as published by the Free Software Foundation; either version 2
00010         of the License, or (at your option) any later version.
00011 
00012         This program is distributed in the hope that it will be useful,
00013         but WITHOUT ANY WARRANTY; without even the implied warranty of
00014         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015         GNU General Public License for more details.
00016         http://www.gnu.org/copyleft/gpl.html
00017 *********************************************************************************** */
00018 
00023 #ifndef INCLUDE_CURSOR_H
00024 #define INCLUDE_CURSOR_H
00025 
00026 #include "color.h"
00027 #include "control.h"
00028 
00034 typedef enum
00035 {
00036         cursorArrow,
00037         cursorWait,
00038         cursorText,
00039         cursorMoving,
00040         cursorRepere,
00041         cursorPush,
00042         cursorNoChange,
00043         cursorNothing
00044 } CursorType;
00045 
00046 class Cursor 
00047 {
00048 public:
00049         CursorType curType;
00050         CursorType leftType,rightType,midType;
00051         Face curFace;
00052         Face leftFace;
00053         Face midFace;
00054         Face rightFace;
00055         Recorder recorderRepere;
00056 
00057         Cursor();
00058         void Create();
00059         void ApplyType(Face *face,CursorType type);
00060         void ApplyTypes(CursorType current=cursorNoChange,CursorType left=cursorNoChange,CursorType mid=cursorNoChange,CursorType right=cursorNoChange);
00061         void Rotate(Face *face,CursorType type,Point3D<double> angle);
00062         void Rotate(Point3D<double> angle);
00063         void Draw(double x,double y);
00064 
00065         Point2D<int> GetHotSpot(CursorType type);
00066         void DrawArrow(Color color);
00067         void DrawRepere();
00068         void DrawText(char *text);
00069         void DrawVector(double x,double y);
00070         BOOL DrawVectorMinMax(double x,double y,double minIntensity,double maxIntensity);
00071 };
00072 
00073 #endif

Generated on Fri Aug 20 19:19:44 2004 for 3d Controls by doxygen 1.3.6