void apply_colors_qt(Fl_Color fg, Fl_Color bg, Fl_Color text, Fl_String font) { uchar r, g, b, r1, g1, b1, r2, g2, b2; fl_get_color(bg, r, g, b); fl_get_color(fg, r1, g1, b1); fl_get_color(text, r2, g2, b2); Fl_String filePath(fl_homedir()); filePath += "/.qt/qtrc"; FILE *qtfile = fopen(filePath.c_str(), "w"); fprintf(qtfile, "[General]\n"); fprintf(qtfile, "GUIEffects=none^e\n"); fprintf(qtfile, "style=Windows\n\n"); fprintf(qtfile, "[Palette]\n"); fprintf(qtfile, "active=#000000^e#%02x%02x%02x^e#ffffff^e#%02x%02x%02x^e#000000^e" "#%02x%02x%02x^e#000000^e#ffffff^e#000000^e#ffffff^e#%02x%02x%02x^e#000000^e" "#7783bd^e#ffffff^e#0000ff^e#ff00ff^e\n", r,g,b, r,g,b, r,g,b, r,g,b); fprintf(qtfile, "disabled=#808080^e#%02x%02x%02x^e#ffffff^e#f2f2f2^e#%02x%02x%02x^e" "#b7b7b7^e#b7b7b7^e#ffffff^e#000000^e#ffffff^e#dcdcdc^e#000000^e" "#000080^e#ffffff^e#0000ff^e#ff00ff^e\n", r,g,b, r,g,b); fprintf(qtfile, "inactive=#000000^e#%02x%02x%02x^e#ffffff^e#f2f2f2^e#%02x%02x%02x^e" "#b7b7b7^e#000000^e#ffffff^e#000000^e#ffffff^e#dcdcdc^e" "#000000^e#7783bd^e#ffffff^e#0000ff^e#ff00ff^e\n", r,g,b, r,g,b); fclose(qtfile); }
void apply_colors_apps(Fl_Color fg, Fl_Color bg, Fl_Color text, Fl_String font) { uchar r, g, b, r1, g1, b1, r2, g2, b2; fl_get_color(bg, r, g, b); fl_get_color(fg, r1, g1, b1); fl_get_color(text, r2, g2, b2); Fl_String filePath(fl_homedir()); filePath += "/.Xdefaults"; char *backgroundTypes[34] = { "*XmList.background" , "*XmLGrid.background", "Netscape*XmList.background" , "Netscape*XmLGrid.background", "*text*background", "*list*background", "*Text*background", "*List*background", "*textBackground", "*XmTextField.background", "*XmText.background", "Netscape*XmTextField.background", "Netscape*XmText.background", "*background", "*Background", "nscal*Background", "*Menu*background", "OpenWindows*WindowColor", "Window.Color.Background", "netscape*background", "Netscape*background", ".netscape*background", "Ddd*background", "Emacs*Background", "Emacs*backgroundToolBarColor",//25 "*XmList.selectBackground" , "*XmLGrid.selectBackground", "Netscape*XmList.selectBackground" , "Netscape*XmLGrid.selectBackground", "*XmTextField.selectBackground", "*XmText.selectBackground", "Netscape*XmTextField.selectBackground", "Netscape*XmText.selectBackground", "*selectBackground" //34 }; FILE *colorFile = fopen(filePath, "w"); for (int i = 0 ; i < 34; i++) { fprintf(colorFile, "%s: #%02X%02X%02X\n", backgroundTypes[i],(short int) r, (short int) g, (short int) b); } fprintf(colorFile, "foreground: #%02X%02X%02X\n", r1, g1, b1); fprintf(colorFile, "xterm*background: #FFFFFF\n"); //especialy for Xterm fclose(colorFile); Fl_String runString("xrdb -merge -all "); runString += fl_homedir(); runString += "/.Xdefaults"; if (fl_start_child_process(runString)==-1) fl_alert("Error executing xrdb program."); }
void gl_color(Fl_Color i) { #if USE_GL_OVERLAY #ifndef _WIN32 if (fl_overlay) {glIndexi(int(fl_xpixel(i))); return;} #else if (fl_overlay && fl_overlay_depth) { i = fl_nearest_color(i); // convert to 8-bit color if (fl_overlay_depth < 8) { // only black & white produce the expected colors. This could // be improved by fixing the colormap set in Fl_Gl_Overlay.cxx unsigned size = 1<<fl_overlay_depth; if (!i) glIndexi(size-2); else if (i >= size-2) glIndexi(size-1); else glIndexi(i); } else { glIndexi(i ? i : FL_GRAY_RAMP); } return; } #endif #endif Fl_Color c = fl_get_color(i); glColor3ub((uchar)(c>>24), (uchar)(c>>16), (uchar)(c>>8)); }
void apply_colors_kde(Fl_Color fg, Fl_Color bg, Fl_Color text, Fl_String font) { uchar r, g, b, r1, g1, b1, r2, g2, b2; fl_get_color(bg, r, g, b); fl_get_color(fg, r1, g1, b1); fl_get_color(text, r2, g2, b2); Fl_String filePath(fl_homedir()); filePath += "/.kderc"; FILE *kdefile = fopen(filePath.c_str(), "w"); fprintf(kdefile, "[General]\n"); fprintf(kdefile, "background=%d,%d,%d\n", r, g, b); fprintf(kdefile, "foreground=%d,%d,%d\n", r1, g1, b1); fclose(kdefile); }
inline void Fl_Scopes_Manager::select_bg_color_i(Fl_Button *bb, void *v) { long n = (long)v; uchar r,g,b; Fl_Color c; c = Scope_Windows[n]->Plot->bg_color(); fl_get_color(c,r,g,b); if (!fl_color_chooser("New color:",r,g,b)) return; c = FL_FREE_COLOR; Scope_Windows[n]->Plot->bg_free_color(); fl_set_color(FL_FREE_COLOR, fl_rgb(r,g,b)); Scope_Windows[n]->Plot->bg_color(r/255.,g/255.,b/255.); }
inline void Fl_Scopes_Manager::select_trace_color_i(Fl_Button *bb, void *v) { s_idx_T *idx = (s_idx_T *)v; int scope = idx->scope_idx; int trace = idx->trace_idx; uchar r,g,b; Fl_Color c; c = Scope_Windows[scope]->Plot->trace_color(trace); fl_get_color(c,r,g,b); if (!fl_color_chooser("New color:",r,g,b)) return; c = FL_FREE_COLOR; Scope_Windows[scope]->Plot->trace_free_color(trace); fl_set_color(FL_FREE_COLOR, fl_rgb(r,g,b)); Scope_Windows[scope]->Plot->trace_color(trace, r/255.,g/255.,b/255.); Trace_Page[scope][trace]->label_color(fl_rgb(r,g,b)); Trace_Page[scope][trace]->redraw(); }
uint8 *render_box(int w, int h, int bitspp, uint color, Fl_Colormap *pal, uint8 *buffer=0) { int bpp = (bitspp+7)/8; int pitch = Fl_Renderer::calc_pitch(bpp, w); uint8 *ret = buffer; if(!buffer) ret = new uchar[pitch*h]; uint8 r=0,g=0,b=0; fl_get_color(color, r, g, b); uint32 fill_color=0; switch(bitspp) { case 32: fl_rgb888_from_rgb(fill_color ,r,g,b); break; case 16: fl_rgb565_from_rgb((uint16&)fill_color ,r,g,b); break; case 15: fl_rgb555_from_rgb((uint16&)fill_color ,r,g,b); break; case 8: fill_color = pal->find_color(r,g,b); break; default: break; } // Fill box, using fast duffs looping uint8 *ptr = ret; int skip = pitch - w * bpp; int height = h; int width = w; while ( height-- ) { DUFFS_LOOP( { switch(bitspp) { case 32: (uint32&)(*ptr) = fill_color; break; case 24: ptr[0] = r; ptr[1] = g; ptr[2] = b; break; case 16: (uint16&)(*ptr) = (uint16&)fill_color; break; case 15: (uint16&)(*ptr) = (uint16&)fill_color; break; case 8: (uint8&)(*ptr) = (uint8&)fill_color; break; default: break; } ptr += bpp; }, width); ptr += skip; }
void apply_colors_gtk(Fl_Color fg, Fl_Color bg, Fl_Color selection, Fl_Color selection_text, Fl_Color tooltip, Fl_Color tooltip_text, Fl_Color text, Fl_String font) { uchar r, g, b; uchar text_r, text_g, text_b; //, b1, r2, g2, b2; uchar selection_r, selection_g, selection_b; uchar selection_text_r, selection_text_g, selection_text_b; uchar tooltip_r, tooltip_g, tooltip_b; uchar tooltip_text_r, tooltip_text_g, tooltip_text_b; fl_get_color(bg, r, g, b); fl_get_color(fg, text_r, text_g, text_b); fl_get_color(selection, selection_r, selection_g, selection_b); fl_get_color(selection_text, selection_text_r, selection_text_g, selection_text_b); fl_get_color(tooltip, tooltip_r, tooltip_g, tooltip_b); fl_get_color(tooltip_text, tooltip_text_r, tooltip_text_g, tooltip_text_b); // fl_get_color(text, r2, g2, b2); Fl_String filePath(fl_homedir()); filePath += "/.gtkrc"; FILE *gtkFile = fopen(filePath.c_str(), "w"); fprintf(gtkFile, "style \"default\" \n"); fprintf(gtkFile, "{\n"); fprintf(gtkFile, "fontset = \"%s\" \n", font.c_str()); fprintf(gtkFile, "bg[NORMAL] = \"#%02X%02X%02X\"\n", r, g, b); fprintf(gtkFile, "fg[NORMAL] = \"#%02X%02X%02X\"\n", text_r, text_g, text_b); fprintf(gtkFile, "bg[PRELIGHT] = \"#%02X%02X%02X\"\n", r, g, b); fprintf(gtkFile, "fg[PRELIGHT] = \"#%02X%02X%02X\"\n", text_r, text_g, text_b); fprintf(gtkFile, "bg[ACTIVE] = \"#%02X%02X%02X\"\n", r, g, b); fprintf(gtkFile, "fg[ACTIVE] = \"#%02X%02X%02X\"\n", text_r, text_g, text_b); fprintf(gtkFile, "bg[SELECTED] = \"#%02X%02X%02X\"\n", selection_r, selection_g, selection_b); fprintf(gtkFile, "fg[SELECTED] = \"#%02X%02X%02X\"\n", selection_text_r, selection_text_g, selection_text_b); fprintf(gtkFile, "}\n"); fprintf(gtkFile, "style \"menu\" \n"); fprintf(gtkFile, "{\n"); fprintf(gtkFile, "bg[PRELIGHT] = \"#%02X%02X%02X\"\n", selection_r, selection_g, selection_b); fprintf(gtkFile, "fg[PRELIGHT] = \"#%02X%02X%02X\"\n", selection_text_r, selection_text_g, selection_text_b); fprintf(gtkFile, "}\n"); fprintf(gtkFile, "style \"tooltip\" \n"); fprintf(gtkFile, "{\n"); fprintf(gtkFile, "bg[NORMAL] = \"#%02X%02X%02X\"\n", tooltip_r, tooltip_g, tooltip_b); fprintf(gtkFile, "fg[NORMAL] = \"#%02X%02X%02X\"\n", tooltip_text_r, tooltip_text_g, tooltip_text_b); fprintf(gtkFile, "}\n"); fprintf(gtkFile, "class \"*\" style \"default\"\n"); fprintf(gtkFile, "widget_class \"*Menu*\" style \"menu\" \n"); fprintf(gtkFile, "widget \"gtk-tooltips\" style \"tooltip\" \n"); fclose(gtkFile); }
void Fl_Color_Chooser::value(Fl_Color c) { c = fl_get_color(c); rgb(uchar(c>>24)/255.0f, uchar(c>>16)/255.0f, uchar(c>>8)/255.0f); }