From 3a5668eeb63a3deae8861dd9a7f176bb773df898 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Mon, 29 May 2006 19:22:51 +0000 Subject: Add strut class to allow table column width to be forced. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 539 --- textscreen/txt_strut.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 textscreen/txt_strut.c (limited to 'textscreen/txt_strut.c') diff --git a/textscreen/txt_strut.c b/textscreen/txt_strut.c new file mode 100644 index 00000000..47e80130 --- /dev/null +++ b/textscreen/txt_strut.c @@ -0,0 +1,55 @@ + +#include +#include + +#include "doomkeys.h" + +#include "txt_strut.h" +#include "txt_io.h" +#include "txt_main.h" +#include "txt_window.h" + +static void TXT_StrutSizeCalc(TXT_UNCAST_ARG(strut), int *w, int *h) +{ + TXT_CAST_ARG(txt_strut_t, strut); + + // Minimum width is the string length + two spaces for padding + + *w = strut->width; + *h = 0; +} + +static void TXT_StrutDrawer(TXT_UNCAST_ARG(strut), int w, int selected) +{ + // Nothing is drawn for a strut. +} + +static void TXT_StrutDestructor(TXT_UNCAST_ARG(strut)) +{ +} + +static int TXT_StrutKeyPress(TXT_UNCAST_ARG(strut), int key) +{ +} + +txt_widget_class_t txt_strut_class = +{ + TXT_StrutSizeCalc, + TXT_StrutDrawer, + TXT_StrutKeyPress, + TXT_StrutDestructor, +}; + +txt_strut_t *TXT_NewStrut(int width) +{ + txt_strut_t *strut; + + strut = malloc(sizeof(txt_strut_t)); + + TXT_InitWidget(strut, &txt_strut_class); + strut->widget.selectable = 0; + strut->width = width; + + return strut; +} + -- cgit v1.2.3