summaryrefslogtreecommitdiff
path: root/src/ui/widget.h
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2020-10-29 14:10:20 +0200
committerJaakko Keränen <jaakko.keranen@iki.fi>2020-10-29 14:10:20 +0200
commit0257f0b53d9a6baed3719159b721abdc31d44715 (patch)
tree60f16f89177d69718b621c75ad7c024eb42a6e5d /src/ui/widget.h
parentb12399bf941f9de46798e84a818c9cffded6debe (diff)
LabelWidget: Flag for wrapping text
Widgets now have an optional virtual method that gets called when the size of the widget changes during arranging. Wrapped text in LabelWidget uses this to update its height.
Diffstat (limited to 'src/ui/widget.h')
-rw-r--r--src/ui/widget.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ui/widget.h b/src/ui/widget.h
index a1a38f28..fd7ee316 100644
--- a/src/ui/widget.h
+++ b/src/ui/widget.h
@@ -41,6 +41,7 @@ iDeclareType(Widget)
41iBeginDeclareClass(Widget) 41iBeginDeclareClass(Widget)
42 iBool (*processEvent) (iWidget *, const SDL_Event *); 42 iBool (*processEvent) (iWidget *, const SDL_Event *);
43 void (*draw) (const iWidget *); 43 void (*draw) (const iWidget *);
44 void (*sizeChanged) (iWidget *); /* optional, defaults to NULL */
44iEndDeclareClass(Widget) 45iEndDeclareClass(Widget)
45 46
46enum iWidgetFlag { 47enum iWidgetFlag {
@@ -85,6 +86,7 @@ enum iWidgetFlag {
85#define wasCollapsed_WidgetFlag iBit64(32) 86#define wasCollapsed_WidgetFlag iBit64(32)
86#define centerHorizontal_WidgetFlag iBit64(33) 87#define centerHorizontal_WidgetFlag iBit64(33)
87#define moveToParentRightEdge_WidgetFlag iBit64(34) 88#define moveToParentRightEdge_WidgetFlag iBit64(34)
89#define wrapText_WidgetFlag iBit64(35)
88 90
89enum iWidgetAddPos { 91enum iWidgetAddPos {
90 back_WidgetAddPos, 92 back_WidgetAddPos,
@@ -131,8 +133,9 @@ iLocalDef const iWidget *constAs_Widget(const iAnyObject *d) {
131 return (const iWidget *) d; 133 return (const iWidget *) d;
132} 134}
133 135
134void destroy_Widget (iWidget *); /* widget removed and deleted later */ 136void destroy_Widget (iWidget *); /* widget removed and deleted later */
135void destroyPending_Widget(void); 137void destroyPending_Widget (void);
138void releaseChildren_Widget (iWidget *);
136 139
137const iString *id_Widget (const iWidget *); 140const iString *id_Widget (const iWidget *);
138int64_t flags_Widget (const iWidget *); 141int64_t flags_Widget (const iWidget *);