Пример #1
0
void
dlg_draw_arrows2(WINDOW *win,
		 int top_arrow,
		 int bottom_arrow,
		 int x,
		 int top,
		 int bottom,
		 chtype attr,
		 chtype borderattr)
{
    chtype save = dlg_get_attrs(win);
    int cur_x, cur_y;
    int limit_x = getmaxx(win);
    bool draw_top = TRUE;
    bool is_toplevel = (wgetparent(win) == stdscr);

    getyx(win, cur_y, cur_x);

    /*
     * If we're drawing a centered title, do not overwrite with the arrows.
     */
    if (dialog_vars.title && is_toplevel && (top - getbegy(win)) < MARGIN) {
	int have = (limit_x - dlg_count_columns(dialog_vars.title)) / 2;
	int need = x + 5;
	if (need > have)
	    draw_top = FALSE;
    }

    if (draw_top) {
	(void) wmove(win, top, x);
	if (top_arrow) {
	    (void) wattrset(win, merge_colors(uarrow_attr, attr));
	    (void) add_acs(win, ACS_UARROW);
	    (void) waddstr(win, "(-)");
	} else {
	    (void) wattrset(win, attr);
	    (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT);
	}
    }
    mouse_mkbutton(top, x - 1, 6, KEY_PPAGE);

    (void) wmove(win, bottom, x);
    if (bottom_arrow) {
	(void) wattrset(win, merge_colors(darrow_attr, borderattr));
	(void) add_acs(win, ACS_DARROW);
	(void) waddstr(win, "(+)");
    } else {
	(void) wattrset(win, borderattr);
	(void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT);
    }
    mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE);

    (void) wmove(win, cur_y, cur_x);
    wrefresh(win);

    (void) wattrset(win, save);
}
Пример #2
0
static void
permute_colors (XColor *pcolors, XColor *colors,
		int count,
		unsigned long *plane_masks,
		Bool additive_p)
{
  int out = 0;
  int max = i_exp (2, count);
  if (count > 31) abort ();
  for (out = 1; out < max; out++)
    {
      XColor *argv [32];
      int this_mask = 0;
      int argc = 0;
      int bit;
      for (bit = 0; bit < 32; bit++)
	if (out & (1<<bit))
	  {
	    argv [argc++] = &pcolors [bit];
	    this_mask |= plane_masks [bit];
	  }
      merge_colors (argc, argv, &colors [out-1], this_mask, additive_p);
    }
}
Пример #3
0
static void
set_color_defaults (void)
{
	colors[WIN_ACTIVE] = merge_colors (B_RED, BLACK);
	colors[WIN_INACTIVE] = merge_colors (B_BLUE, BLACK);
	colors[WIN_INACTIVE_TITLE] = merge_colors (B_BLUE, BLACK);
	colors[WIN_INACTIVE_SCROLL] = merge_colors (BLUE, BLACK);
	colors[WIN_INACTIVE_SCROLLBAR] = merge_colors (B_BLUE, BLACK);
	colors[WIN_ACTIVE_TITLE] = merge_colors (B_RED, BLACK);
	colors[WIN_ACTIVE_SCROLL] = merge_colors (RED, BLACK);
	colors[WIN_ACTIVE_SCROLLBAR] = merge_colors (B_RED, BLACK);

	colors[FILE_UNSELECTED] = merge_colors (B_BLUE, BLACK);
	colors[FILE_SELECTED] = merge_colors (B_BLUE, RED);
	colors[FILE_UNSELECTED_DIRECTORY] = merge_colors (B_BLUE, BLACK);
	colors[FILE_SELECTED_DIRECTORY] = merge_colors (B_BLUE, RED);
	colors[FILE_WINDOW] = merge_colors (BLACK, BLACK);

	colors[PLAY_UNSELECTED] = merge_colors (B_BLUE, BLACK);
	colors[PLAY_SELECTED] = merge_colors (B_BLUE, RED);
	colors[PLAY_UNSELECTED_PLAYING] = merge_colors (B_RED, BLUE);
	colors[PLAY_SELECTED_PLAYING] = merge_colors (B_RED, RED);
	colors[PLAY_WINDOW] = merge_colors (BLACK, BLACK);

	colors[INFO_TEXT] = merge_colors (B_BLUE, BLACK);
	colors[INFO_WINDOW] = merge_colors (BLACK, BLACK);

	colors[MENU_TEXT] = merge_colors (B_BLUE, BLACK);
	colors[MENU_WINDOW] = merge_colors (BLACK, BLACK);

	colors[PLAYBACK_TEXT] = merge_colors (B_BLUE, BLACK);
	colors[PLAYBACK_WINDOW] = merge_colors (BLACK, BLACK);
}
Пример #4
0
static void
set_color (char *color, char *value)
{
	char *fore = value;
	char *back = strchr (value, ':');

	if (back == NULL)
		back = "black\0";
	else 
		back++;

	/* IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT 
	* check
	* u_int32_t colors[24];
	* around line 24 !!!!!
	* resize this array when adding more color entries !!!!!
	*/



	if (!strcasecmp (color, "window_active"))
		colors[WIN_ACTIVE] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "window_active_title"))
		colors[WIN_ACTIVE_TITLE] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "window_active_scroll"))
		colors[WIN_ACTIVE_SCROLL] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "window_active_scroll_bar"))
		colors[WIN_ACTIVE_SCROLLBAR] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "window_inactive"))
		colors[WIN_INACTIVE] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "window_inactive_title"))
		colors[WIN_INACTIVE_TITLE] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "window_inactive_scroll"))
		colors[WIN_INACTIVE_SCROLL] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "window_inactive_scroll_bar"))
		colors[WIN_INACTIVE_SCROLLBAR] =
			merge_colors (str2color (fore), str2color (back));

	else if (!strcasecmp (color, "files_selected_file"))
		colors[FILE_SELECTED] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "files_unselected_file"))
		colors[FILE_UNSELECTED] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "files_unselected_directory"))
		colors[FILE_UNSELECTED_DIRECTORY] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "files_selected_directory"))
		colors[FILE_SELECTED_DIRECTORY] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "files_background"))
		colors[FILE_WINDOW] =
			merge_colors (str2color (fore), str2color (fore));

	else if (!strcasecmp (color, "playlist_unselected"))
		colors[PLAY_UNSELECTED] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "playlist_unselected_playing"))
		colors[PLAY_UNSELECTED_PLAYING] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "playlist_selected_playing"))
		colors[PLAY_SELECTED_PLAYING] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "playlist_selected"))
		colors[PLAY_SELECTED] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "playlist_background"))
		colors[PLAY_WINDOW] =
			merge_colors (str2color (fore), str2color (fore));

	else if (!strcasecmp (color, "info_text"))
		colors[INFO_TEXT] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "info_background"))
		colors[INFO_WINDOW] =
			merge_colors (str2color (fore), str2color (fore));

	else if (!strcasecmp (color, "menu_background"))
		colors[MENU_WINDOW] =
			merge_colors (str2color (fore), str2color (fore));
	else if (!strcasecmp (color, "menu_text"))
		colors[MENU_TEXT] =
			merge_colors (str2color (fore), str2color (back));

	else if (!strcasecmp (color, "playback_text"))
		colors[PLAYBACK_TEXT] =
			merge_colors (str2color (fore), str2color (back));
	else if (!strcasecmp (color, "playback_background"))
		colors[PLAYBACK_WINDOW] =
			merge_colors (str2color (fore), str2color (fore));
	else if (!strcasecmp (color, "background"))
		colors[BACKGROUND] =
			merge_colors (str2color (fore), str2color (fore));
}