#ifndef _SmileTextRender_H_ #define _SmileTextRender_H_ #include "TextRender.h" #include #include #include #include #include #include #include "Emoticor.h" class SmileTextRender : public TextRender { public: SmileTextRender():TextRender(){}; virtual ~SmileTextRender() {}; virtual void Render(BView *target,const char* txt,int16 num,BPoint pos) { BBitmap *pointer=NULL; BString f(txt,num); if(Emoticor::Get()->Config()->FindPointer(f.String(),(void**)&pointer)==B_OK) { target->SetDrawingMode( B_OP_ALPHA ); target->DrawBitmapAsync( pointer,BPoint(pos.x, pos.y- (Emoticor::Get()->Config()->GetEmoticonSize()/2)) ); target->SetDrawingMode( B_OP_OVER ); } }; virtual float Size(){ return Emoticor::Get()->Config()->GetEmoticonSize();} virtual void GetHeight(font_height *h) { h->descent = h->ascent = Emoticor::Get()->Config()->GetEmoticonSize()/2; h->leading=0; }; virtual void GetEscapements(const char * /*charArray*/, int32 numChars,float escapementArray[]) { //font.GetEscapements(charArray,numChars,escapementArray); escapementArray[0]=1; for(int i=1;i