1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#include "HyperlinkWidget.h"
#include "Graphics.h"
#include "ImageFont.h"
#if 0
#include "SysFont.h"
#endif
#include "WidgetManager.h"
using namespace Sexy;
HyperlinkWidget::HyperlinkWidget(int theId, ButtonListener* theButtonListener) :
ButtonWidget(theId, theButtonListener),
mColor(255, 255, 255),
mOverColor(255, 255, 255)
{
mDoFinger = true;
mUnderlineOffset = 3;
mUnderlineSize = 1;
}
void HyperlinkWidget::Draw(Graphics* g)
{
#if 0
if (mFont == NULL)
mFont = new SysFont(mWidgetManager->mApp, "Arial Unicode MS", 10); //baz changed
#endif
int aFontX = (mWidth - mFont->StringWidth(mLabel))/2;
int aFontY = (mHeight + mFont->GetAscent())/2 - 1;
if (mIsOver)
g->SetColor(mOverColor);
else
g->SetColor(mColor);
g->SetFont(mFont);
g->DrawString(mLabel, aFontX, aFontY);
for (int i = 0; i < mUnderlineSize; i++)
g->FillRect(aFontX, aFontY+mUnderlineOffset+i, mFont->StringWidth(mLabel), 1);
}
void HyperlinkWidget::MouseEnter()
{
ButtonWidget::MouseEnter();
MarkDirtyFull();
}
void HyperlinkWidget::MouseLeave()
{
ButtonWidget::MouseLeave();
MarkDirtyFull();
}
|