2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995-2001 The LyX Team
9 * ======================================================*/
11 #ifndef COLOR_HANDLER_H
12 #define COLOR_HANDLER_H
18 #include <boost/smart_ptr.hpp>
20 // This is only included to provide stuff for the non-public sections
23 #include "PainterBase.h"
29 class LyXColorHandler {
36 unsigned long colorPixel(LColor::color c);
38 GC getGCForeground(LColor::color c);
40 GC getGCLinepars(PainterBase::line_style,
41 PainterBase::line_width, LColor::color c);
42 /// update the cache after a color definition change
43 void updateColor(LColor::color c);
51 GC colorGCcache[LColor::ignore + 1];
53 typedef std::map<int, GC> LineGCCache;
55 LineGCCache lineGCcache;
61 extern boost::scoped_ptr<LyXColorHandler> lyxColorHandler;