649 Commits

Author SHA1 Message Date
Mikael Sand 48cfe71aca Implement GlyphPathBag for caching Paths per char, after a applyTextPropertiesToPaint(paint, font)
Path glyph = bag.getOrCreateAndCache(currentChar, current);
2017-07-25 19:46:02 +03:00
Mikael Sand 9e0de800bd Refactor, optimize. 2017-07-25 11:06:01 +03:00
Mikael Sand d2eb3a6e16 Fix todo comment 2017-07-25 10:19:11 +03:00
Mikael Sand 51f28ce525 Add missing enum file 2017-07-25 10:16:58 +03:00
Mikael Sand 2d699b4e56 Add alignment-baseline aliases to support legacy content. 2017-07-25 10:00:32 +03:00
Mikael Sand b140d673d7 Fix interpretation of alignmentBaseline (Shouldn't inherit). 2017-07-25 08:22:56 +03:00
Mikael Sand c05c215496 Implement prop extraction for side and alignmentBaseline. Cleanup extractText, fix linting. 2017-07-25 07:45:08 +03:00
Mikael Sand 7cafe835df First alignmentBaseline implementation attempt 2017-07-25 07:04:12 +03:00
Mikael Sand 957174e3e7 Begin alignmentBaseline implementation 2017-07-25 05:50:21 +03:00
Mikael Sand 4cfdfd9bf2 Restructure 2017-07-25 03:08:19 +03:00
Mikael Sand a73f50d3f2 Implement https://svgwg.org/svg2-draft/text.html#TextpathLayoutRules 2017-07-25 02:42:58 +03:00
Mikael Sand fb05019369 Fix fontSize propagation and getFontSizeFromContext 2017-07-24 20:46:19 +03:00
Mikael Sand da12d92d5a Implement TextPathMethod and TextPathSpacing Enums 2017-07-24 20:20:24 +03:00
Mikael Sand e99ce01dfe Implement FontData Enums 2017-07-24 19:35:07 +03:00
Mikael Sand 7c5a7ceed3 Implement FontData class instead of WritableMap / ReadableMap 2017-07-24 18:05:47 +03:00
Mikael Sand e2128400e3 Add TextLayoutAlgorithm.java 2017-07-24 04:46:15 +03:00
Mikael Sand 30ef288ded Fix peerDep 2017-07-24 03:04:55 +03:00
Mikael Sand 80b9ff9d57 Fix font PropTypes 2017-07-23 22:55:39 +03:00
Mikael Sand fc61c9dad2 Simplify textAnchor and textDecoration handling 2017-07-23 20:11:01 +03:00
Mikael Sand 2b3f251b8b Docfix 2017-07-23 16:39:18 +03:00
Mikael Sand be811a4b4e Fix missing newline in docs 2017-07-23 10:12:32 +03:00
Mikael Sand dea6d2e8f0 Simplify scaling logic 2017-07-23 07:54:44 +03:00
Mikael Sand 99995056a9 Improve naming 2017-07-23 07:45:58 +03:00
Mikael Sand 8f62650bac Implement wordSpacing 2017-07-23 07:19:46 +03:00
Mikael Sand f2352be2f5 Implement correct letterSpacing 2017-07-23 06:38:18 +03:00
Mikael Sand a1aad32e0d High precision intermediate calculations for rendering.
Use double instead of float.
2017-07-23 05:40:24 +03:00
Mikael Sand 1b24650665 Rename setIfExists to put 2017-07-23 04:47:12 +03:00
Mikael Sand 45b47fe119 Refactor pushNodeAndFont repeated code into static setIfExists method. 2017-07-23 04:39:39 +03:00
Mikael Sand 904b4096ef Optimize pushNodeAndFont, use parent font map as shortcut if current is null.
Keep all font map values as Strings until use (except font size, which needs to be absolute, for computing relative size values in inheritance).
2017-07-23 04:31:14 +03:00
Mikael Sand 2bb08d9f7a Fix signature and documentation 2017-07-23 04:02:36 +03:00
Mikael Sand 5b78c93c40 Use mFontSize instead of getFontSize() 2017-07-23 03:30:10 +03:00
Mikael Sand d8afd7770f Fix code completion documentation rendering 2017-07-23 02:14:42 +03:00
Mikael Sand 9f954079da Cache topFont 2017-07-23 02:11:08 +03:00
Mikael Sand d3d460298f Fix comments, rename mIndexTop to mTop. 2017-07-23 01:53:57 +03:00
Mikael Sand 5ebcdb5a7f Fix getTopOrParentFont; Parent GlyphContext inheritance / resolution logic. 2017-07-23 01:16:47 +03:00
Mikael Sand 0b9fb6fb61 Finish implementing font-size Percentages: refer to parent element's font size. 2017-07-23 00:26:41 +03:00
Mikael Sand eaf7b5e88b Improve fontSize handling 2017-07-22 23:02:37 +03:00
Mikael Sand 147c4fdf7d Add documentation for getFontSize (relative font sizes work now.) 2017-07-22 22:23:44 +03:00
Mikael Sand ed9c0bd647 Restructure fontSize handling. 2017-07-22 22:05:38 +03:00
Mikael Sand 6b022ac861 Harmonize parseSVGLengthList usage and naming. Probably requires api change in ios as well. 2017-07-22 20:33:05 +03:00
Mikael Sand 9cd955a82e Allow generic units in dx and dy, and percentages in rotate text attributes. 2017-07-22 18:54:32 +03:00
Mikael Sand 39cdabe17e Fix null handling in setMatrix 2017-07-22 18:12:22 +03:00
Mikael Sand f9359a6236 Remove redundant mr variable. 2017-07-22 17:23:08 +03:00
Mikael Sand ea17841eb5 Simplify manual kerning logic. 2017-07-22 17:19:09 +03:00
Mikael Sand f4779efe9b Optimize input matrix handling. Improve get(Parent)TextRoot naming.
Fix doc / comment.
2017-07-22 17:13:34 +03:00
Mikael Sand 1e2fd9b102 Refactor, extract common index list incrementation logic into private static method. 2017-07-22 16:27:13 +03:00
Mikael Sand 81044e480a Fix translate and rotate regressions. 2017-07-22 16:20:04 +03:00
Mikael Sand 7c05e038b2 Refactor: simplify glyph translate calculation 2017-07-22 16:09:32 +03:00
Mikael Sand d855b9605f Refactor: simplify applyTextPropertiesToPaint 2017-07-22 16:00:19 +03:00
Mikael Sand 0620cb2295 Refactor: extract inline strings into private static final String constants. 2017-07-22 15:42:22 +03:00