00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef _uwinImpl_hh
00026
#define _uwinImpl_hh
00027
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
00075
00076