From bae1cc9a9d1e58ca5284ccdc632be9c0675cd72a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Sat, 8 Dec 2001 01:06:53 +0000 Subject: [PATCH] * ColorHandler.C (updateColor): change the hash to cover the whole LColor enum, ws cleanup (getGCLinepars): ditto git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3167 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/ChangeLog | 6 ++++++ src/ColorHandler.C | 51 +++++++++++++++++++++++++++++----------------- 2 files changed, 38 insertions(+), 19 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 6f2bc66fec..7fe0d6df1e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2001-12-08 Lars Gullik Bjønnes + + * ColorHandler.C (updateColor): change the hash to cover the whole + LColor enum, ws cleanup + (getGCLinepars): ditto + 2001-12-07 Dekel Tsur * iterators.C (operator++): Make the iterator more robust diff --git a/src/ColorHandler.C b/src/ColorHandler.C index 95912c5225..c6f6fba32a 100644 --- a/src/ColorHandler.C +++ b/src/ColorHandler.C @@ -13,16 +13,18 @@ #pragma implementation #endif -#include - -#include "frontends/GUIRunTime.h" #include "ColorHandler.h" #include "LColor.h" #include "gettext.h" #include "debug.h" +#include "frontends/GUIRunTime.h" + +#include + using std::endl; + LyXColorHandler::LyXColorHandler() { display = GUIRunTime::x11Display(); @@ -71,10 +73,12 @@ GC LyXColorHandler::getGCForeground(LColor::color c) // lyxerr << "Painter drawable: " << drawable() << endl; //} - if (colorGCcache[c] != 0) return colorGCcache[c]; + if (colorGCcache[c] != 0) + return colorGCcache[c]; - XColor xcol, ccol; - string s = lcolor.getX11Name(c); + XColor xcol; + XColor ccol; + string const s = lcolor.getX11Name(c); XGCValues val; // Look up the RGB values for the color, and an approximate @@ -160,13 +164,13 @@ GC LyXColorHandler::getGCForeground(LColor::color c) // Gets GC for line GC LyXColorHandler::getGCLinepars(PainterBase::line_style ls, - PainterBase::line_width lw, LColor::color c) + PainterBase::line_width lw, LColor::color c) { //if (lyxerr.debugging()) { // lyxerr << "Painter drawable: " << drawable() << endl; //} - int index = lw + (ls << 1) + (c << 3); + int index = lw + (ls << 1) + (c << 6); if (lineGCcache.find(index) != lineGCcache.end()) return lineGCcache[index]; @@ -175,14 +179,24 @@ GC LyXColorHandler::getGCLinepars(PainterBase::line_style ls, XGetGCValues(display, getGCForeground(c), GCForeground, &val); switch (lw) { - case PainterBase::line_thin: val.line_width = 0; break; - case PainterBase::line_thick: val.line_width = 2; break; + case PainterBase::line_thin: + val.line_width = 0; + break; + case PainterBase::line_thick: + val.line_width = 2; + break; } switch (ls) { - case PainterBase::line_solid: val.line_style = LineSolid; break; - case PainterBase::line_onoffdash: val.line_style = LineOnOffDash; break; - case PainterBase::line_doubledash: val.line_style = LineDoubleDash; break; + case PainterBase::line_solid: + val.line_style = LineSolid; + break; + case PainterBase::line_onoffdash: + val.line_style = LineOnOffDash; + break; + case PainterBase::line_doubledash: + val.line_style = LineDoubleDash; + break; } @@ -202,7 +216,7 @@ void LyXColorHandler::updateColor (LColor::color c) { // color GC cache GC gc = colorGCcache[c]; - if (gc != NULL) { + if (gc != 0) { XFreeGC(display, gc); colorGCcache[c] = NULL; getGCForeground(c); @@ -210,16 +224,15 @@ void LyXColorHandler::updateColor (LColor::color c) // line GC cache - int index, ls, lw; - for (ls=0; ls<3; ++ls) - for (lw=0; lw<2; ++lw) { - index = lw + (ls << 1) + (c << 3); + for (int ls = 0; ls < 3; ++ls) + for (int lw = 0; lw < 2; ++lw) { + int const index = lw + (ls << 1) + (c << 6); if (lineGCcache.find(index) != lineGCcache.end()) { gc = lineGCcache[index]; XFreeGC(display,gc); lineGCcache.erase(index); getGCLinepars(PainterBase::line_style(ls), - PainterBase::line_width(lw), c); + PainterBase::line_width(lw), c); } } -- 2.39.2