Guiliani  Version 2.5 revision 7293 (documentation build 13)
FntWrapGlyphLibDave.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef __FNT_WRAP_GLYPHLIB_DAVE_H__
11#define __FNT_WRAP_GLYPHLIB_DAVE_H__
12
13//dave driver
14#include "dave_base.h"
15#include "dave_driver.h"
16
17#include "FntWrapGlyphLib.h"
18#include "FontCacheGlyphLib.h"
19
20#include "GUIImageData.h"
21
23
34{
35public:
43 static eC_Bool CreateInstance(
44 const eC_UInt& uiGlyphCacheInitialSize = 32,
45 const eC_Bool& bGlyphCacheAutoResize = true,
46 const eC_UInt& uiGlyphCacheResizeBy = 10);
47
48protected:
55 virtual void RenderGlyphToScreen(const eC_Value& vX1, const eC_Value& vY1, CGUIImageData& kGlyphImage);
56
57 virtual void SetFont(const FontResource_t &eID);
58
59 virtual void LoadFont(const FontResource_t &eFontID);
60
64 virtual void UnloadFont(const FontResource_t &eFontID);
65
66 virtual void GetGlyphMetrics(const eC_Char cChar, GlyphMetrics_t& kMetrics);
67
68 virtual eC_Int GetAscender() const;
69 virtual eC_Int GetDescender() const;
70 virtual eC_Int GetInternalLeading() const;
71
72 virtual eC_Bool SetNOFFonts(const eC_UInt uiNOFFonts);
73
74private:
82 const eC_UInt& uiGlyphCacheInitialSize,
83 const eC_Bool& bGlyphCacheAutoResize,
84 const eC_UInt& uiGlyphCacheResizeBy);
85
86 virtual ~CFntWrapGlyphLibDAVE();
87
88private:
93
98 CFntWrapGlyphLibDAVE& operator=(const CFntWrapGlyphLibDAVE& kSource);
99
100 void RenderTextInternal(
101 const eC_String *lpString,
102 const TextOperation_t &eOperation,
103 const eC_Value& vX1,
104 const eC_Value& vY1,
105 eC_Value& vWidth,
106 eC_Value& vHeight,
107 eC_Value vWidthMax,
108 eC_UInt &uiNumFittingChars);
109
110private:
111 eC_UInt m_uiGlyphCacheInitialSize;
112 eC_Bool m_bGlyphCacheAutoResize;
113 eC_UInt m_uiGlyphCacheResizeBy;
114
115 eC_TArray<CFontCacheGlyphLib*> m_apFontCache;
116};
117#endif
FontResource_t
List of font resource ids.
Definition: GUIFontResource.h:54
Glyphlib font wrapper specialization using DAVE-API.
Definition: FntWrapGlyphLibDave.h:34
virtual eC_Bool SetNOFFonts(const eC_UInt uiNOFFonts)
virtual eC_Int GetAscender() const
virtual void LoadFont(const FontResource_t &eFontID)
static eC_Bool CreateInstance(const eC_UInt &uiGlyphCacheInitialSize=32, const eC_Bool &bGlyphCacheAutoResize=true, const eC_UInt &uiGlyphCacheResizeBy=10)
virtual void UnloadFont(const FontResource_t &eFontID)
virtual void GetGlyphMetrics(const eC_Char cChar, GlyphMetrics_t &kMetrics)
virtual void RenderGlyphToScreen(const eC_Value &vX1, const eC_Value &vY1, CGUIImageData &kGlyphImage)
virtual eC_Int GetDescender() const
virtual eC_Int GetInternalLeading() const
virtual void SetFont(const FontResource_t &eID)
GlyphLib (uGuiliani font) implementation of the Font Wrapper.
Definition: FntWrapGlyphLib.h:37
TextOperation_t
Definition: FntWrap.h:69
Contains information about an image loaded by CGUIImageLoader.
Definition: GUIImageData.h:29
Definition: FntWrap.h:60