summaryrefslogtreecommitdiff
path: root/textscreen/txt_widget.h
diff options
context:
space:
mode:
Diffstat (limited to 'textscreen/txt_widget.h')
-rw-r--r--textscreen/txt_widget.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/textscreen/txt_widget.h b/textscreen/txt_widget.h
index ebb5a292..f64b9517 100644
--- a/textscreen/txt_widget.h
+++ b/textscreen/txt_widget.h
@@ -71,13 +71,14 @@ typedef struct txt_widget_class_s txt_widget_class_t;
typedef struct txt_callback_table_s txt_callback_table_t;
typedef void (*TxtWidgetSizeCalc)(TXT_UNCAST_ARG(widget));
-typedef void (*TxtWidgetDrawer)(TXT_UNCAST_ARG(widget), int selected);
+typedef void (*TxtWidgetDrawer)(TXT_UNCAST_ARG(widget));
typedef void (*TxtWidgetDestroy)(TXT_UNCAST_ARG(widget));
typedef int (*TxtWidgetKeyPress)(TXT_UNCAST_ARG(widget), int key);
typedef void (*TxtWidgetSignalFunc)(TXT_UNCAST_ARG(widget), void *user_data);
typedef void (*TxtMousePressFunc)(TXT_UNCAST_ARG(widget), int x, int y, int b);
typedef void (*TxtWidgetLayoutFunc)(TXT_UNCAST_ARG(widget));
typedef int (*TxtWidgetSelectableFunc)(TXT_UNCAST_ARG(widget));
+typedef void (*TxtWidgetFocusFunc)(TXT_UNCAST_ARG(widget), int focused);
struct txt_widget_class_s
{
@@ -88,6 +89,7 @@ struct txt_widget_class_s
TxtWidgetDestroy destructor;
TxtMousePressFunc mouse_press;
TxtWidgetLayoutFunc layout;
+ TxtWidgetFocusFunc focus_change;
};
struct txt_widget_s
@@ -96,6 +98,7 @@ struct txt_widget_s
txt_callback_table_t *callback_table;
int visible;
txt_horiz_align_t align;
+ int focused;
// These are set automatically when the window is drawn and should
// not be set manually.
@@ -110,7 +113,7 @@ struct txt_widget_s
void TXT_InitWidget(TXT_UNCAST_ARG(widget), txt_widget_class_t *widget_class);
void TXT_CalcWidgetSize(TXT_UNCAST_ARG(widget));
-void TXT_DrawWidget(TXT_UNCAST_ARG(widget), int selected);
+void TXT_DrawWidget(TXT_UNCAST_ARG(widget));
void TXT_EmitSignal(TXT_UNCAST_ARG(widget), const char *signal_name);
int TXT_WidgetKeyPress(TXT_UNCAST_ARG(widget), int key);
void TXT_WidgetMousePress(TXT_UNCAST_ARG(widget), int x, int y, int b);
@@ -118,6 +121,7 @@ void TXT_DestroyWidget(TXT_UNCAST_ARG(widget));
void TXT_LayoutWidget(TXT_UNCAST_ARG(widget));
int TXT_AlwaysSelectable(TXT_UNCAST_ARG(widget));
int TXT_NeverSelectable(TXT_UNCAST_ARG(widget));
+void TXT_SetWidgetFocus(TXT_UNCAST_ARG(widget), int focused);
/**
* Set a callback function to be invoked when a signal occurs.
@@ -167,7 +171,7 @@ int TXT_HoveringOverWidget(TXT_UNCAST_ARG(widget));
* @param selected Whether the widget is selected.
*/
-void TXT_SetWidgetBG(TXT_UNCAST_ARG(widget), int selected);
+void TXT_SetWidgetBG(TXT_UNCAST_ARG(widget));
/**
* Query whether the specified widget is contained within another