1 /* 2 * Copyright (c) Tony Bybell 1999-2011. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 */ 9 10 #include "globals.h" 11 12 #ifndef WAVE_COLOR_H 13 #define WAVE_COLOR_H 14 15 #include <stdlib.h> 16 #include <gtk/gtk.h> 17 18 #define WAVE_COLOR_CYCLE (-1) 19 #define WAVE_COLOR_NORMAL (0) 20 #define WAVE_COLOR_RED (1) 21 #define WAVE_COLOR_ORANGE (2) 22 #define WAVE_COLOR_YELLOW (3) 23 #define WAVE_COLOR_GREEN (4) 24 #define WAVE_COLOR_BLUE (5) 25 #define WAVE_COLOR_INDIGO (6) 26 #define WAVE_COLOR_VIOLET (7) 27 28 #define WAVE_NUM_RAINBOW (7) 29 30 #define WAVE_RAINBOW_RGB {0xFF0000, 0xFF7F00, 0xFFFF00, 0x00FF00, 0x0000FF, 0x6600FF, 0x9B00FF} 31 #define WAVE_RAINBOW_INITIALIZER {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL} 32 33 struct wave_gcmaster_t 34 { 35 GdkGC *gc_ltgray; 36 GdkGC *gc_normal; 37 GdkGC *gc_mdgray; 38 GdkGC *gc_dkgray; 39 GdkGC *gc_dkblue; 40 GdkGC *gc_brkred; 41 GdkGC *gc_ltblue; 42 GdkGC *gc_gmstrd; 43 GdkGC *gc_back_wavewindow_c_1; 44 GdkGC *gc_baseline_wavewindow_c_1; 45 GdkGC *gc_grid_wavewindow_c_1; 46 GdkGC *gc_grid2_wavewindow_c_1; 47 GdkGC *gc_time_wavewindow_c_1; 48 GdkGC *gc_timeb_wavewindow_c_1; 49 GdkGC *gc_value_wavewindow_c_1; 50 GdkGC *gc_low_wavewindow_c_1; 51 GdkGC *gc_highfill_wavewindow_c_1; 52 GdkGC *gc_high_wavewindow_c_1; 53 GdkGC *gc_trans_wavewindow_c_1; 54 GdkGC *gc_mid_wavewindow_c_1; 55 GdkGC *gc_xfill_wavewindow_c_1; 56 GdkGC *gc_x_wavewindow_c_1; 57 GdkGC *gc_vbox_wavewindow_c_1; 58 GdkGC *gc_vtrans_wavewindow_c_1; 59 GdkGC *gc_mark_wavewindow_c_1; 60 GdkGC *gc_umark_wavewindow_c_1; 61 GdkGC *gc_0_wavewindow_c_1; 62 GdkGC *gc_1fill_wavewindow_c_1; 63 GdkGC *gc_1_wavewindow_c_1; 64 GdkGC *gc_ufill_wavewindow_c_1; 65 GdkGC *gc_u_wavewindow_c_1; 66 GdkGC *gc_wfill_wavewindow_c_1; 67 GdkGC *gc_w_wavewindow_c_1; 68 GdkGC *gc_dashfill_wavewindow_c_1; 69 GdkGC *gc_dash_wavewindow_c_1; 70 }; 71 72 73 struct wave_gcchain_t 74 { 75 struct wave_gcchain_t*next; 76 GdkGC *gc; 77 }; 78 79 80 GdkGC *alloc_color(GtkWidget *widget, int tuple, GdkGC *fallback); /* tuple is encoded as 32bit: --RRGGBB (>=0 is valid) */ 81 void dealloc_all_gcs(void); /* when tab is destroyed */ 82 void set_alternate_gcs(GdkGC *ctx, GdkGC *ctx_fill); /* when another t_color is encountered */ 83 84 #endif 85 86