X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fui%2Fgfx%2Ffont_list.h;h=bc3afc2d18ffc5fd2a7da57a5b9303951342a5be;hb=d41e52f18cc3fee3627acf2db026b2a86c2a9d18;hp=1ba8ad1aff9f0511bcf3c17421f15655766e14f1;hpb=4e9e197c26c34b7055b2c5de6d4a770d317b468c;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/ui/gfx/font_list.h b/src/ui/gfx/font_list.h index 1ba8ad1..bc3afc2 100644 --- a/src/ui/gfx/font_list.h +++ b/src/ui/gfx/font_list.h @@ -83,6 +83,31 @@ class GFX_EXPORT FontList { // values: Font::BOLD, Font::ITALIC and Font::UNDERLINE. FontList DeriveWithStyle(int font_style) const; + // Shrinks the font size until the font list fits within |height| while + // having its cap height vertically centered. Returns a new FontList with + // the correct height. + // + // The expected layout: + // +--------+-----------------------------------------------+------------+ + // | | y offset | space | + // | +--------+-------------------+------------------+ above | + // | | | | internal leading | cap height | + // | box | font | ascent (baseline) +------------------+------------+ + // | height | height | | cap height | + // | | |-------------------+------------------+------------+ + // | | | descent (height - baseline) | space | + // | +--------+--------------------------------------+ below | + // | | space at bottom | cap height | + // +--------+-----------------------------------------------+------------+ + // Goal: + // center of box height == center of cap height + // (i.e. space above cap height == space below cap height) + // Restrictions: + // y offset >= 0 + // space at bottom >= 0 + // (i.e. Entire font must be visible inside the box.) + gfx::FontList DeriveWithHeightUpperBound(int height) const; + // Returns the height of this font list, which is max(ascent) + max(descent) // for all the fonts in the font list. int GetHeight() const;