class PseudoRenderControl : public RenderControl {
private:
- // color tables, meaning, 256 (possibly) different shades of each color,
- // based on the number of bits there are available for each color in the
- // visual
- unsigned char _red_color_table[256];
- unsigned char _green_color_table[256];
- unsigned char _blue_color_table[256];
-
- int _cpc; // colors-per-channel: must be a value between [2,6]
- int _bpp; // bits-per-pixel
-
- // These are only used for !TrueColor visuals
- XColor *_colors;
- int _ncolors;
+ int _bpc; // number of bits per color
+ int _ncolors; // number of allocated colors, size of the XColor array
+ XColor *_colors; // the valid allocated colors
virtual void reduceDepth(Surface &sf, XImage *im) const;
+
+ const XColor *pickColor(int r, int g, int b) const;
public:
PseudoRenderControl(int screen);
virtual ~PseudoRenderControl();
+ virtual void allocateColor(XColor *color) const;
};
}