
#ifndef BCFontPlatformDataPrivateDirectFB_h
#define BCFontPlatformDataPrivateDirectFB_h

#include <font/BIFontPlatformDataPrivate.h>
#include <font/FontDescription.h>
#include "FontMapping.h"

#include <directfb.h>

using WebCore::AtomicString;
using WebCore::FontDescription;
using WebCore::FontFamily;

namespace BAL {

class BCFontPlatformDataPrivateDirectFB : public BIFontPlatformDataPrivate {
    public:

        BCFontPlatformDataPrivateDirectFB();

        ~BCFontPlatformDataPrivateDirectFB();

        virtual int init();

        virtual bool isFixedPitch();

        virtual unsigned hash() const;

        virtual bool isEqual(const BIFontPlatformDataPrivate*) const;

        virtual void configureFontMapping(const FontDescription& fontDescription, const AtomicString& familyName);

        IDirectFBFont * getDFBFont() const { return m_font; }

    private:
	const char * getFontFileFromDescription(const FontDescription& fontDescription);
		
        static int m_isInitialized;
		
        IDirectFBFont * m_font;

	FontMapping * m_fontMapping;
};

} //namespace BAL

#endif //BCFontPlatformDataPrivateDirectFB_h
