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
Merge "Change BuildRequires of dali2-toolkit to Requires" into devel/master
[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
1870bd5
..
cc6f92f
100644
(file)
--- a/
dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h
+++ b/
dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h
@@
-1,8
+1,8
@@
-#ifndef
__DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_H__
-#define
__DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_H__
+#ifndef
DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_H
+#define
DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_H
/*
/*
- * Copyright (c) 20
15
Samsung Electronics Co., Ltd.
+ * Copyright (c) 20
21
Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-24,35
+24,47
@@
namespace Dali
{
namespace Dali
{
-
namespace Toolkit
{
namespace Toolkit
{
-
namespace Internal DALI_INTERNAL
{
class AtlasGlyphManager;
}
namespace Internal DALI_INTERNAL
{
class AtlasGlyphManager;
}
-
class AtlasGlyphManager : public BaseHandle
{
public:
class AtlasGlyphManager : public BaseHandle
{
public:
-
/**
* Description of GlyphManager state
*/
struct Metrics
{
Metrics()
/**
* Description of GlyphManager state
*/
struct Metrics
{
Metrics()
- : mGlyphCount( 0u )
- {}
+ : mGlyphCount(0u)
+ {
+ }
~Metrics()
~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
+ };
- 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
+ struct GlyphStyle
+ {
+ GlyphStyle()
+ : outline{0u},
+ isItalic{false},
+ isBold{false}
+ {
+ }
+
+ uint16_t outline; ///< The outline width of this glyph
+ bool isItalic : 1; ///< Whether the glyph is italic.
+ bool isBold : 1; ///< Whether the glyph is bold.
};
/**
};
/**
@@
-80,12
+92,14
@@
public:
* @brief Ask Atlas Manager to add a glyph
*
* @param[in] glyph glyph to add to an atlas
* @brief Ask Atlas Manager to add a glyph
*
* @param[in] glyph glyph to add to an atlas
+ * @param[in] style The style of this 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( const Text::GlyphInfo& glyph,
- const BufferImage& bitmap,
- AtlasManager::AtlasSlot& slot );
+ void Add(const Text::GlyphInfo& glyph,
+ const GlyphStyle& style,
+ const PixelData& bitmap,
+ AtlasManager::AtlasSlot& slot);
/**
* @brief Generate mesh data for an image contained in an atlas
/**
* @brief Generate mesh data for an image contained in an atlas
@@
-94,22
+108,24
@@
public:
* @param[in] position top left of image
* @param[out] meshData generated MeshData
*/
* @param[in] position top left of image
* @param[out] meshData generated MeshData
*/
- void GenerateMeshData(
uint32_t
imageId,
-
const Vector2&
position,
-
Toolkit::AtlasManager::Mesh2D& mesh
);
+ void GenerateMeshData(
uint32_t
imageId,
+
const Vector2&
position,
+
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] style The style 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 IsCached( Text::FontId fontId,
- Text::GlyphIndex index,
- AtlasManager::AtlasSlot& slot );
+ bool IsCached(Text::FontId fontId,
+ Text::GlyphIndex index,
+ const GlyphStyle& style,
+ AtlasManager::AtlasSlot& slot);
/**
* @brief Retrieve the size of an atlas
/**
* @brief Retrieve the size of an atlas
@@
-118,9
+134,9
@@
public:
*
* @return The pixel size of the atlas
*/
*
* @return The pixel size of the atlas
*/
- Vector2 GetAtlasSize(
uint32_t atlasId
);
+ Vector2 GetAtlasSize(
uint32_t atlasId
);
-
/**
+ /**
* @brief Set the atlas size and block size for subsequent Atlas generation
*
* @param[in] width width of atlas in pixels
* @brief Set the atlas size and block size for subsequent Atlas generation
*
* @param[in] width width of atlas in pixels
@@
-128,7
+144,7
@@
public:
* @param[in] blockWidth width of a block in pixels
* @param[in] blockHeight height of a block in pixels
*/
* @param[in] blockWidth width of a block in pixels
* @param[in] blockHeight height of a block in pixels
*/
- void SetNewAtlasSize(
uint32_t width, uint32_t height, uint32_t blockWidth, uint32_t blockHeight
);
+ void SetNewAtlasSize(
uint32_t width, uint32_t height, uint32_t blockWidth, uint32_t blockHeight
);
/**
* @brief Get the Pixel Format used by an atlas
/**
* @brief Get the Pixel Format used by an atlas
@@
-137,16
+153,16
@@
public:
*
* @return The pixel format of the atlas
*/
*
* @return The pixel format of the atlas
*/
- Pixel::Format GetPixelFormat(
uint32_t atlasId
);
+ Pixel::Format GetPixelFormat(
uint32_t atlasId
);
/**
/**
- * @brief Get the
material
used by an atlas
+ * @brief Get the
texture set
used by an atlas
*
* @param[in] atlasId Id of an atlas
*
*
* @param[in] atlasId Id of an atlas
*
- * @return The
material
used by the atlas
+ * @return The
texture set
used by the atlas
*/
*/
-
Material GetMaterial( uint32_t atlasId
) const;
+
TextureSet GetTextures(uint32_t atlasId
) const;
/**
* @brief Get Glyph Manager metrics
/**
* @brief Get Glyph Manager metrics
@@
-160,18
+176,17
@@
public:
*
* @param[in] fontId The font this image came from
* @param[in] index The index of the glyph
*
* @param[in] fontId The font this image came from
* @param[in] index The index of the glyph
+ * @param[in] style The style of this glyph
* @param[in] delta The adjustment to make to the reference count
*/
* @param[in] delta The adjustment to make to the reference count
*/
- void AdjustReferenceCount(
Text::FontId fontId, Text::GlyphIndex index, int32_t delta
);
+ void AdjustReferenceCount(
Text::FontId fontId, Text::GlyphIndex index, const GlyphStyle& style, int32_t delta
);
private:
private:
-
- explicit DALI_INTERNAL AtlasGlyphManager(Internal::AtlasGlyphManager *impl);
-
+ explicit DALI_INTERNAL AtlasGlyphManager(Internal::AtlasGlyphManager* impl);
};
} // namespace Toolkit
} // namespace Dali
};
} // namespace Toolkit
} // namespace Dali
-#endif //
__DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_H__
+#endif //
DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_H