// Window.h: interface for the CWindow class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_WINDOW_H__5E636D91_60B2_47BF_BA22_0380D4BAAFA8__INCLUDED_) #define AFX_WINDOW_H__5E636D91_60B2_47BF_BA22_0380D4BAAFA8__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include <gui/winserve.h> class CWindow : public IUnknown, public IWindow, public rectangle_t { public: CWindow *m_prev, *m_next, *m_first, *m_last, *m_parent; IWindowServer* m_srv; ISurface* m_surf; IFont* m_font; wchar_t* m_title; rectangle_t m_invalid_rect; dword m_attribs[3]; CWindow(const windowdef_t* def, IWindowServer* srv); virtual ~CWindow(); virtual void OnPaint(ISurface* surf, const rectangle_t* rect); virtual void AdjustForFrame(rectangle_t* rect) { } void PostMessage(dword message, dword param); virtual void RemoveChild(CWindow* child); STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject); IMPLEMENT_IUNKNOWN(CWindow); STDMETHOD_(dword, GetAttrib)(dword index); STDMETHOD_(ISurface*, GetSurface)(); STDMETHOD(InvalidateRect)(const rectangle_t* rect); STDMETHOD(UpdateWindow)(); STDMETHOD(DefWndProc)(dword message, dword param); STDMETHOD_(IWindow*, GetFirstChild)(); STDMETHOD(ClientToScreen)(rectangle_t* rect); }; #endif // !defined(AFX_WINDOW_H__5E636D91_60B2_47BF_BA22_0380D4BAAFA8__INCLUDED_)