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/kjwidget.h

54 lines
1.7 KiB

#ifndef KJWIDGET_H
#define KJWIDGET_H
#include "kjloader.h"
class KJWidget
{
public:
KJWidget(KJLoader *);
virtual ~KJWidget() {};
// called when the widget should paint
virtual void paint(TQPainter *, const TQRect &) {};
// called to receive the rect this widget is in
virtual TQRect rect() const { return mRect; }
// called when pressed in this widget
virtual bool mousePress(const TQPoint &) {return false; }
// called when the mouse is released after clicked in this widget
virtual void mouseRelease(const TQPoint &, bool){}
virtual void mouseMove(const TQPoint &, bool) {}
// called with the current time (mille)
virtual void timeUpdate(int) {}
// called when a new song is playing, player() is ready with it too
virtual void newFile() {}
// called when config-entries have to be read, is a TODO for most widgets
virtual void readConfig() {}
// called when the mouse is moved while clicked in this widget
// tqrepaint myself
virtual void tqrepaint(bool me=true, const TQRect &rect=TQRect(), bool clear=false);
virtual TQString tip() { return 0; }
public:
static TQBitmap getMask(const TQImage &color, register TQRgb=tqRgb(255,0,255));
protected:
const TQString &backgroundPressed(const TQString &bmp) const;
KJLoader *tqparent() const {return mParent;}
KJLoader &parser() const {return *mParent;}
KJFont &textFont() const {return *mParent->mText;}
KJFont &timeFont() const {return *mParent->mNumbers;}
KJFont &volumeFont() const {return *mParent->mVolumeFont;}
KJFont &pitchFont() const {return *mParent->mPitchFont;}
void setRect(const TQRect& rect) {mRect=rect;}
void setRect(int x, int y, int xs, int ys) {mRect=TQRect(x,y,xs,ys);}
private:
KJLoader *mParent;
TQRect mRect;
};
#endif