template<class Application>
BasicScreen class
Base for application screens.
Contents
See BasicScreenedApplication for more information.
If exactly one application header is included, this class is also aliased to Platform::Screen
.
Explicit template specializations
The following specialization are explicitly compiled into each particular *Application
library. For other specializations you have to use ScreenedApplication.hpp implementation file to avoid linker errors. See Template headers and implementation files for more information.
Public types
- enum class PropagatedEvent: UnsignedByte { Draw = 1 << 0, Input = 1 << 1 }
- Event propagated to given screen.
-
using PropagatedEvents = Containers::
EnumSet<PropagatedEvent> - Events propagated to given screen.
- using InputEvent = BasicScreenedApplication<Application>::InputEvent
- Input event.
- using KeyEvent = BasicScreenedApplication<Application>::KeyEvent
- Key event.
- using MouseEvent = BasicScreenedApplication<Application>::MouseEvent
- Mouse event.
- using MouseMoveEvent = BasicScreenedApplication<Application>::MouseMoveEvent
- Mouse move event.
Public functions
- auto propagatedEvents() const -> PropagatedEvents
- Events propagated to this screen.
- void setPropagatedEvents(PropagatedEvents events)
- Set events propagated to this screen.
-
template<class T = BasicScreenedApplication<Application>>auto application() -> T*
- Application holding this screen.
-
template<class T = BasicScreenedApplication<Application>>auto application() const -> const T*
- auto nextNearerScreen() -> BasicScreen<Application>*
- Next nearer screen.
- auto nextNearerScreen() const -> const BasicScreen<Application>*
- auto nextFartherScreen() -> BasicScreen<Application>*
- Next farther screen.
- auto nextFartherScreen() const -> const BasicScreen<Application>*
Protected functions
- void redraw() virtual
- Request redraw.
- void focusEvent() pure virtual
- Focus event.
- void blurEvent() pure virtual
- Blur event.
- void viewportEvent(const Vector2i& size) pure virtual
- Viewport event.
- void drawEvent() pure virtual
- Draw event.
- void keyPressEvent(KeyEvent& event) virtual
- Key press event.
- void keyReleaseEvent(KeyEvent& event) virtual
- Key release event.
- void mousePressEvent(MouseEvent& event) virtual
- Mouse press event.
- void mouseReleaseEvent(MouseEvent& event) virtual
- Mouse release event.
- void mouseMoveEvent(MouseMoveEvent& event) virtual
- Mouse move event.
Enum documentation
template<class Application>
enum class Magnum:: Platform:: BasicScreen<Application>:: PropagatedEvent: UnsignedByte
Event propagated to given screen.
Enumerators | |
---|---|
Draw |
Draw event. When enabled, drawEvent() is propagated to this screen. |
Input |
Input events. When enabled, keyPressEvent(), keyReleaseEvent(), mousePressEvent(), mouseReleaseEvent() and mouseMoveEvent() are propagated to this screen. |
Typedef documentation
template<class Application>
typedef Containers:: EnumSet<PropagatedEvent> Magnum:: Platform:: BasicScreen<Application>:: PropagatedEvents
Events propagated to given screen.
Function documentation
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: setPropagatedEvents(PropagatedEvents events)
Set events propagated to this screen.
For non-propagated events related event functions are not called. No events are propagated by default, call this function in focusEvent() and blurEvent() to reflect focus changes.
template<class Application>
template<class T = BasicScreenedApplication<Application>>
const T* Magnum:: Platform:: BasicScreen<Application>:: application() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<class Application>
BasicScreen<Application>* Magnum:: Platform:: BasicScreen<Application>:: nextNearerScreen()
Next nearer screen.
Use application().screens().first()
to access the front screen and application().screens().last()
to access the back screen.
template<class Application>
const BasicScreen<Application>* Magnum:: Platform:: BasicScreen<Application>:: nextNearerScreen() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<class Application>
BasicScreen<Application>* Magnum:: Platform:: BasicScreen<Application>:: nextFartherScreen()
Next farther screen.
Use application().screens().first()
to access the front screen and application().screens().last()
to access the back screen.
template<class Application>
const BasicScreen<Application>* Magnum:: Platform:: BasicScreen<Application>:: nextFartherScreen() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: focusEvent() pure virtual protected
Focus event.
Called when screen is focused using BasicScreenedApplication::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: blurEvent() pure virtual protected
Blur event.
Called when another screen is focused using BasicScreenedApplication::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: viewportEvent(const Vector2i& size) pure virtual protected
Viewport event.
Called from holder application when viewport size changes. See *Application::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: drawEvent() pure virtual protected
Draw event.
Called when PropagatedEvent::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: keyPressEvent(KeyEvent& event) virtual protected
Key press event.
Called when PropagatedEvent::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: keyReleaseEvent(KeyEvent& event) virtual protected
Key release event.
Called when PropagatedEvent::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: mousePressEvent(MouseEvent& event) virtual protected
Mouse press event.
Called when PropagatedEvent::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: mouseReleaseEvent(MouseEvent& event) virtual protected
Mouse release event.
Called when PropagatedEvent::
template<class Application>
void Magnum:: Platform:: BasicScreen<Application>:: mouseMoveEvent(MouseMoveEvent& event) virtual protected
Mouse move event.
Called when PropagatedEvent::