fix build with recent changes/gcc 6.3.0
[AROS-Contrib.git] / arospdf / splash / SplashFontFile.h
blob9f8931295249be9e02c4d3ecccee7168411eba76
1 //========================================================================
2 //
3 // SplashFontFile.h
4 //
5 //========================================================================
7 #ifndef SPLASHFONTFILE_H
8 #define SPLASHFONTFILE_H
10 #include <aconf.h>
12 #ifdef USE_GCC_PRAGMAS
13 #pragma interface
14 #endif
16 #include "gtypes.h"
17 #include "SplashTypes.h"
19 class GString;
20 class SplashFontEngine;
21 class SplashFont;
22 class SplashFontFileID;
24 //------------------------------------------------------------------------
25 // SplashFontFile
26 //------------------------------------------------------------------------
28 class SplashFontFile {
29 public:
31 virtual ~SplashFontFile();
33 // Create a new SplashFont, i.e., a scaled instance of this font
34 // file.
35 virtual SplashFont *makeFont(SplashCoord *mat, SplashCoord *textMat) = 0;
37 // Get the font file ID.
38 SplashFontFileID *getID() { return id; }
40 // Increment the reference count.
41 void incRefCnt();
43 // Decrement the reference count. If the new value is zero, delete
44 // the SplashFontFile object.
45 void decRefCnt();
47 protected:
49 SplashFontFile(SplashFontFileID *idA, char *fileNameA,
50 GBool deleteFileA);
52 SplashFontFileID *id;
53 GString *fileName;
54 GBool deleteFile;
55 int refCnt;
57 friend class SplashFontEngine;
60 #endif