]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/ColorCache.h
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / ColorCache.h
index 4ac490501160c2f244a2a67167ee2235245d2593..88db6bb565879a7991bb6e59ce1bc29c27927589 100644 (file)
 #ifndef COLORCACHE_H
 #define COLORCACHE_H
 
-#include "ColorCode.h"
+#include "Color.h"
 
 #include <QColor>
 
-#include <map>
-
 namespace lyx {
 
 struct RGBColor;
 
-
-// FIXME: use a fixed-size array not a map ?
-
 /**
  * Cache from Color to QColor.
  */
-class ColorCache {
+class ColorCache
+{
 public:
-       ColorCache() {}
+       ColorCache() : initialized_(false) {}
 
        /// get the given color
-       QColor const & get(ColorCode color) const;
+       QColor get(Color color) const;
 
        /// clear all colors
-       void clear();
+       void clear() { initialized_ = false; }
 
 private:
-       typedef std::map<ColorCode, QColor> lcolor_map;
-
-       mutable lcolor_map colormap;
+       ///
+       void init();
+       ///
+       QColor lcolors_[Color_ignore + 1];
+       ///
+       bool initialized_;
 };
 
 ///