Back to index

tetex-bin  3.0
Public Member Functions | Static Public Member Functions | Private Attributes
GfxCalGrayColorSpace Class Reference

#include <GfxState.h>

Inheritance diagram for GfxCalGrayColorSpace:
Inheritance graph
[legend]
Collaboration diagram for GfxCalGrayColorSpace:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 GfxCalGrayColorSpace ()
virtual ~GfxCalGrayColorSpace ()
virtual GfxColorSpacecopy ()
virtual GfxColorSpaceMode getMode ()
virtual void getGray (GfxColor *color, double *gray)
virtual void getRGB (GfxColor *color, GfxRGB *rgb)
virtual void getCMYK (GfxColor *color, GfxCMYK *cmyk)
virtual int getNComps ()
double getWhiteX ()
double getWhiteY ()
double getWhiteZ ()
double getBlackX ()
double getBlackY ()
double getBlackZ ()
double getGamma ()
virtual void getDefaultRanges (double *decodeLow, double *decodeRange, int maxImgPixel)

Static Public Member Functions

static GfxColorSpaceparse (Array *arr)
static GfxColorSpaceparse (Object *csObj)
static int getNumColorSpaceModes ()
static char * getColorSpaceModeName (int idx)

Private Attributes

double whiteX
double whiteY
double whiteZ
double blackX
double blackY
double blackZ
double gamma

Detailed Description

Definition at line 131 of file GfxState.h.


Constructor & Destructor Documentation

Definition at line 159 of file GfxState.cc.

                                           {
  whiteX = whiteY = whiteZ = 1;
  blackX = blackY = blackZ = 0;
  gamma = 1;
}

Here is the caller graph for this function:

Definition at line 165 of file GfxState.cc.

                                            {
}

Member Function Documentation

Implements GfxColorSpace.

Definition at line 168 of file GfxState.cc.

                                          {
  GfxCalGrayColorSpace *cs;

  cs = new GfxCalGrayColorSpace();
  cs->whiteX = whiteX;
  cs->whiteY = whiteY;
  cs->whiteZ = whiteZ;
  cs->blackX = blackX;
  cs->blackY = blackY;
  cs->blackZ = blackZ;
  cs->gamma = gamma;
  return cs;
}

Here is the call graph for this function:

double GfxCalGrayColorSpace::getBlackX ( ) [inline]

Definition at line 152 of file GfxState.h.

{ return blackX; }
double GfxCalGrayColorSpace::getBlackY ( ) [inline]

Definition at line 153 of file GfxState.h.

{ return blackY; }
double GfxCalGrayColorSpace::getBlackZ ( ) [inline]

Definition at line 154 of file GfxState.h.

{ return blackZ; }
void GfxCalGrayColorSpace::getCMYK ( GfxColor color,
GfxCMYK cmyk 
) [virtual]

Implements GfxColorSpace.

Definition at line 235 of file GfxState.cc.

                                                                 {
  cmyk->c = cmyk->m = cmyk->y = 0;
  cmyk->k = clip01(1 - color->c[0]);
}

Here is the call graph for this function:

char * GfxColorSpace::getColorSpaceModeName ( int  idx) [static, inherited]

Definition at line 124 of file GfxState.cc.

                                                  {
  return gfxColorSpaceModeNames[idx];
}
void GfxColorSpace::getDefaultRanges ( double *  decodeLow,
double *  decodeRange,
int  maxImgPixel 
) [virtual, inherited]

Reimplemented in GfxIndexedColorSpace, GfxICCBasedColorSpace, and GfxLabColorSpace.

