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

uwinImpl.hpp

00001 /* ==================================================== ======== ======= *
00002  *
00003  *  uwinImpl.hh  [Window Implementation]
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 _uwinImpl_hh
00026 #define _uwinImpl_hh
00027 //pragma ident  "@(#)uwin.hh    ubit:03.04.00"
00028 #include <ubit/uprop.hpp>
00029 #include <ubit/ugraph.hpp>
00030 
00031 /* ==================================================== ======== ======= */
00032 
00033 class USoftwinImpl {
00034   friend class UWin;
00035   friend class UHardwinImpl;
00036 
00037   UPos pos;
00038   UView* current_winview;
00039 
00040 public:
00041   USoftwinImpl(class UWin&);
00042   ~USoftwinImpl();
00043 
00044   void update(const class UUpdate& upmode, class UWin*, class UView* winview);
00045 };
00046 
00047 /* ==================================================== ======== ======= */
00048 
00049 class UHardwinImpl {
00050   friend class UWin;
00051   friend class USoftwinImpl;
00052 
00053   class UWinGraph& wingraph; 
00054   class ULink* sub_softwins;
00055 
00056 public:
00057   UHardwinImpl(class UWin&);
00058   ~UHardwinImpl();
00059 
00060   class UWinGraph* getWinGraph() const {return &wingraph;} 
00061   class UNatWin*   getNatWin()   const {return wingraph.getNatWin();}
00062 
00063   class ULink*  getSoftwinLink() const {return sub_softwins;} 
00064   class UGroup* getSoftwins() const;
00065   void  removeSoftwin(UWin* softwin);
00066   void  addSoftwin(UWin* softwin, UWin* hardwin, UView* hardwin_view);
00067 
00068   void  update(const class UUpdate &mode, class UWin*, class UView* winview);
00069   void  updateImpl(const class UUpdate& upmode, class UWin*,
00070                    class UView* winview, bool impose_size, u_dim w, u_dim h);
00071 };
00072 
00073 #endif
00074 /* ==================================================== [TheEnd] ======= */
00075 /* ==================================================== [Elc:03] ======= */
00076 

Generated on Thu Mar 3 06:33:20 2005 for Ubit[Eric.Lecolinet@enst.fr] by  doxygen 1.4.1