*
* LyX, The Document Processor
*
- * Copyright 1995-2000 The LyX Team
+ * Copyright 1995-2001 The LyX Team
*
* ======================================================*/
#pragma interface
#endif
-//#include "config.h"
-//#include "LString.h"
+#include <boost/smart_ptr.hpp>
// This is only included to provide stuff for the non-public sections
#include <X11/Xlib.h>
-#include <map>
#include "PainterBase.h"
-#include "LColor.h"
class LyXFont;
class WorkArea;
-///
+/**
+ * This is a factory class that can produce GCs with a specific
+ * color. It will cache GCs for performance.
+ */
class LyXColorHandler {
public:
///
///
GC getGCLinepars(PainterBase::line_style,
PainterBase::line_width, LColor::color c);
+ /// update the cache after a color definition change
+ void updateColor(LColor::color c);
+
private:
///
Display * display;
Pixmap drawable;
};
-extern LyXColorHandler * lyxColorHandler;
+///
+extern boost::scoped_ptr<LyXColorHandler> lyxColorHandler;
#endif