70 void createWxWindow(
unsigned int initialWidth,
unsigned int initialHeight);
88 void* winobj_voidptr,
int CMD_CREATE_WIN,
int CMD_DESTROY_WIN,
89 const std::string& initial_caption = std::string());
98 virtual void resize(
unsigned int width,
unsigned int height) = 0;
102 virtual void setPos(
int x,
int y) = 0;
132 bool ignoreControlKeys =
true,
An event sent by a window upon resize.
CBaseGUIWindow * source_object
const int m_CMD_CREATE_WIN
can be 200,300,400...
An event sent by a window upon a mouse click, giving the (x,y) pixel coordinates. ...
std::atomic_int m_keyPushedCode
int getPushedKey(mrptKeyModifier *out_pushModifier=nullptr)
Returns the latest pushed key, or 0 if there is no new key stroke.
mrptEventMouseMove(CBaseGUIWindow *obj, mrpt::img::TPixelCoord _coords, bool _leftButton, bool _rightButton)
mrpt::void_ptr_noncopy m_hwnd
The window handle.
std::string m_caption
The caption of the window.
virtual void setWindowTitle(const std::string &str)=0
Changes the window title text.
The basic event type for the observer-observable pattern in MRPT.
int waitForKey(bool ignoreControlKeys=true, mrptKeyModifier *out_pushModifier=nullptr)
Waits for any key to be pushed on the image or the console, and returns the key code.
mrptEventWindowResize(CBaseGUIWindow *obj, size_t _new_width, size_t _new_height)
CBaseGUIWindow(void *winobj_voidptr, int CMD_CREATE_WIN, int CMD_DESTROY_WIN, const std::string &initial_caption=std::string())
CMD_DESTROY_WIN can be 299,399,499...
The wx dialog for gui::CDisplayWindowPlots.
virtual void setCursorCross(bool cursorIsCross)=0
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true) ...
An event sent by a window upon when it's about to be closed, either manually by the user or programma...
An event sent by a window when the mouse is moved over it.
void notifyChildWindowDestruction()
Called by wx main thread to set m_hwnd to NULL.
virtual void setPos(int x, int y)=0
Changes the position of the window on the screen.
void do_nothing() override
Just to allow this class to be polymorphic.
void * getWxObject()
Read-only access to the wxDialog object.
bool isOpen()
Returns false if the user has already closed the window.
std::atomic< mrptKeyModifier > m_keyPushedModifier
bool keyHit() const
Returns true if a key has been pushed, without blocking waiting for a new key being pushed...
A pair (x,y) of pixel coordinates (integer resolution).
The wx dialog for gui::CDisplayWindow.
CBaseGUIWindow * source_object
const int m_CMD_DESTROY_WIN
can be 299,399,499...
An event sent by a window upon a char pressed by the user.
Inherit from this class for those objects capable of being observed by a CObserver class...
CBaseGUIWindow * source_object
std::promise< void > m_threadReady
This semaphore will be signaled when the wx window is built and ready.
mrptEventMouseDown(CBaseGUIWindow *obj, mrpt::img::TPixelCoord _coords, bool _leftButton, bool _rightButton)
mrptEventWindowClosed(CBaseGUIWindow *obj, bool _allow_close=true)
mrpt::img::TPixelCoord coords
std::atomic_bool m_keyPushed
mrptKeyModifier key_modifiers
Modifiers (Shift, Control, etc...)
virtual void resize(unsigned int width, unsigned int height)=0
Resizes the window, stretching the image to fit into the display area.
mrptEventWindowChar(CBaseGUIWindow *obj, int _char_code, mrptKeyModifier _key_mod)
CBaseGUIWindow * source_object
virtual bool getLastMousePosition(int &x, int &y) const =0
Gets the last x,y pixel coordinates of the mouse.
void destroyWxWindow()
Must be called by child classes in their destructors.
Classes for creating GUI windows for 2D and 3D visualization.
void createWxWindow(unsigned int initialWidth, unsigned int initialHeight)
Must be called by child classes just within the constructor.
void do_nothing() override
Just to allow this class to be polymorphic.
CBaseGUIWindow * source_object
mrpt::img::TPixelCoord coords
void notifySemThreadReady()
Called by wx main thread to signal the semaphore that the wx window is built and ready.
std::promise< void > m_windowDestroyed
This semaphore will be signaled when the wx window is destroyed.
int char_code
The virtual key code, as defined in <mrpt/gui/keycodes.h> (a replication of wxWidgets key codes)...
The base class for GUI window classes based on wxWidgets.
~CBaseGUIWindow() override
void do_nothing() override
Just to allow this class to be polymorphic.
void do_nothing() override
Just to allow this class to be polymorphic.
void clearKeyHitFlag()
Assure that "keyHit" will return false until the next pushed key.
void do_nothing() override
Just to allow this class to be polymorphic.