Cache rendered glyph if required. + Copyless glyph creation 99/276599/26
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 21 Jun 2022 10:42:31 +0000 (19:42 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 30 Jun 2022 08:30:15 +0000 (17:30 +0900)
commit8890132f2bb9a8779f69142a0c697b83b250b373
tree5e5e6ffb1e38d37b1d6da068e5575a3a41c2d35a
parent028b3001f1ab8af1e129d62888d4f0c2d742bd24
Cache rendered glyph if required. + Copyless glyph creation

Call FT_Glyph_To_Bitmap might be overhead for some system.
But cache the rendered bitmap information could be another overhead.

So, we try to ask environment and store the bitmap result.

Follow as EFL system, we will store it as 8bit -> 4bit reduced
and RLE4 compression.

+

Now we can know the buffer's ownership for FontClient::GlyphBufferData.
We can use the buffer without copy if need.

Change-Id: I82a76961c84679c04750f0de904096130cb69df2
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
14 files changed:
automated-tests/src/dali-adaptor-internal/utc-Dali-FontClient.cpp
dali/devel-api/text-abstraction/font-client.cpp
dali/devel-api/text-abstraction/font-client.h
dali/internal/imaging/common/image-operations.cpp
dali/internal/imaging/common/image-operations.h
dali/internal/text/text-abstraction/cairo-renderer.cpp
dali/internal/text/text-abstraction/plugin/bitmap-font-cache-item.cpp
dali/internal/text/text-abstraction/plugin/embedded-item.cpp
dali/internal/text/text-abstraction/plugin/font-client-utils.cpp
dali/internal/text/text-abstraction/plugin/font-client-utils.h
dali/internal/text/text-abstraction/plugin/font-face-cache-item.cpp
dali/internal/text/text-abstraction/plugin/font-face-glyph-cache-manager.cpp
dali/internal/text/text-abstraction/plugin/font-face-glyph-cache-manager.h
dali/internal/text/text-abstraction/plugin/lru-cache-container.h