static void TXT_WindowActionDrawer(TXT_UNCAST_ARG(action)) { TXT_CAST_ARG(txt_window_action_t, action); char buf[10]; TXT_GetKeyDescription(action->key, buf); if (TXT_HoveringOverWidget(action)) { TXT_BGColor(TXT_COLOR_BLACK, 0); } else { TXT_BGColor(TXT_WINDOW_BACKGROUND, 0); } TXT_DrawString(" "); TXT_FGColor(TXT_COLOR_BRIGHT_GREEN); TXT_DrawString(buf); TXT_FGColor(TXT_COLOR_BRIGHT_CYAN); TXT_DrawString("="); TXT_FGColor(TXT_COLOR_BRIGHT_WHITE); TXT_DrawString(action->label); TXT_DrawString(" "); }
static void TXT_KeyInputDrawer(TXT_UNCAST_ARG(key_input)) { TXT_CAST_ARG(txt_key_input_t, key_input); char buf[20]; int i; if (*key_input->variable == 0) { M_StringCopy(buf, "(none)", sizeof(buf)); } else { TXT_GetKeyDescription(*key_input->variable, buf, sizeof(buf)); } TXT_SetWidgetBG(key_input); TXT_FGColor(TXT_COLOR_BRIGHT_WHITE); TXT_DrawString(buf); for (i=strlen(buf); i<KEY_INPUT_WIDTH; ++i) { TXT_DrawString(" "); } }
static void TXT_WindowActionSizeCalc(TXT_UNCAST_ARG(action)) { TXT_CAST_ARG(txt_window_action_t, action); char buf[10]; TXT_GetKeyDescription(action->key, buf); // Minimum width is the string length + two spaces for padding action->widget.w = strlen(action->label) + strlen(buf) + 1; action->widget.h = 1; }
static void TXT_WindowActionSizeCalc(TXT_UNCAST_ARG(action)) { TXT_CAST_ARG(txt_window_action_t, action); char buf[10]; TXT_GetKeyDescription(action->key, buf); // Width is label length, plus key description length, plus '=' // and two surrounding spaces. action->widget.w = strlen(action->label) + strlen(buf) + 3; action->widget.h = 1; }
static void TXT_WindowActionDrawer(TXT_UNCAST_ARG(action), int selected) { TXT_CAST_ARG(txt_window_action_t, action); char buf[10]; TXT_GetKeyDescription(action->key, buf); TXT_FGColor(TXT_COLOR_BRIGHT_GREEN); TXT_DrawString(buf); TXT_FGColor(TXT_COLOR_BRIGHT_CYAN); TXT_DrawString("="); TXT_FGColor(TXT_COLOR_BRIGHT_WHITE); TXT_DrawString(action->label); }