Definition at line 110 of file GfxState.cc.

                                                  {
  int i;

  for (i = 0; i < getNComps(); ++i) {
    decodeLow[i] = 0;
    decodeRange[i] = 1;
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

double GfxCalGrayColorSpace::getGamma ( ) [inline]

Definition at line 155 of file GfxState.h.

{ return gamma; }
void GfxCalGrayColorSpace::getGray ( GfxColor color,
double *  gray 
) [virtual]

Implements GfxColorSpace.

Definition at line 227 of file GfxState.cc.

                                                                {
  *gray = clip01(color->c[0]);
}

Here is the call graph for this function:

virtual GfxColorSpaceMode GfxCalGrayColorSpace::getMode ( ) [inline, virtual]

Implements GfxColorSpace.

Definition at line 137 of file GfxState.h.

{ return csCalGray; }
virtual int GfxCalGrayColorSpace::getNComps ( ) [inline, virtual]

Implements GfxColorSpace.

Definition at line 146 of file GfxState.h.

{ return 1; }
int GfxColorSpace::getNumColorSpaceModes ( ) [static, inherited]

Definition at line 120 of file GfxState.cc.

                                         {
  return nGfxColorSpaceModes;
}
void GfxCalGrayColorSpace::getRGB ( GfxColor color,
GfxRGB rgb 
) [virtual]

Implements GfxColorSpace.

Definition at line 231 of file GfxState.cc.

                                                              {
  rgb->r = rgb->g = rgb->b = clip01(color->c[0]);
}

Here is the call graph for this function:

double GfxCalGrayColorSpace::getWhiteX ( ) [inline]

Definition at line 149 of file GfxState.h.

{ return whiteX; }
double GfxCalGrayColorSpace::getWhiteY ( ) [inline]

Definition at line 150 of file GfxState.h.

{ return whiteY; }
double GfxCalGrayColorSpace::getWhiteZ ( ) [inline]

Definition at line 151 of file GfxState.h.

{ return whiteZ; }
GfxColorSpace * GfxColorSpace::parse ( Object csObj) [static, inherited]

Definition at line 59 of file GfxState.cc.

                                                 {
  GfxColorSpace *cs;
  Object obj1;

  cs = NULL;
  if (csObj->isName()) {
    if (csObj->isName("DeviceGray") || csObj->isName("G")) {
      cs = new GfxDeviceGrayColorSpace();
    } else if (csObj->isName("DeviceRGB") || csObj->isName("RGB")) {
      cs = new GfxDeviceRGBColorSpace();
    } else if (csObj->isName("DeviceCMYK") || csObj->isName("CMYK")) {
      cs = new GfxDeviceCMYKColorSpace();
    } else if (csObj->isName("Pattern")) {
      cs = new GfxPatternColorSpace(NULL);
    } else {
      error(-1, "Bad color space '%s'", csObj->getName());
    }
  } else if (csObj->isArray()) {
    csObj->arrayGet(0, &obj1);
    if (obj1.isName("DeviceGray") || obj1.isName("G")) {
      cs = new GfxDeviceGrayColorSpace();
    } else if (obj1.isName("DeviceRGB") || obj1.isName("RGB")) {
      cs = new GfxDeviceRGBColorSpace();
    } else if (obj1.isName("DeviceCMYK") || obj1.isName("CMYK")) {
      cs = new GfxDeviceCMYKColorSpace();
    } else if (obj1.isName("CalGray")) {
      cs = GfxCalGrayColorSpace::parse(csObj->getArray());
    } else if (obj1.isName("CalRGB")) {
      cs = GfxCalRGBColorSpace::parse(csObj->getArray());
    } else if (obj1.isName("Lab")) {
      cs = GfxLabColorSpace::parse(csObj->getArray());
    } else if (obj1.isName("ICCBased")) {
      cs = GfxICCBasedColorSpace::parse(csObj->getArray());
    } else if (obj1.isName("Indexed") || obj1.isName("I")) {
      cs = GfxIndexedColorSpace::parse(csObj->getArray());
    } else if (obj1.isName("Separation")) {
      cs = GfxSeparationColorSpace::parse(csObj->getArray());
    } else if (obj1.isName("DeviceN")) {
      cs = GfxDeviceNColorSpace::parse(csObj->getArray());
    } else if (obj1.isName("Pattern")) {
      cs = GfxPatternColorSpace::parse(csObj->getArray());
    } else {
      error(-1, "Bad color space");
    }
    obj1.free();
  } else {
    error(-1, "Bad color space - expected name or array");
  }
  return cs;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 182 of file GfxState.cc.

                                                     {
  GfxCalGrayColorSpace *cs;
  Object obj1, obj2, obj3;

  arr->get(1, &obj1);
  if (!obj1.isDict()) {
    error(-1, "Bad CalGray color space");
    obj1.free();
    return NULL;
  }
  cs = new GfxCalGrayColorSpace();
  if (obj1.dictLookup("WhitePoint", &obj2)->isArray() &&
      obj2.arrayGetLength() == 3) {
    obj2.arrayGet(0, &obj3);
    cs->whiteX = obj3.getNum();
    obj3.free();
    obj2.arrayGet(1, &obj3);
    cs->whiteY = obj3.getNum();
    obj3.free();
    obj2.arrayGet(2, &obj3);
    cs->whiteZ = obj3.getNum();
    obj3.free();
  }
  obj2.free();
  if (obj1.dictLookup("BlackPoint", &obj2)->isArray() &&
      obj2.arrayGetLength() == 3) {
    obj2.arrayGet(0, &obj3);
    cs->blackX = obj3.getNum();
    obj3.free();
    obj2.arrayGet(1, &obj3);
    cs->blackY = obj3.getNum();
    obj3.free();
    obj2.arrayGet(2, &obj3);
    cs->blackZ = obj3.getNum();
    obj3.free();
  }
  obj2.free();
  if (obj1.dictLookup("Gamma", &obj2)->isNum()) {
    cs->gamma = obj2.getNum();
  }
  obj2.free();
  obj1.free();
  return cs;
}

Here is the call graph for this function:


Member Data Documentation

double GfxCalGrayColorSpace::blackX [private]

Definition at line 160 of file GfxState.h.

double GfxCalGrayColorSpace::blackY [private]

Definition at line 160 of file GfxState.h.

double GfxCalGrayColorSpace::blackZ [private]

Definition at line 160 of file GfxState.h.

double GfxCalGrayColorSpace::gamma [private]

Definition at line 161 of file GfxState.h.

double GfxCalGrayColorSpace::whiteX [private]

Definition at line 159 of file GfxState.h.

double GfxCalGrayColorSpace::whiteY [private]

Definition at line 159 of file GfxState.h.

double GfxCalGrayColorSpace::whiteZ [private]

Definition at line 159 of file GfxState.h.


The documentation for this class was generated from the following files: