⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sfont.h

📁 source code: Covert TXT to PDF
💻 H
字号:
//========================================================================//// SFont.h//// Base class for font rasterizers.//// Copyright 2001-2002 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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -