My Project
FontRendererOpenGL.h
1 #pragma once
2 #include "OpenGLWrapper.h"
3 
4 namespace ParaEngine
5 {
6  class CSpriteRenderer;
7 
11  class CFontRendererOpenGL : public GLWrapper::Label
12  {
13  public:
14  static CFontRendererOpenGL* create(const std::string& sFontName, int nFontSize);
16  virtual ~CFontRendererOpenGL();
17  public:
18  bool DrawTextA(CSpriteRenderer* pSprite, const char* strText, RECT& rect, DWORD dwTextFormat, DWORD textColor);
19  bool DrawTextW(CSpriteRenderer* pSprite, const char16_t* strText, RECT& rect, DWORD dwTextFormat, DWORD textColor);
20 
21  void SetUTF16Text(const char16_t* strText);
22 
23  bool UpdateLetterSprites();
24 
25  void RenderLetterSprites(CSpriteRenderer* pSprite, DWORD color);
26 
27  void DoRender(CSpriteRenderer* pSprite, DWORD color);
28 
29  virtual float GetFontScaling() const;
30 
31  protected:
32  int m_nFontSize;
33  // to minimize the total number of font used, the real font-size may be smaller than the m_nFontSize, and a scale factor is used during rendering.
34  int m_nRealFontSize;
35  float m_fFontScaling;
36  bool m_bUseCustomShader;
37  };
38 }
39 
different physics engine has different winding order.
Definition: EventBinding.h:32
used for rendering labels rendering a given font from TTF format.
Definition: FontRendererOpenGL.h:11
Definition: ManagedDef.h:18
base class for sprite renderer
Definition: SpriteRenderer.h:55