diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-10-29 14:10:20 +0200 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-10-29 14:10:20 +0200 |
commit | 0257f0b53d9a6baed3719159b721abdc31d44715 (patch) | |
tree | 60f16f89177d69718b621c75ad7c024eb42a6e5d /src/ui/widget.h | |
parent | b12399bf941f9de46798e84a818c9cffded6debe (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.h | 7 |
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) | |||
41 | iBeginDeclareClass(Widget) | 41 | iBeginDeclareClass(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 */ | ||
44 | iEndDeclareClass(Widget) | 45 | iEndDeclareClass(Widget) |
45 | 46 | ||
46 | enum iWidgetFlag { | 47 | enum 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 | ||
89 | enum iWidgetAddPos { | 91 | enum 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 | ||
134 | void destroy_Widget (iWidget *); /* widget removed and deleted later */ | 136 | void destroy_Widget (iWidget *); /* widget removed and deleted later */ |
135 | void destroyPending_Widget(void); | 137 | void destroyPending_Widget (void); |
138 | void releaseChildren_Widget (iWidget *); | ||
136 | 139 | ||
137 | const iString *id_Widget (const iWidget *); | 140 | const iString *id_Widget (const iWidget *); |
138 | int64_t flags_Widget (const iWidget *); | 141 | int64_t flags_Widget (const iWidget *); |