]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/SFont.h
Reused eog HIG dialog in GPdf.
[evince.git] / pdf / xpdf / SFont.h
index 4758664fa1327d817bcc4a02a3e492eb9282e8f1..aadf991caf53db8e1ad454636dbc5d587b2e1651 100644 (file)
@@ -4,26 +4,33 @@
 //
 // Base class for font rasterizers.
 //
+// Copyright 2001-2003 Glyph & Cog, LLC
+//
 //========================================================================
 
 #ifndef SFONT_H
 #define SFONT_H
 
-#ifdef __GNUC__
+#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 *display, Visual *visual, int depth,
-             Colormap colormap);
+  SFontEngine(Display *displayA, Visual *visualA, int depthA,
+             Colormap colormapA);
   virtual ~SFontEngine();
 
   // Use a TrueColor visual.  Pixel values are computed as:
@@ -32,8 +39,8 @@ public:
   //
   // where r, g, and b are scaled to the ranges [0,rMax], [0,gMax],
   // and [0,bMax], respectively.
-  virtual void useTrueColor(int rMax, int rShift, int gMax, int gShift,
-                           int bMax, int bShift);
+  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.,
@@ -53,7 +60,7 @@ public:
   //
   // The <colors> array is not copied and must remain valid for the
   // lifetime of this SFont object.
-  virtual void useColorCube(Gulong *colors, int nRGB);
+  virtual void useColorCube(Gulong *colorsA, int nRGBA);
 
 protected:
 
@@ -114,12 +121,20 @@ public:
 
   virtual ~SFont();
 
-  // Draw a character <c> 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.
+  // 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, Gushort c) = 0;
+                        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:
 };