If you have comments or questions concerning this source file, discuss them in the forum.
/*
Copyright (c) 2002 Nicolai Haehnle
See the license.txt for details. If that file was not included in the
source distributions, please email <prefect@rtts.org>
*/
// gui_label.h
#ifndef GUI_LABEL_H
#define GUI_LABEL_H
#include "gui_panel.h"
/*
A Label is a simple panel that holds some text or an unscaled picture
*/
class GLabel : public GPanel {
public:
char *m_pszText;
HPicture *m_pPic;
sprite_t *m_pSprite;
HFont *m_pFont;
int m_iAlign; // halign / valign constants
int m_iYSpacing;
int m_iBorderX, m_iBorderY;
int m_iScrollX, m_iScrollY;
public:
GLabel(GPanel *pParent, int x, int y, int w, int h, const char *szText = 0, int iAlign = 0);
GLabel(GPanel *pParent, const char *szPic, int type, u32 colorkey,
int x, int y, int w, int h);
virtual ~GLabel();
void Clear();
void SetYSpacing(int y) { m_iYSpacing = y; }
void SetText(const char *pszText);
const char *GetText() { return m_pszText; }
int GetInteger() { return m_pszText ? atoi(m_pszText) : 0; }
int GetTextLength() { return m_pszText ? strlen(m_pszText) : 0; }
void SetAlign(int iAlign);
void SetBorder(int x, int y);
void GetCharRect(int idx, LRect *rc);
void SetPicture(const char *szPic, int type, u32 colorkey);
void SetPicture(HPicture *pPic);
void SetSprite(const char *szSprite);
void SetSprite(sprite_t *sprite);
void AdjustSize();
void GetDrawPoint(int *x, int *y);
virtual void Draw();
public:
virtual void GetIconSize(int *pw, int *ph);
virtual void DrawIcon(int x, int y, int r, int g, int b, int a);
protected:
void doDraw(int r, int g, int b, int a);
};
#endif
// GUI_LABEL_H