Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

usymbol.hpp

00001 /* ==================================================== ======== ======= *
00002  *
00003  *  usymbol.hh
00004  *  Ubit Project [Elc::2003]
00005  *  Author: Eric Lecolinet
00006  *
00007  *  Part of the Ubit Toolkit: A Brick Construction Game Model for Creating GUIs
00008  *
00009  *  (C) 1999-2003 Eric Lecolinet @ ENST Paris
00010  *  WWW: http://www.enst.fr/~elc/ubit   Email: elc@enst.fr (subject: ubit)
00011  *
00012  * ***********************************************************************
00013  * COPYRIGHT NOTICE : 
00014  * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY AND WITHOUT EVEN THE 
00015  * IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
00016  * YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE GNU 
00017  * GENERAL PUBLIC LICENSE AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION; 
00018  * EITHER VERSION 2 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
00019  * SEE FILES 'COPYRIGHT' AND 'COPYING' FOR MORE DETAILS.
00020  * ***********************************************************************
00021  *
00022  * ==================================================== [Elc:03] ======= *
00023  * ==================================================== ======== ======= */
00024 
00025 #ifndef _usymbol_hh
00026 #define _usymbol_hh
00027 //pragma ident  "@(#)usymbol_hh ubit:03.02.00"
00028 #include <ubit/uelem.hpp>
00029 
00030 
00033 class USymbol: public UElem {
00034 public:
00036   static USymbol left, right, up, down, check, radio, square, circle, slider;
00037 
00038   USymbol(const USymbol&);
00039   friend USymbol& usymbol(const USymbol&);
00040 
00041   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00042 
00043   void set(const USymbol&);
00044   virtual void update();
00045 
00046   void setColor(const UColor&);
00047   void setFrontShadowColor(const UColor&);
00048   void setBackShadowColor(const UColor&);
00049 
00050 protected:
00051   friend class UBox;
00052   enum  {
00053     S_LEFT, S_RIGHT, S_UP, S_DOWN, S_CHECK, S_RADIO, S_SQUARE, S_CIRCLE, 
00054     S_SLIDER
00055   };
00056 
00057   // private constructor (internal implementation):
00058   USymbol(int ix, u_modes bmodes = 0);
00059   int ix;               // internal index
00060   const class UColor *color, *frontShadowColor, *backShadowColor;
00061   virtual void getSize(UContext*, u_dim *w, u_dim *h) const;
00062   virtual void paint(UWinGraph&, UContext*, const URegion &r) const;
00063 };
00064 
00065 #endif
00066 /* ==================================================== [TheEnd] ======= */
00067 /* ==================================================== [Elc:03] ======= */

Generated on Fri Jun 3 03:30:13 2005 for Ubit[Eric.Lecolinet@enst.fr] by  doxygen 1.4.2