29 #ifndef PT_FORMS_WINDOWFRAME_H
30 #define PT_FORMS_WINDOWFRAME_H
32 #include <Pt/Forms/Api.h>
33 #include <Pt/Forms/Widget.h>
34 #include <Pt/Forms/View.h>
35 #include <Pt/Forms/WindowType.h>
36 #include <Pt/Forms/Pixmap.h>
37 #include <Pt/Gfx/Bitmap.h>
48 class WindowFrame :
public Widget
53 friend class WindowManager;
56 WindowFrame(WindowManager& wm, Window& window);
58 virtual ~WindowFrame();
62 const Window& window()
const;
66 const Pixmap& pixmap()
const;
68 PaintSurface& surface();
70 void getBitmap(Gfx::Bitmap& bitmap);
73 virtual void onConnect(Screen& screen);
75 virtual void onDisconnect();
78 virtual void onProcessPaintEvent(
const PaintEvent& ev);
80 virtual void onPaintEvent(
const PaintEvent& ev);
83 virtual void onProcessRescaleEvent(
const RescaleEvent& ev);
85 virtual void onRescaleEvent(
const RescaleEvent& ev);
88 virtual void onProcessResizeEvent(
const ResizeEvent& ev);
90 virtual void onResizeEvent(
const ResizeEvent& ev);
93 virtual void onProcessActivateEvent(
const ActivateEvent& ev);
95 virtual void onActivateEvent(
const ActivateEvent& ev);
98 virtual void onProcessWindowStateEvent(
const WindowStateEvent& ev);
100 virtual void onWindowStateEvent(
const WindowStateEvent& ev);
103 virtual void onProcessCloseEvent(
const CloseEvent& ev);
105 virtual void onCloseEvent(
const CloseEvent& ev);
108 virtual void onInit(Window& w) = 0;
110 virtual void onRelease(Window& w) = 0;
112 virtual Gfx::PointF onToWindow(
const Window& w,
113 const Gfx::PointF& pos)
const = 0;
115 virtual Gfx::PointF onFromWindow(
const Window& w,
116 const Gfx::PointF& pos)
const = 0;
118 virtual void onSetTitle(Window& w,
const std::string& text) = 0;
120 virtual void onSetIcon(Window& w,
const Gfx::Image& icon) = 0;
122 virtual void onSetState(Window& w,
const WindowState& state) = 0;
124 virtual void onSetAbove(Window& w,
bool above) = 0;
126 virtual void onSetSizeLimits(Window& w,
const Gfx::SizeF& minSize,
127 const Gfx::SizeF& maxSize) = 0;
129 virtual void onAutoCenter(Window& w,
const Gfx::SizeF* size) = 0;
131 virtual void onRepaint(Window& w,
const Gfx::RectF& rect) = 0;
133 virtual void onShow(Window& w,
bool visible) = 0;
135 virtual void onActivate(Window& w,
bool active) = 0;
137 virtual void onEnable(Window& w,
bool enable) = 0;
139 virtual void onMove(Window& w,
const Gfx::PointF& to) = 0;
141 virtual Gfx::SizeF onResize(Window& w,
const Gfx::SizeF& s) = 0;
143 virtual void onClose(Window& w) = 0;
146 using Base::onSetSizeLimits;
148 using Base::onEnable;
153 PixmapSurface _pixmap;
154 class ViewSurface* _surface;
161 #endif // include guard