| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
* stream: and passFd is now client-based, and accessible for buffers
* Bitmap's width & height is now int, not uint64
* no more non-network Bitmap special case in the pager for canvas
I just shoehorned it into the static image model, so it still doesn't
render changes after page load. But at least now it doesn't crash the
browser.
|
| |
|
|
|
|
|
|
|
| |
* cssvalues, twtstr: unify enum parsing code paths, parse enums by
bisearch instead of hash tables
* mediaquery: refactor (long overdue), fix range comparison syntax
parsing, make ident comparisons case-insensitive (as they should be)
|
| |
|
| |
|
|
|
|
|
|
| |
* top/middle/bottom for img, remove redundant display: block for floats
(they get blockified anyway)
* map align for p too, not just div
|
| |
|
|
|
|
|
|
|
| |
Just use the previous tree when possible.
The child list is still reconstructed, but at least we no longer alloc
every single node again at every single restyle.
|
|
|
|
| |
the invalid flag must be toggled after styling
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* resize images with stb_image_resize
* use tee for output handle redirection (redirectToFile blocks)
* cache original image files
* accept lseek in sandbox
* misc stbi fixes
For now, I just pulled in stb_image_resize v1. v2 is an extra 150K in
size, not sure if it's worth the cost. (Either way, we can always switch
later if needed, since the API is almost the same.)
Next step: move sixel/kitty encoders to CGI, and cache their output in
memory instead of the intermediate RGBA representation.
|
| |
|
|
|
|
| |
Parse rule values in sheet addRule, not during cascade.
|
|
|
|
| |
This avoids some unnecessary string copying.
|
|
|
|
| |
for consistency
|
|
|
|
|
| |
If `content' is empty, then generating before/after pseudo-elements
is wrong.
|
|
|
|
|
| |
ansi2html depends on color, but we definitely do not want to link it
to QJS, so the converters must be moved into a separate module.
|
|
|
|
|
|
|
|
| |
* add CSSStyleDeclaration setter
* move ident maps directly into enums
* more complete CSSComputedValue stringifier
* turn canvas into a pseudo-image in cascade
* set canvas to inline-block
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* png: add missing filters, various decoder fixes
* term: fix kitty response interpretation, add support for kitty image
detection
* buffer, pager: initial image display support
Emphasis on "initial"; it only "works" with kitty output and PNG input.
Also, it's excruciatingly slow, and repaints images way too often.
Left undocumented intentionally it for now, until it actually becomes
useful. In the meantime, adventurous users can find out themselves why:
[[siteconf]]
url = "https://.*"
images = true
|
|
|
|
|
|
| |
* separate params with ; (semicolon) instead of , (colon)
* reduce screaming snake case use
* wrap long lines
|
|
|
|
| |
just for consistency
|
|
|
|
|
| |
we just treat them as img tags. lazy, but works suprisingly well -- so
long as the server sends us a Content-Type, anyway.
|
|
|
|
|
| |
it's inefficient and pointless to treat them differently, so just derive
a new enum from TagType with a macro
|
|
|
|
|
|
|
|
|
|
|
| |
The -cha-ansi color type now sets ANSI colors in CSS.
Also, color correction etc. has been improved a bit:
* don't completely reset output state in processFormat for new colors
* defaultColor is now separated from ANSI color type 0
* bright ANSI colors are no longer replaced with bold + dark variant
* replaced ANSI color map to match xterm defaults
|
|
|
|
|
|
|
| |
The `t' field was completely redundant, as it's already included in the
CSSComputedValues index.
+ removed some unused functions
|
|
|
|
|
|
| |
This is required by the standard. (Without this, lots of websites have
incorrect background colors, because they set the body height to 100%
of the viewport.)
|
| |
|
|
|
|
|
| |
We no longer have to wait for the entire document to be loaded to start
loading CSS.
|
| |
|
|
|
|
|
|
|
|
| |
* Update chame to the latest version
* Get rid of nodeType usage
* Add atoms
* Re-implement DOM attributes
* document.write
|
|
|
|
|
|
|
|
| |
* css/cascade: copy stylesheet in applyMediaQuery (so that changes
are reverted on re-style)
* buffer: clear prevstyled in windowChange (to avoid using cached
results from previous cascading passes); set window.attrs
* pager: avoid windowChange if new attrs are identical to the old ones
|
| |
|
| |
|
|
|
|
|
| |
Styled children must be added to their parents *before* they are
styled, because match expects this to hold.
|
|
|
|
|
|
|
| |
* Fix a bug where rules would be sorted incorrectly if retrieved from
the cache.
* Use withValue where possible
* camelCase some variables, de-extern some functions, etc.
|
|
|
|
|
|
| |
* Break up applyRules into smaller functions
* Do not call calcRules for every child pseudo element separately;
just use parent's DeclarationListMap
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
yay!!!!
* Add support for float: left, float: right
Also, misc stuff:
* Add support for display: flow-root
* Set line width to the maximum allowed width on line wrap
* Various refactorings
Still todo: support clear
|
| |
|
|
|
|
| |
third time's the charm
|
|
|
|
|
|
|
| |
Turns out you can't just throw the value into the CSS value parser.
(Also, correction for the previous commit message: it is not LI but UL
or OL.)
|
| |
|
|
|
|
| |
and with that, resolve the unknown input type issue
|
|
|
|
|
|
|
|
|
|
| |
* ips -> io/
* loader related stuff -> loader/
* tempfile -> extern/
* buffer, forkserver -> server/
* lineedit, window -> display/
* cell -> types/
* opt -> types/
|
|
|
|
|
|
| |
* lower-case the input string.
* do not fall back to black on error. (i.e. remove the special cased
parseLegacyColor0 in cascade)
|
|
|
|
|
|
|
| |
This used to be possible until I moved everything under separate
headers to their respective objects.
Now it works again, mostly; modification of some attributes is still
missing.
|
|
|
|
| |
Operation "modularize Chawan somewhat" part 2
|
|
|
|
| |
probably insignificant overall
|
|
|
|
| |
This fixes interpretation of "@media (min/max-width: 1234px)".
|