about summary refs log tree commit diff stats
path: root/src/render
Commit message (Collapse)AuthorAgeFilesLines
* layout: rewrite inline box handlingbptato2023-11-271-159/+179
| | | | | | | | | | | We now have real inline boxes. * Fix nesting of inline boxes * Represent inline boxes with a hierarchical RootInlineFragment -> InlineFragment tree * Get rid of inline padding hack * Get rid of ComputedFormat * Paint inline box backgrounds properly
* renderdocument: avoid setText with zero-width stringbptato2023-11-211-9/+10
| | | | This can happen e.g. if the word is fully outside the canvas.
* renderdocument: fix regression in d20fc30bptato2023-11-201-12/+0
| | | | | The reasoning for using early returns was wrong, and they should be unnecessary anyway.
* renderdocument, cell: fix FormatCell bugsbptato2023-11-201-17/+31
| | | | | | | * No more zero width FormatCells messing up buffer display (yay!) * Assert on setText width a zero-length string * Remove unnecessary FormatCell added to every line on paintBackground start
* layout: refactor flow margin propagation, sizingbptato2023-11-121-5/+5
| | | | | | | | | * Blocks are now positioned before their text contents would be layouted * Untangle calcAvailableSpaceSizes's results from BlockBox * Move a couple of objects from box -> engine * Use Size in a few more places * Set display to block if float is not none
* buffer: remove viewport referencebptato2023-10-281-3/+3
| | | | | Viewport at this point is basically just the layout state, so it makes no sense to store it in buffer.
* renderdocument: slightly refactor, optimize addLinesbptato2023-10-261-35/+12
|
* layout/engine: refactor inline atoms etc.bptato2023-10-261-21/+16
|
* WindowAttributes: refactorbptato2023-10-191-1/+1
| | | | | | * rename module (window -> winattrs, to avoid conflict with env/window) * do not use result * remove unused cell_ratio
* move around more modulesbptato2023-09-142-3/+3
| | | | | | | | | | * ips -> io/ * loader related stuff -> loader/ * tempfile -> extern/ * buffer, forkserver -> server/ * lineedit, window -> display/ * cell -> types/ * opt -> types/
* Move HTML parsing into Chamebptato2023-08-151-1/+2
| | | | Operation "modularize Chawan somewhat" part 2
* Move charsets into chakasubptato2023-08-141-2/+3
| | | | Operation "modularize Chawan somewhat" part 1
* htmlparser: decouple from DOMbptato2023-07-091-0/+1
| | | | | Instead of directly appending nodes to the DOM, use a DOMBuilder interface.
* Add popup menu for select elementbptato2023-07-051-1/+1
| | | | | | | Replaces the weird CSS implementation we have had until now with a searchable popup menu similar to that of w3m. (The previous implementation broke on websites that do not expect <select> to expand on click, had no separate search, and was ugly.)
* calculateErrorY: fix regression by using intbptato2023-07-041-2/+2
| | | | Obviously we can't calculate rounding error without rounding.
* Use LayoutUnit in layoutbptato2023-07-041-18/+36
| | | | Reduces ugly rendering caused by rounding errors.
* rendertext: do not rewind if no other charsets are availablebptato2023-06-251-1/+1
| | | | Fixes crash when the decoder fails to decode all given charsets.
* Revert "renderdocument: bgcolor blending"bptato2023-06-151-13/+16
| | | | | This reverts commit c13a4cf4e144f7ab36167ebbb1333f7faeed11b3. Clearly it's broken. Needs a fix.
* renderdocument: bgcolor blendingbptato2023-06-131-16/+13
|
* Fix various layout bugs, prepare for image supportbptato2023-06-121-9/+17
|
* Add support for visibilitybptato2023-06-071-21/+23
|
* Add display/output encodingbptato2023-05-191-0/+2
| | | | Some encodings are still missing
* Refactor config, add charset optsbptato2023-05-161-3/+30
| | | | Only document-charset supported for now.
* Working position: absolute, some other fixesbptato2023-05-131-8/+17
| | | | | | | | Fix margin-top being used instead of margin-bottom. Content width resolving makes somewhat more sense now. min-width, max-width doesn't completely break width calculation anymore. Finally, position: absolute is no longer implemented as a horribly broken hack.
* renderdocument: fix img positionbptato2023-04-121-5/+5
|
* renderdocument: fix failing assertionbptato2023-01-071-0/+8
| | | | | I'm not sure if it was actually causing other issues, but better safe than sorry: formatting is no longer inserted for negative x coordinates.
* css/values, parser, ...: fix background-imagebptato2023-01-061-24/+24
|
* layout/engine: fix non-inheritable values for inline boxbptato2023-01-061-4/+14
| | | | | Also, a hack for inline box background-color. It doesn't work very well, but good enough for now.
* renderdocument: add StyledNodes to backgroundsbptato2023-01-031-10/+17
| | | | | | This makes it possible to e.g. click on this: <a href=x style="display: inline-block; width: 5em; height: 5em; background-color: red"></a>
* renderdocument: fix crash for image textbptato2023-01-031-1/+2
| | | | We need to check if y >= 0, or it fails.
* rendertext: fix format position for non-asciibptato2023-01-011-1/+5
|
* layout/engine: table layout improvements, fix pre-wrap whitespacebptato2022-12-281-1/+1
| | | | | | | | Table layout: weight calculation is no longer broken. We use maxContentWidth for this, which the first pass of a non-specified table cell layout overrides. pre-wrap: just a minor fix - include it in whitespacepre, now that we have a distinction between pre and wrapping white-space
* rendertext: fix ansi escape regressionbptato2022-12-281-0/+1
|
* layout/engine: get rid of dom dependencybptato2022-12-271-1/+1
| | | | Layout should only depend on cascading.
* Proper support for tabsbptato2022-12-272-19/+5
|
* rendertext: fix tab widthbptato2022-12-271-8/+7
|
* rendertext: fix tab weirdnessbptato2022-12-251-10/+8
|
* Add unicode normalization, etcbptato2022-12-191-3/+0
|
* Display text for img tag, background-imagebptato2022-12-161-0/+12
|
* Remove obsolete renderPlainText procbptato2022-12-151-42/+0
|
* Fix console display bugs, add container.locationbptato2022-12-151-1/+6
|
* rendertext, color: fix escape codesbptato2022-12-141-0/+1
|
* renderdocument: fix another formatting bugbptato2022-12-121-3/+5
|
* renderdocument: fix overwriting formatcellsbptato2022-12-121-3/+10
| | | | Gets rid of weird underline effects. Also fixes nx calculation, I think.
* Fix decoder bugs, move decoder to encoding/bptato2022-12-101-1/+1
|
* Add support for the encoding standard, fix parseLegacyColorbptato2022-12-101-32/+43
| | | | Also, fix a bug in the
* Add multiple text-decoration, overline emulationbptato2022-12-071-5/+4
|
* Remove unused twtstr functionsbptato2022-12-051-2/+2
|
* Do not center error-corrected linesbptato2022-11-301-1/+1
| | | | It sounds like a good idea, but in fact looks terrible in lists.
* renderdocument: fix bug negative padwidth bugbptato2022-11-291-1/+8
| | | | padwidth could be negative because we didn't ensure cx <= x.