29#include <sptk5/gui/CShapePoint.h>
30#include <sptk5/gui/sptk_fltk_version.h>
70 int m_resizingZone {0};
90 bool m_shapeChanged {
true};
95 int m_borderWidth {6};
100 bool m_borderCleared {
false};
105 bool m_shapeExtension {
false};
150 return m_resizingZone != 0;
167 return m_borderCleared;
180 if (m_lastW == w && m_lastH == h)
183 m_shapeChanged =
true;
Window non-rectangular shape support.
Definition: CWindowShape.h:50
virtual int shapeCursorHandle(int event)
Changes the window cursor based on the mouse position in the window.
virtual void shapeResize(int w, int h)
Shape resize.
Definition: CWindowShape.h:194
CWindowShape(sptk::CWindow *window)
Constructor.
void initShapeExtension()
Initializes shape extension.
bool borderCleared() const
Returns true if border was cleared for the shape.
Definition: CWindowShape.h:165
virtual ~CWindowShape()
Destructor.
Definition: CWindowShape.h:139
std::vector< CShapePoint > m_shapePoints
Definition: CWindowShape.h:85
void shapeApply()
Sets the shape to the window during window->draw()
void resizingShape(int w, int h)
Calls resizeShape() from inside CWindow::resize()
Definition: CWindowShape.h:178
void changeSize(int mouseX, int mouseY)
Resizes the window based on mouse zone and mouse screen coordinates.
bool shapeResizing()
Returns true if the window is resizing as a result of border drag.
Definition: CWindowShape.h:148
int mouseZone(int mouseX, int mouseY) const
Computes mouse zone from window coordinates.
Window widget.
Definition: CWindow.h:57