]> www.fi.muni.cz Git - evince.git/blob - pdf/xpdf/SFont.cc
Import of Xpdf 2.00 for merge
[evince.git] / pdf / xpdf / SFont.cc
1 //========================================================================
2 //
3 // SFont.cc
4 //
5 // Copyright 2001-2002 Glyph & Cog, LLC
6 //
7 //========================================================================
8
9 #include <aconf.h>
10
11 #ifdef USE_GCC_PRAGMAS
12 #pragma implementation
13 #endif
14
15 #include "SFont.h"
16
17 //------------------------------------------------------------------------
18
19 SFontEngine::SFontEngine(Display *displayA, Visual *visualA, int depthA,
20                          Colormap colormapA) {
21   display = displayA;
22   visual = visualA;
23   depth = depthA;
24   colormap = colormapA;
25 }
26
27 SFontEngine::~SFontEngine() {
28 }
29
30 void SFontEngine::useTrueColor(int rMaxA, int rShiftA, int gMaxA, int gShiftA,
31                                int bMaxA, int bShiftA) {
32   trueColor = gTrue;
33   rMax = rMaxA;
34   rShift = rShiftA;
35   gMax = gMaxA;
36   gShift = gShiftA;
37   bMax = bMaxA;
38   bShift = bShiftA;
39 }
40
41 void SFontEngine::useColorCube(Gulong *colorsA, int nRGBA) {
42   trueColor = gFalse;
43   colors = colorsA;
44   nRGB = nRGBA;
45   rMax = gMax = bMax = nRGB - 1;
46 }
47
48 Gulong SFontEngine::findColor(int r, int g, int b) {
49   int r1, g1, b1;
50   Gulong pix;
51
52   r1 = ((r & 0xffff) * rMax) / 0xffff;
53   g1 = ((g & 0xffff) * gMax) / 0xffff;
54   b1 = ((b & 0xffff) * bMax) / 0xffff;
55   if (trueColor) {
56     pix = (r1 << rShift) + (g1 << gShift) + (b1 << bShift);
57   } else {
58     pix = colors[(r1 * nRGB + g1) * nRGB + b1];
59   }
60   return pix;
61 }
62
63 //------------------------------------------------------------------------
64
65 SFontFile::SFontFile() {
66 }
67
68 SFontFile::~SFontFile() {
69 }
70
71 //------------------------------------------------------------------------
72
73 SFont::SFont() {
74 }
75
76 SFont::~SFont() {
77 }
78
79 GBool SFont::getCharPath(CharCode c, Unicode u, GfxState *state) {
80   return gFalse;
81 }