Updated all cpp files to new format Change-Id: If92183926ff6584c5d05efda672b422b9dd9a322
There is an issue with scale, so change to LINEAR. and fixed pixel alignment issue also. Change-Id: I8fb79eafd58714b1f2fcb42d650b7f6a1ca4eeea
Corrects the position. This required correction as the advance value changed after the patch https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/236448/ And after applying this patch, there is a pixel alignment issue in TextField. So I add a sampler NEAREST. Change-Id: I314cd9bf5d4db9a2b7ab04b6581ac63dd1bd886a
Text improvement 1. Text - Layout text & icons. * Feature added to layout text and icons. Icons can be added using the mark-up string feature. i.e. "Hello <item 'url'='icon.png'/>" The icon can be resized with the 'width' and 'height' properties. "Hello <item 'url'='icon.png' 'width'=24 'height'=24/>" Optionally only a size can be specified. The layout engine will layout the text with the gaps of the given size and retrieve the layout info of those gaps. It's the responsability of the user to fill the pixel buffer with the images. * New 'item' tag added to the mark-up processor. 2. Text - Bitmap fonts * Add support for bitmap fonts. 3. Text renderer utils - Set color to glyphs. * Required to set the color of the embedded items and the glyphs of the bitmap fonts. * Attribute added to the <item> tag that specifies if the color of the item has to be blended with the color of the text. * <color> tag processed and sent to the TextRenderer class in adaptor. * The color of font and bitmap font glyphs can be set individually with the <color> tag in a markup string or globally if the default color is set. If no default color is set, font glyphs will be white and bitmap font glyphs will use their colors. * By default embedded items will use their colors. If the attribute 'color-blending' is set to 'multiply' the color of the text will be multiplied by the color of the item image. If the image is white the result will be the color of the text. "Hello <item 'url'='image.png' 'color-blending'='multiply'> 4. Text Utils - Render color Emojis. * Cairo renders Emojis in black and white. This patch tells the Cairo renderer whether each glyph is an Emoji. 5. Circular text implementation. * New parameters added to the DevelText::RendererParameters struct for circular text. - layout: The type of layout: one of {"singleLine", "multiLine", "circular"} - circularAlignment: The text alignment within the arc: one of {"begin", "center", "end"} - radius: The radius in pixels of the circular text. Measured from the center to the top of the line. - beginAngle: The begin angle in degrees of the text area on the circle. The top of the circle is 0°, the right side 90°, the bottom 180° and the left 270°. - incrementAngle: The increment angle in degrees of the text area on the circle. The @p incrementAngle defines a direction. If positive, the text will be laid out clockwise. @note the horizontalAlignment and verticalAlignment can be used to align the whole text within the text area. * Example: How to set parameters for circular text from a C++ application Dali::Toolkit::DevelText::RendererParameters textParameters; textParameters.text = "Hello world, this is a demo of circular text."; textParameters.horizontalAlignment = "center"; textParameters.verticalAlignment = "center"; textParameters.circularAlignment = "center"; textParameters.layout = "circular"; textParameters.textColor = Color::BLACK; textParameters.fontSize = 16.f; textParameters.textWidth = 360u; textParameters.textHeight = 360u; textParameters.radius = 130u; textParameters.beginAngle = 180.f; textParameters.incrementAngle = 360.f; textParameters.ellipsisEnabled = true; 6. Text Utils - Rotate emojis/embedded items. * Retrieves the layout for rotated embedded items added in a second step. * When the emoji glyph is the one that is replaced by the ellipsis glyph, the 'isEmoji' vector pased to the cairo-renderer needs to be updated to state that '...' is not an emoji. 7. Software italic/bold issues fixed. * Fixes issues with the synthesis of bold and italic style by software. Change-Id: I74129ae2e79e23e825a2ef92baa651d7db4e1e57
Text outline support in TextField & TextEditor Measured using memps on TM1 target by creating 500 TextFields. Memory consumption is increased by 9% after outline is enabled. Without outiline, the memory comsumption is almost the same as before. TextField with text only (no outline): Before applying this patch: PID CODE DATA PEAK PSS 3D GEM(PSS) 11272 13572 75120 88692 76920 58860 5568 After applying this patch: PID CODE DATA PEAK PSS 3D GEM(PSS) 5782 13580 75244 88824 77055 58508 5568 TextField with text and outline: After applying this patch: PID CODE DATA PEAK PSS 3D GEM(PSS) 5851 13588 82056 95644 83874 63364 5568 Change-Id: I9838fb0867102e920bcc07650ff5c3a8903a7e24
Atlas manager using old block size for new atlas creation Change-Id: I0a192908037db68e226fc3a5c18b2891c7df3a0e
Text - Fix for emojis resampling. * Clears the texture when a new atlas is created. * Query the emoji bitmaps with the desired size. * Uses the shadow's color for emoji's shadows. Change-Id: I262f04a59cae6c1d9b2f5b15410843f4a3020219 Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Text - Use the uColor uniform to render the emojis. * Allows to mix the emoji color with a given color. i.e. a different alpha. Change-Id: If8b3a4eecf2dc65785afd3aafbe03c485ac0d444 Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Changed Atlas manager to use Dali::Texture instead of Dali::Atlas Change-Id: I284d67c3ec3aa198bfe6565dc8dd838022ade19b
Rendering API clean-up Change-Id: I282a24900e667bdc29ba45cf95d7e22457df137c
Update following the changes of blending&culling options Change-Id: I2a48b7d440b31f93ac2d8478f0ffe10ca417099d
Fixed regression with Actor::COLOR property in TextLabel Change-Id: I16eb72d23354af029f5e451e60e99219456663af
Text - Add the color to the vertex info. Change-Id: I96a16ce938ec0a160f9ba3b98a3e7f4a4af16850 Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Text Shadow Implementation via copied renderer. Change-Id: I1549e0b0c788b252ad176210f503c76397112e51 Signed-off-by: Richard Underhill <r.underhill@partner.samsung.com>
Changes following "Remove Sampler scene object" Change-Id: I7934f6d0c516687c252f49509812f2a87becff3a
Text clean. * Removes includes. * Moves code in text-view.cpp to match the .h Change-Id: Ifc510f19a427722f6072122f68b5f26800dc1081 Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Make internal actors size match TextLabel size Change-Id: I9a874e714d482553da446bdea112f3155cc3e84e
Simplified the glyph reference counting This fixes a bug found when opening/closing the text-selection popup. The reference counts are not incremented correctly e.g. when a word contains the same letter twice. This results in the atlas becoming corrupted. + More Debug macros for glyph-atlas Change-Id: Ib91681bc76e037ec4f6765bdc6ecbc9f592c20e3
Fixed Text Quality Regression Positioning of multiple 'mesh' actors per text-label was incorrect i.e. caused by SetSize(1,1) on parent actors. Compensated for sampling errors by rendering half a texel more on each edge. Change-Id: Iaee82914ca736867be081779badb8c6476a8b95d Signed-off-by: Richard Underhill <r.underhill@partner.samsung.com>
Merge branch 'devel/master' into devel/new_mesh Conflicts: automated-tests/src/dali-toolkit/CMakeLists.txt dali-toolkit/devel-api/shader-effects/distance-field-effect.cpp dali-toolkit/internal/atlas-manager/atlas-manager-impl.cpp dali-toolkit/internal/atlas-manager/atlas-manager-impl.h dali-toolkit/internal/atlas-manager/atlas-manager.cpp dali-toolkit/internal/atlas-manager/atlas-manager.h dali-toolkit/internal/controls/text-controls/text-label-impl.cpp dali-toolkit/internal/controls/text-controls/text-label-impl.h dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp dali-toolkit/internal/text/decorator/text-decorator.cpp dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.cpp dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.h dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.cpp dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp dali-toolkit/public-api/controls/control-impl.cpp Change-Id: I48b90c6c4696dbc7b65659ecf6004a09a17c7ab0