summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* layout: Go back to trimming start and endline-breakerMatthias Clasen2022-01-251-1/+8
| | | | | | We want the first and the last line of the paragraph to have its leading trimmed, for the purposes of determining the paragraph extents.
* line-breaker: Fix a corner caseMatthias Clasen2022-01-251-0/+2
| | | | | | We were sometimes leaving a stray glyphstring behind when handling newlines in single paragraph mode.
* layout: Fix an oversightMatthias Clasen2022-01-251-1/+2
|
* ellipsize: Fix an oversightMatthias Clasen2022-01-251-2/+2
| | | | | Fix a G_MAXINT <> G_MAXUINT confusion by using the proper define here.
* ellipsize: Filter attributesMatthias Clasen2022-01-251-1/+7
| | | | | | | When collecting attributes to itemize and shape the ellipsize, don't pick up rendering attributes. This fixes occasional miscolored ellipses if the beginning of the line is colored.
* attributes: Centralize classificationMatthias Clasen2022-01-253-58/+66
| | | | | Make the 'affects itemization' etc classification available in one place, so we can use it elsewhere.
* attributes: Handle custom attributesMatthias Clasen2022-01-251-1/+8
| | | | | | We should not segfault when printing a PangoAttrList containing some attributes that have been registered by gtk.
* layout: Fix an oversightMatthias Clasen2022-01-251-1/+1
|
* lines: tweak the array apiMatthias Clasen2022-01-2514-168/+175
| | | | | | Make this work like the line api, with pango_lines_get_lines() and pango_lines_get_line_count(). Update all users.
* line: Don't return GSListMatthias Clasen2022-01-258-20/+63
| | | | | | | Change pango_line_get_runs to return an array. So far, this changes just the API. All internals are still done on the list.
* Rename PangoLayoutIter to PangoLineIterMatthias Clasen2022-01-2519-280/+278
|
* Rename PangoLayoutLine to PangoLineMatthias Clasen2022-01-2536-597/+596
|
* Rename PangoLayoutRun to PangoRunMatthias Clasen2022-01-2516-97/+96
|
* line-breaker: Rename done()Matthias Clasen2022-01-255-8/+8
| | | | | Rename pango_line_breaker_done to pango_line_breaker_has_line.
* Document immutabilityMatthias Clasen2022-01-251-3/+3
|
* Make PangoLayoutLine a boxed typeMatthias Clasen2022-01-256-75/+73
|
* Tweak boolean gettersMatthias Clasen2022-01-259-38/+38
| | | | | | Add 'is' to all the boolean getters on PangoLayoutLine and PangoLines. Update all callers.
* docs: Add some illustrations for extentsMatthias Clasen2022-01-2513-0/+5056
|
* layout: Use simpler gettersMatthias Clasen2022-01-251-1/+1
|
* Change trimming of extentsMatthias Clasen2022-01-252-20/+13
| | | | | | Make pango_layout_line_get_extents return untrimmed extents, and pango_lines_get_extents trim the extents at the start/end of paragraphs.
* layout: undo an accidental removalMatthias Clasen2022-01-251-0/+79
|
* layout: don't forget spacing in copy()Matthias Clasen2022-01-251-0/+1
|
* line-breaker: Add docsMatthias Clasen2022-01-251-12/+26
|
* layout: Add docsMatthias Clasen2022-01-251-100/+76
|
* layout iter: Add docsMatthias Clasen2022-01-251-0/+14
|
* lines: Add docsMatthias Clasen2022-01-251-0/+33
|
* layout-line: Add docsMatthias Clasen2022-01-251-0/+19
|
* layout-run: add docsMatthias Clasen2022-01-251-0/+29
|
* lines: Fix some corner casesMatthias Clasen2022-01-251-11/+10
|
* layout: Fix a reference miscountMatthias Clasen2022-01-251-1/+1
|
* pango-view: Bring line spacing backMatthias Clasen2022-01-251-0/+12
|
* layout: Don't trim leading when placing linesMatthias Clasen2022-01-251-1/+1
|
* layout: Add spacing backMatthias Clasen2022-01-252-0/+86
| | | | | Implement the PangoLayout:spacing property by translating it into a line-spacing attribute.
* layout: Rename line-spacing to line-heightMatthias Clasen2022-01-255-41/+46
| | | | | | | | This matches better with the CSS terminology, and reduces the clash with the spacing property that is about to come back. Update all callers.
* serializer: Handle line spacing attributesMatthias Clasen2022-01-251-0/+5
|
* layout-run: Use line spacingMatthias Clasen2022-01-251-1/+1
| | | | | | | | Take line spacing into account when determining the leading to use for logical extents. We add line spacing when we use gap metrics from the font, and ignore it when line height is determined by line height attributes.
* item: Add line spacing to ItemPropertiesMatthias Clasen2022-01-252-0/+6
|
* Add a line spacing attributeMatthias Clasen2022-01-252-0/+34
| | | | | This will be used to restore the PangoLayout spacing property.
* Tweak PangoAlignmentMatthias Clasen2022-01-252-18/+34
| | | | | | | | | | | | Remove the justify-all value, and drop the justify-last-line feature from PangoLayout. This can be done better using PangoLineBreaker now. On the flip side, add a 'natural' value, since that is what we want to fall back to for the last line in a justified paragraph. And CoreText has this value too. Make PANGO_ALIGN_NATURAL the default.
* Make PangoLayoutRun a separate typeMatthias Clasen2022-01-255-34/+53
| | | | | | It is nicer to have an opaque type for the iter, and only use PangoGlyphItem in the implementation.
* The big rename of doomMatthias Clasen2022-01-2551-11444/+2204
| | | | | | | | | | simple layout -> layout line iter -> layout iter line -> layout line This commit replaces the old PangoLayout implementation with PangoSimpleLayout, and does all the necessary cleanups.
* Regenerate layout testsMatthias Clasen2022-01-2437-19315/+20229
| | | | | The serialization format has changed, so these need to be regenerated to match.
* Fix testserializeMatthias Clasen2022-01-241-4/+1
|
* tests: Update expected results for breaksMatthias Clasen2022-01-241-1/+1
| | | | | | | One of the break tests has an inconsequential change in output. I believe it is due to us now feeding paragraph terminators through the break code. Update the test result.
* port testrandomMatthias Clasen2022-01-241-21/+21
|
* utils: Port pango-segmentationMatthias Clasen2022-01-241-7/+6
|
* Port test-pangocairo-threadsMatthias Clasen2022-01-241-9/+12
|
* testmisc: fix buildMatthias Clasen2022-01-241-1/+1
|
* Port testmisc to simple layoutMatthias Clasen2022-01-241-145/+148
|
* testiter: more fixesMatthias Clasen2022-01-241-74/+74
|