void TXT_DrawWindow(txt_window_t *window, int selected) { txt_widget_t *widgets; TXT_LayoutWindow(window); // Draw the window TXT_DrawWindowFrame(window->title, window->window_x, window->window_y, window->window_w, window->window_h); // Draw all widgets TXT_DrawWidget(window, selected); // Draw an action area, if we have one widgets = (txt_widget_t *) window; if (widgets->y + widgets->h < window->window_y + window->window_h - 1) { // Separator for action area TXT_DrawSeparator(window->window_x, widgets->y + widgets->h, window->window_w); // Action area at the window bottom DrawActionArea(window); } }
static void TXT_SeparatorDrawer(TXT_UNCAST_ARG(separator)) { TXT_CAST_ARG(txt_separator_t, separator); int x, y; int w; w = separator->widget.w; TXT_GetXY(&x, &y); // Draw separator. Go back one character and draw two extra // to overlap the window borders. TXT_DrawSeparator(x-2, y, w + 4); if (separator->label != NULL) { TXT_GotoXY(x, y); TXT_FGColor(TXT_COLOR_BRIGHT_GREEN); TXT_DrawString(" "); TXT_DrawString(separator->label); TXT_DrawString(" "); } }
void TXT_DrawWindow(txt_window_t *window) { txt_widget_t *widgets; TXT_LayoutWindow(window); if (window->table.widget.focused) { TXT_BGColor(TXT_ACTIVE_WINDOW_BACKGROUND, 0); } else { TXT_BGColor(TXT_INACTIVE_WINDOW_BACKGROUND, 0); } TXT_FGColor(TXT_COLOR_BRIGHT_WHITE); // Draw the window TXT_DrawWindowFrame(window->title, window->window_x, window->window_y, window->window_w, window->window_h); // Draw all widgets TXT_DrawWidget(window); // Draw an action area, if we have one widgets = (txt_widget_t *) window; if (widgets->y + widgets->h < window->window_y + window->window_h - 1) { // Separator for action area TXT_DrawSeparator(window->window_x, widgets->y + widgets->h, window->window_w); // Action area at the window bottom DrawActionArea(window); } }