30 #ifndef Pt_Forms_Screen_H
31 #define Pt_Forms_Screen_H
33 #include <Pt/Forms/Api.h>
34 #include <Pt/Forms/Widget.h>
35 #include <Pt/Gfx/Size.h>
36 #include <Pt/System/Clock.h>
37 #include <Pt/Signal.h>
46 class ApplicationImpl;
54 class PT_FORMS_API
Screen :
public Widget
56 friend class ScreenImpl;
61 Screen(ApplicationImpl& app);
68 void removeWindow(
Window& w);
70 const std::vector<Window*>& windows()
const;
72 WindowManager& windowManager();
75 Widget* underPointer();
77 void setPointer(Widget* widget);
79 void setPointer(Widget& widget,
bool isPointer);
85 virtual void onInit(ScreenImpl& s);
87 virtual void onRelease(ScreenImpl& s);
89 virtual void onResize(ScreenImpl& s,
const Gfx::SizeF& size);
91 virtual void onShow(ScreenImpl& s,
bool isShow);
110 virtual void onProcessEvent(
const Event& ev );
112 virtual void onRequestRepaint(
const Gfx::RectF& rect);
115 virtual void onProcessRescaleEvent(
const RescaleEvent& ev);
117 virtual void onRescaleEvent(
const RescaleEvent& ev);
119 virtual void onRescale(
double scaling);
122 virtual void onProcessPaintEvent(
const PaintEvent& ev);
124 virtual void onPaintEvent(
const PaintEvent& ev);
129 virtual void onProcessResizeEvent(
const ResizeEvent& ev);
131 virtual void onResizeEvent(
const ResizeEvent& ev);
134 virtual void onProcessMouseEvent(
const MouseEvent& ev);
136 virtual void onProcessTouchEvent(
const TouchEvent& ev);
138 virtual void onProcessScrollEvent(
const ScrollEvent& ev);
140 virtual void onProcessKeyEvent(
const KeyEvent& ev);
146 virtual bool onMouseEvent(
const MouseEvent& ev);
148 virtual bool onTouchEvent(
const TouchEvent& ev);
150 virtual bool onScrollEvent(
const ScrollEvent& ev);
152 virtual bool onKeyEvent(
const KeyEvent& ev);
Measures time intervals.
Definition: Clock.h:46
Rect with floating-point coordinates.
Definition: Rect.h:44
Base class for all event types.
Definition: Event.h:49
Size with floating-point width and height.
Definition: Size.h:44
Point with floating-point X and Y coordinates.
Definition: Point.h:44