#include "render.h"
#include "color.h"
-XColor *pseudo_colors;
-int pseudo_bpc;
-
void RrColorAllocateGC(RrColor *in)
{
XGCValues gcv;
if ((RrRedOffset(inst) != RrDefaultRedOffset) ||
(RrBlueOffset(inst) != RrDefaultBlueOffset) ||
(RrGreenOffset(inst) != RrDefaultGreenOffset)) {
+ g_message("CONVERSION %d->%d %d->%d %d->%d",
+ RrDefaultRedOffset, RrRedOffset(inst),
+ RrDefaultBlueOffset, RrGreenOffset(inst),
+ RrDefaultGreenOffset, RrBlueOffset(inst));
for (y = 0; y < im->height; y++) {
for (x = 0; x < im->width; x++) {
r = (data[x] >> RrDefaultRedOffset) & 0xFF;
g = (data[x] >> RrDefaultGreenOffset) & 0xFF;
b = (data[x] >> RrDefaultBlueOffset) & 0xFF;
- p32[x] = (r << RrRedShift(inst))
- + (g << RrGreenShift(inst))
- + (b << RrBlueShift(inst));
+ p32[x] = (r << RrRedOffset(inst))
+ + (g << RrGreenOffset(inst))
+ + (b << RrBlueOffset(inst));
}
data += im->width;
p32 += im->width;
XColor *RrPickColor(const RrInstance *inst, gint r, gint g, gint b)
{
- r = (r & 0xff) >> (8-pseudo_bpc);
- g = (g & 0xff) >> (8-pseudo_bpc);
- b = (b & 0xff) >> (8-pseudo_bpc);
- return &RrPseudoColors(inst)[(r << (2*pseudo_bpc)) +
- (g << (1*pseudo_bpc)) +
+ r = (r & 0xff) >> (8-RrPseudoBPC(inst));
+ g = (g & 0xff) >> (8-RrPseudoBPC(inst));
+ b = (b & 0xff) >> (8-RrPseudoBPC(inst));
+ return &RrPseudoColors(inst)[(r << (2*RrPseudoBPC(inst))) +
+ (g << (1*RrPseudoBPC(inst))) +
b];
}