diff options
author | Simon Howard | 2006-05-29 19:22:51 +0000 |
---|---|---|
committer | Simon Howard | 2006-05-29 19:22:51 +0000 |
commit | 3a5668eeb63a3deae8861dd9a7f176bb773df898 (patch) | |
tree | c6e21f70ee9b52444fc6adb65f204b3c3e1080b2 /textscreen/txt_strut.c | |
parent | e40b14026828e11fb229c614bc0247edcdd90afb (diff) | |
download | chocolate-doom-3a5668eeb63a3deae8861dd9a7f176bb773df898.tar.gz chocolate-doom-3a5668eeb63a3deae8861dd9a7f176bb773df898.tar.bz2 chocolate-doom-3a5668eeb63a3deae8861dd9a7f176bb773df898.zip |
Add strut class to allow table column width to be forced.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 539
Diffstat (limited to 'textscreen/txt_strut.c')
-rw-r--r-- | textscreen/txt_strut.c | 55 |
1 files changed, 55 insertions, 0 deletions
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 <stdlib.h> +#include <string.h> + +#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; +} + |