rtp1@tank.uchicago.edu (raymond thomas pierrehumbert) (03/16/90)
I need to make a new ColorTable to go with an offscreen PixMap (that is
later going to be CopyBitted to the screen). I'm working in Think C 3.x.
How do I do it? Making the ColorTable itself is not a problem. I
can put in a declaration
ColorTable **myCTab;
and set (**myCTab).ctSeed, (**myCTab).ctSize, etc, but the problem
comes with setting (**myCTab).ctTable , which is supposed to be a
CSpecArray. I can make the CSpec array by defining
ColorSpec *mycolors;
or
ColorSpec mycolors[256];
but when I try to do
(**myCTab).ctTable = mycolors;
the compiler gives me an "illegal pointer arithmetic" error. If
I try to do any reasonable type cast, I get an "illegal cast" error.
What am I doing wrong?
The reason I need to set up a ColorTable is that I want to
display a pixel buffer to the screen, where the pixel values correspond
to the entry indices used in the SetEntryColor call to the Palette
manager. Hence, I have to set the ctTable.value field appropriately
to get the right colors.
.