projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[4.0] Text outline support in TextField & TextEditor
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
text
/
rendering
/
atlas
/
atlas-glyph-manager.h
diff --git
a/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h
b/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h
index
fdc4141
..
c41415e
100644
(file)
--- a/
dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h
+++ b/
dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h
@@
-19,7
+19,7
@@
*/
// INTERNAL INCLUDES
*/
// INTERNAL INCLUDES
-#include <dali-toolkit/internal/
atlas-manager
/atlas-manager.h>
+#include <dali-toolkit/internal/
text/rendering/atlas
/atlas-manager.h>
#include <dali-toolkit/internal/text/text-definitions.h>
namespace Dali
#include <dali-toolkit/internal/text/text-definitions.h>
namespace Dali
@@
-43,8
+43,16
@@
public:
*/
struct Metrics
{
*/
struct Metrics
{
- uint32_t mGlyphCount; // number of glyphs being managed
- AtlasManager::Metrics mAtlasMetrics; // metrics from the Atlas Manager
+ Metrics()
+ : mGlyphCount( 0u )
+ {}
+
+ ~Metrics()
+ {}
+
+ uint32_t mGlyphCount; ///< number of glyphs being managed
+ std::string mVerboseGlyphCounts; ///< a verbose list of the glyphs + ref counts
+ AtlasManager::Metrics mAtlasMetrics; ///< metrics from the Atlas Manager
};
/**
};
/**
@@
-71,14
+79,14
@@
public:
/**
* @brief Ask Atlas Manager to add a glyph
*
/**
* @brief Ask Atlas Manager to add a glyph
*
- * @param[in] fontId fontId glyph comes from
* @param[in] glyph glyph to add to an atlas
* @param[in] glyph glyph to add to an atlas
+ * @param[in] outlineWidth the outline width of the glyph
* @param[in] bitmap bitmap to use for glyph addition
* @param[out] slot information returned by atlas manager for addition
*/
* @param[in] bitmap bitmap to use for glyph addition
* @param[out] slot information returned by atlas manager for addition
*/
- void Add(
Text::FontId fontId
,
- const
Text::GlyphInfo& glyp
h,
- const
BufferImage
& bitmap,
+ void Add(
const Text::GlyphInfo& glyph
,
+ const
uint32_t outlineWidt
h,
+ const
PixelData
& bitmap,
AtlasManager::AtlasSlot& slot );
/**
AtlasManager::AtlasSlot& slot );
/**
@@
-90,29
+98,22
@@
public:
*/
void GenerateMeshData( uint32_t imageId,
const Vector2& position,
*/
void GenerateMeshData( uint32_t imageId,
const Vector2& position,
- MeshData& meshData );
-
- /**
- * @brief Stitch Two Meshes together
- *
- * @param[in] first first mesh
- * @param[in] second second mesh
- */
- void StitchMesh( MeshData& first,
- const MeshData& second );
+ Toolkit::AtlasManager::Mesh2D& mesh );
/**
* @brief Check to see if a glyph is being cached
*
* @param[in] fontId The font that this glyph comes from
* @param[in] index The GlyphIndex of this glyph
/**
* @brief Check to see if a glyph is being cached
*
* @param[in] fontId The font that this glyph comes from
* @param[in] index The GlyphIndex of this glyph
+ * @param[in] outlineWidth The outline width of this glyph
* @param[out] slot container holding information about the glyph( mImage = 0 indicates not being cached )
*
* @return Whether glyph is cached or not ?
*/
* @param[out] slot container holding information about the glyph( mImage = 0 indicates not being cached )
*
* @return Whether glyph is cached or not ?
*/
- bool Cached( Text::FontId fontId,
- Text::GlyphIndex index,
- AtlasManager::AtlasSlot& slot );
+ bool IsCached( Text::FontId fontId,
+ Text::GlyphIndex index,
+ uint32_t outlineWidth,
+ AtlasManager::AtlasSlot& slot );
/**
* @brief Retrieve the size of an atlas
/**
* @brief Retrieve the size of an atlas
@@
-143,6
+144,15
@@
public:
Pixel::Format GetPixelFormat( uint32_t atlasId );
/**
Pixel::Format GetPixelFormat( uint32_t atlasId );
/**
+ * @brief Get the texture set used by an atlas
+ *
+ * @param[in] atlasId Id of an atlas
+ *
+ * @return The texture set used by the atlas
+ */
+ TextureSet GetTextures( uint32_t atlasId ) const;
+
+ /**
* @brief Get Glyph Manager metrics
*
* @return const reference to glyph manager metrics
* @brief Get Glyph Manager metrics
*
* @return const reference to glyph manager metrics
@@
-150,13
+160,14
@@
public:
const Metrics& GetMetrics();
/**
const Metrics& GetMetrics();
/**
- * @brief Adjust the reference count for
an imageId and remove cache entry if it becomes free
+ * @brief Adjust the reference count for
glyph
*
*
- * @param[in] fontId the font this image came from
- * @param[in] imageId The imageId
- * @param[in] delta adjustment to make to reference count
+ * @param[in] fontId The font this image came from
+ * @param[in] index The index of the glyph
+ * @param[in] outlineWidth The outline width of the glyph
+ * @param[in] delta The adjustment to make to the reference count
*/
*/
- void AdjustReferenceCount( Text::FontId fontId,
uint32_t imageId
, int32_t delta );
+ void AdjustReferenceCount( Text::FontId fontId,
Text::GlyphIndex index, uint32_t outlineWidth
, int32_t delta );
private:
private: