diff options
Diffstat (limited to 'pdf/xpdf/SFont.h')
-rw-r--r-- | pdf/xpdf/SFont.h | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/pdf/xpdf/SFont.h b/pdf/xpdf/SFont.h deleted file mode 100644 index aadf991..0000000 --- a/pdf/xpdf/SFont.h +++ /dev/null @@ -1,142 +0,0 @@ -//======================================================================== -// -// SFont.h -// -// Base class for font rasterizers. -// -// Copyright 2001-2003 Glyph & Cog, LLC -// -//======================================================================== - -#ifndef SFONT_H -#define SFONT_H - -#include <aconf.h> - -#ifdef USE_GCC_PRAGMAS -#pragma interface -#endif - -#include <X11/Xlib.h> -#include <X11/Xutil.h> -#include "gtypes.h" -#include "CharTypes.h" - -class GfxState; - -//------------------------------------------------------------------------ - -class SFontEngine { -public: - - SFontEngine(Display *displayA, Visual *visualA, int depthA, - Colormap colormapA); - virtual ~SFontEngine(); - - // Use a TrueColor visual. Pixel values are computed as: - // - // (r << rShift) + (g << gShift) + (b << bShift) - // - // where r, g, and b are scaled to the ranges [0,rMax], [0,gMax], - // and [0,bMax], respectively. - virtual void useTrueColor(int rMaxA, int rShiftA, int gMaxA, int gShiftA, - int bMaxA, int bShiftA); - - // Use an RGB color cube. <colors> is an array containing - // <nRGB>*<nRGB>*<nRGB> pixel values in red,green,blue order, e.g., - // for <nRGB>=2, there will be 8 entries: - // - // |--- colors[i] ---| - // i red green blue - // - ----- ----- ----- - // 0 0000 0000 0000 - // 1 0000 0000 ffff - // 2 0000 ffff 0000 - // 3 0000 ffff ffff - // 4 ffff 0000 0000 - // 5 ffff 0000 ffff - // 6 ffff ffff 0000 - // 7 ffff ffff ffff - // - // The <colors> array is not copied and must remain valid for the - // lifetime of this SFont object. - virtual void useColorCube(Gulong *colorsA, int nRGBA); - -protected: - - // Find the closest match to (<r>,<g>,<b>). - Gulong findColor(int r, int g, int b); - - //----- X parameters - Display *display; - Visual *visual; - int depth; - Colormap colormap; - - GBool trueColor; // true for TrueColor, false for RGB cube - - //----- TrueColor parameters - int rMax, gMax, bMax; - int rShift, gShift, bShift; - - //----- RGB color cube parameters - Gulong *colors; - int nRGB; -}; - -//------------------------------------------------------------------------ - -class SFontFile { -public: - - // A typical subclass will provide a constructor along the lines of: - // - // SomeFontFile(SomeFontEngine *engine, char *fontFileName); - SFontFile(); - - virtual ~SFontFile(); - -private: -}; - -//------------------------------------------------------------------------ - -class SFont { -public: - - // A typical subclass will provide a constructor along the lines of: - // - // SomeFont(SomeFontFile *fontFile, double *m); - // - // where <m> is a transform matrix consisting of four elements, - // using the PostScript ordering conventions (without any - // translation): - // - // [x' y'] = [x y] * [m0 m1] - // [m2 m3] - // - // This is the level at which fonts are cached, and so the font - // cannot be transformed after it is created. - SFont(); - - virtual ~SFont(); - - // Draw a character <c>/<u> at <x>,<y> in color (<r>,<g>,<b>). The - // RGB values should each be in the range [0,65535]. Draws into - // <d>, clipped to the rectangle (0,0)-(<w>-1,<h>-1). Returns true - // if the character was drawn successfully. - virtual GBool drawChar(Drawable d, int w, int h, GC gc, - int x, int y, int r, int g, int b, - CharCode c, Unicode u) = 0; - - // Add the outline of the specified character to the current path by - // calling state->moveTo, lineTo, and curveTo. Returns true if - // successful. If this SFont subclass doesn't implement character - // paths, returns false immediately without modifying the current - // path. - virtual GBool getCharPath(CharCode c, Unicode u, GfxState *state); - -protected: -}; - -#endif |