You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/noatun/modules/kjofol-skin/kjfont.h

51 lines
1.4 KiB

#ifndef KJFONT_H
#define KJFONT_H
#include <tqstring.h>
#include <tqpixmap.h>
#include <tqbitmap.h>
#include <tqfont.h>
class KJLoader;
class KJFont
{
public:
KJFont(const TQString &prefix, KJLoader *parent);
// draw the string str to dev at position pos, within rectangle limit in relation to pos
TQPixmap draw(const TQCString &str, int wide, const TQPoint &pt=TQPoint(0,0)) const;
TQPixmap draw(const TQString &str, int wide, const TQPoint &pt=TQPoint(0,0)) const
{ return draw(TQCString(str.latin1()), wide, pt); }
int fontHeight() const {return mHeight;}
int fontWidth() const {return mWidth;}
int fontSpacing() const {return mSpacing;}
bool isTransparent() const {return mTransparent;}
// !!! Call if you changed the systemfont !!!
void recalcSysFont(void);
protected:
TQPixmap drawSysFont(const TQCString &s, int wide, const TQPoint &pos=TQPoint(0,0)) const;
TQPixmap drawPixmapFont(const TQCString &, int, const TQPoint &pos=TQPoint(0,0)) const;
void drawCharacter(TQPixmap *dev, TQBitmap *devMask, const TQPoint &to, char c) const;
TQPoint charSource(char c) const;
private:
TQPixmap mText;
TQBitmap mTextMask;
TQRgb mTransparentRGB; // this color will be transparent
int mSpacing;
int mWidth, mHeight;
bool mTransparent; // indicates wether there's transparency
const char *mString[3];
char mNullChar;
TQFontMetrics *sysFontMetrics;
TQFont sysFont;
TQColor sysFontColor;
bool mUseSysFont;
};
#endif