You.i Engine
YiSDFTextAtlas.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_SDF_TEXT_ATLAS_H_
3 #define _YI_SDF_TEXT_ATLAS_H_
4 
6 
11 
23 {
24 public:
25  CYISDFTextAtlas(int32_t nSDFFontSize = 64, int32_t nSDFRadius = 4);
26  virtual ~CYISDFTextAtlas();
27 
28  virtual bool CreateNewFontAtlas(uint32_t uWidth, uint32_t uHeight) override;
29 
33  virtual void SetRegion(ssize_t nID, void *pReference, YI_REGION Region, const uint8_t *pData, const int32_t nStride) override;
34 
38  int32_t GetSDFFontSize() const;
39 
43  int32_t GetSDFRadius() const;
44 
45 protected:
49  virtual bool CompareGlyphDetails(YI_GLYPH_DETAILS *pLeft, YI_GLYPH_DETAILS *pRight) const override;
50 
51 private:
52  int32_t m_nSDFFontSize;
53  int32_t m_nSDFRadius;
54 
55  void RenderGlyphToScratchBuffer(double *pScratchBuffer,
56  const int32_t nScratchBufferSize,
57  const int32_t nXScratchStart,
58  const int32_t nYScratchStart,
59  const YI_REGION atlasRegion,
60  const uint8_t *pGlyphData,
61  const int32_t nGlyphDataStride) const;
62 
63  void MakeSignedFieldMap(int32_t nBufferSize, double *pBuffer);
64 };
65 
68 #endif
virtual void SetRegion(ssize_t nID, void *pReference, YI_REGION Region, const uint8_t *pData, const int32_t nStride) override
Definition: YiAbstractTextAtlas.h:15
virtual ~CYISDFTextAtlas()
Definition: YiTextureAtlas.h:42
virtual bool CompareGlyphDetails(YI_GLYPH_DETAILS *pLeft, YI_GLYPH_DETAILS *pRight) const override
int32_t GetSDFRadius() const
CYISDFTextAtlas(int32_t nSDFFontSize=64, int32_t nSDFRadius=4)
Abstract class for a text atlas.
Definition: YiAbstractTextAtlas.h:29
int32_t GetSDFFontSize() const
Class for a signed distance field text atlas.
Definition: YiSDFTextAtlas.h:22
virtual bool CreateNewFontAtlas(uint32_t uWidth, uint32_t uHeight) override
int ssize_t
Definition: YiPredefWin32.h:133