about summary refs log tree commit diff stats
path: root/src/layout
Commit message (Collapse)AuthorAgeFilesLines
* move around more modulesbptato2023-09-142-2/+2
| | | | | | | | | | * ips -> io/ * loader related stuff -> loader/ * tempfile -> extern/ * buffer, forkserver -> server/ * lineedit, window -> display/ * cell -> types/ * opt -> types/
* layout: make table rowspan occupy several rowsbptato2023-09-112-20/+51
| | | | | Now cells with a rowspan > 1 actually occupy several rows. The implementation is quite ugly but it should work for now.
* layout: fix table row group regressionbptato2023-09-101-9/+29
| | | | | Turns out we had the row groups separated for a reason: we need them so we can implicitly sort rows based on their row group type.
* layout: simplify preBuildTableRowsbptato2023-09-091-36/+13
| | | | the iterator here was rather pointless
* layout: remove commented out hackbptato2023-09-091-10/+0
| | | | | | Specifically, we used to set the width computed value of table cells manually in the past. It was a hack that never worked very well, and has been unnecessary ever since we switched to SizeConstraints.
* layout: add table rowspanbptato2023-09-092-11/+57
|
* layout: count spacing before inline padding toobptato2023-07-281-2/+10
|
* layout: remove incorrect commentbptato2023-07-271-2/+0
|
* layout: distinguish padding from spacingbptato2023-07-272-5/+23
| | | | | Re-consideration of 1e0506adb: we do need to explicitly specify padding after all, so the rendering engine knows of it too.
* layout: fix incorrect parenthesesbptato2023-07-271-1/+1
| | | | | | In the tab width case, only whitespacenum was being divided instead of charwidth + whitespacenum, which resulted in an exponential growth of both charwidth and whitespacenum.
* layout: do not treat inline padding as spacingbptato2023-07-271-5/+6
| | | | | So e.g. padding: 1px does not inhibit automatic addition of spaces for inline blocks.
* layout: remove unused variablesbptato2023-07-271-3/+0
|
* layout: refactor absolute positioning width calcbptato2023-07-271-13/+84
| | | | Still not perfect, but at least not completely broken.
* layout: fix superfluous inline whitespacebptato2023-07-251-1/+3
| | | | | | | | | | | | | | computeShift now checks if the last inline atom is spacing, and if yes, it does not add more spacing. This fixes rendering of the following document: <span> a </span> <span> b </span>
* layout: use nowrap functionbptato2023-07-251-1/+1
|
* layout: fix position: relative sizesbptato2023-07-251-2/+2
| | | | | Only inherit width from the last positioned element if position: absolute is set.
* layout: refactor sizingbptato2023-07-252-281/+425
| | | | | | Factor out the "shrink" variable and the (broken) isWidthSpecified into a SizeConstraint type. This should make box sizing easier to reason about.
* make it compilebptato2023-07-081-8/+7
| | | | whoops
* layout: width-related fixesbptato2023-07-081-34/+38
| | | | | | | | * Set contentWidthInfinite to false when specified width commands so * Unify applyWidth of block boxes. probably still incorrect, just less so (at least we no longer have two slightly different cases...) This appears to fix some infinite table cell width issues.
* layout: refactor table layoutbptato2023-07-072-92/+109
| | | | Split it into smaller functions.
* layout: show [img] instead of image urlbptato2023-07-071-1/+1
| | | | urls can get pretty long
* Fix bug in media-query parsingbptato2023-07-041-20/+25
| | | | This fixes interpretation of "@media (min/max-width: 1234px)".
* Fix table cellspacing not being counted in row widthbptato2023-07-041-0/+7
|
* Use LayoutUnit in layoutbptato2023-07-043-110/+178
| | | | Reduces ugly rendering caused by rounding errors.
* Fix various layout bugs, prepare for image supportbptato2023-06-122-86/+95
|
* Fix -cha-center moving by negative xbptato2023-06-101-4/+2
| | | | | In other words, if the element is wider than it's container, we don't do anything at all.
* Add support for visibilitybptato2023-06-071-0/+2
|
* layout: fix min-height/max-height handlingbptato2023-06-072-20/+22
|
* min-height, max-height fixesbptato2023-05-141-4/+4
|
* remove stray eprint, remove unused make*bptato2023-05-131-1/+0
|
* layout: disregard negative underflowbptato2023-05-131-1/+2
|
* Working position: absolute, some other fixesbptato2023-05-132-145/+131
| | | | | | | | 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.
* layout/engine: fix min-width doing the wrong thingbptato2023-03-101-4/+4
| | | | It was being used the same way as max-width. Oops.
* layout/engine: fix double positioning absolute boxesbptato2023-02-192-0/+11
| | | | | by checking if the box has been positioned before. Not a very good solution, but it works...
* layout/engine: fix some tab alignment issuesbptato2023-02-141-2/+4
|
* layout: fix position:absolute, remove position:fixedbptato2023-01-202-31/+45
| | | | Now at least absolute should be positioned correctly.
* layout/engine: fix tab displaybptato2023-01-191-1/+4
|
* css/cascade, layout/engine: add table alignbptato2023-01-081-34/+32
| | | | Also fix margin-left/right: auto, to some extent.
* layout/engine: fix marker box computed valuesbptato2023-01-061-1/+1
|
* layout/engine: fix non-inheritable values for inline boxbptato2023-01-062-36/+61
| | | | | Also, a hack for inline box background-color. It doesn't work very well, but good enough for now.
* layout/engine: fix pre-line wrap on newlinebptato2023-01-051-1/+6
| | | | Just how many white-space properties can I get wrong?
* layout/engine: fix inline-table crashbptato2023-01-031-16/+19
| | | | inline-table was calling the wrong layout, which made an assertion fail.
* layout/engine: fix text-align: cha-* for boxes with shrinkbptato2023-01-011-15/+22
| | | | | In shrink, we can only take up as much space as our content, so we first have to determine our content width and only then align the children.
* layout/engine: fix crash on padding-rightbptato2022-12-312-2/+1
|
* layout/engine: add hanging spaces, markersbptato2022-12-281-10/+25
| | | | | | Implement hanging ascii spaces. Non-ascii is still not supported... Markers are now built in shrunken inline contexts, and are set to white-space pre, so the trailing space is preserved.
* layout/engine: table layout improvements, fix pre-wrap whitespacebptato2022-12-282-126/+206
| | | | | | | | 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
* layout/engine: get rid of dom dependencybptato2022-12-272-32/+22
| | | | Layout should only depend on cascading.
* Proper support for tabsbptato2022-12-272-4/+10
|
* layout/engine: calculate wrappervals only if neededbptato2022-12-261-2/+2
|
* Fix an anonymous table bugbptato2022-12-251-1/+7
| | | | | ...by flushing anonymous tables *before* inline layout is set (therefore avoiding placing them inside inline boxes.)