Guiliani  Version 2.5 revision 7293 (documentation build 13)
FntWrapGlyphLibGL.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_GL_H__
11#define __FNT_WRAP_GLYPHLIB_GL_H__
12
13#include "FntWrapGlyphLib.h"
14#include "FntWrapGLFontAtlas.h"
15
17
21{
22public:
29 static eC_Bool CreateInstance(
30 const eC_UInt& uiGlyphCacheInitialSize = 32,
31 const eC_Bool& bGlyphCacheAutoResize = true,
32 const eC_UInt& uiGlyphCacheResizeBy = 10);
33
34protected:
35 virtual void LoadFont(const FontResource_t &eFontID);
36 virtual void UnloadFont(const FontResource_t &eFontID);
37
38 virtual void GetGlyphMetrics(const eC_Char cChar, GlyphMetrics_t& kMetrics);
39
40 virtual eC_Int GetAscender() const;
41 virtual eC_Int GetDescender() const;
42 virtual eC_Int GetInternalLeading() const;
43
44 virtual eC_Bool SetNOFFonts(const eC_UInt uiNOFFonts);
45
47 eC_TArray<CFntWrapGLFontAtlas*> m_apGLFontAtlas;
48
49private:
56 const eC_UInt& uiGlyphCacheInitialSize,
57 const eC_Bool& bGlyphCacheAutoResize,
58 const eC_UInt& uiGlyphCacheResizeBy);
59
61 virtual ~CFntWrapGlyphLibGL(void);
62
63 virtual void RenderTextInternal(
64 const eC_String *lpString,
65 const TextOperation_t &eOperation,
66 const eC_Value& vX1,
67 const eC_Value& vY1,
68 eC_Value& vWidth,
69 eC_Value& vHeight,
70 eC_Value vWidthMax,
71 eC_UInt &uiNumFittingChars);
72
73 virtual void RenderGlyphToScreen(const eC_Value& vX1, const eC_Value& vY1, CGUIImageData& kGlyphImage) {}
74
75 void AddGlyph(
76 eC_TArray<eC_Value>& avVertices,
77 const eC_UInt& uiArrayIndex,
78 const eC_Value& vX,
79 const eC_Value& vY,
80 const eC_Int& iWidth,
81 const eC_Int& iHeight,
82 const eC_Value& vULeft,
83 const eC_Value& vURight,
84 const eC_Value& vVTop,
85 const eC_Value& vVBottom);
86
91
95 CFntWrapGlyphLibGL& operator=(const CFntWrapGlyphLibGL& kSource);
96
97private:
98 eC_UInt m_uiGlyphCacheInitialSize;
99 eC_Bool m_bGlyphCacheAutoResize;
100 eC_UInt m_uiGlyphCacheResizeBy;
101};
102#endif
FontResource_t
List of font resource ids.
Definition: GUIFontResource.h:54
Base class for GlyphLib-based font wrapper using GL textures.
Definition: FntWrapGlyphLibGL.h:21
virtual eC_Bool SetNOFFonts(const eC_UInt uiNOFFonts)
virtual eC_Int GetInternalLeading() const
virtual eC_Int GetDescender() const
eC_TArray< CFntWrapGLFontAtlas * > m_apGLFontAtlas
The font cache array is an eC_TArray of CFntWrapGlyphLibGLCache pointers.
Definition: FntWrapGlyphLibGL.h:47
virtual void GetGlyphMetrics(const eC_Char cChar, GlyphMetrics_t &kMetrics)
static eC_Bool CreateInstance(const eC_UInt &uiGlyphCacheInitialSize=32, const eC_Bool &bGlyphCacheAutoResize=true, const eC_UInt &uiGlyphCacheResizeBy=10)
virtual eC_Int GetAscender() const
virtual void UnloadFont(const FontResource_t &eFontID)
virtual void LoadFont(const FontResource_t &eFontID)
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