Commit Graph

146 Commits

Author SHA1 Message Date
Alec Murphy 60606317b2 System/Libraries/Html/Renderer: Render LI ordered/unordered items 2025-04-15 15:34:54 -04:00
Alec Murphy d6ff8beb9f System/Libraries/Html/Renderer: Initial support for CSS font-weight 2025-04-15 11:52:43 -04:00
Alec Murphy d60fc53798 System/Libraries/Graphics2D: Chop 16px off X2 max pos in @get_truetype_text_width()
This is a quick and dirty hack to compensate for artifacts at the far
right edge of the font rasterization buffer. Chopping off 16px allows us
to get the proper width of the rasterized text.
2025-04-15 11:45:47 -04:00
Alec Murphy 0d303b0134 System/Libraries/Html/Tokenizer: Add fontWeight property to @html_dom_node 2025-04-15 11:28:07 -04:00
Alec Murphy ae42db0be5 System/Libraries/Html/Renderer: Implement some CSS default rules 2025-04-15 10:40:28 -04:00
Alec Murphy def7d53101 System/Libraries/Html/Renderer: Increase background_ctx to max size before fill() 2025-04-15 10:03:04 -04:00
Alec Murphy dfb73f029c Applications/Internet/Cyberia: Create background ctx and fill #ffffff when a new Renderer is created 2025-04-15 07:50:11 -04:00
Alec Murphy c998d040ed System/Libraries/Html/Renderer: Create background_ctx for each HtmlRenderer instance 2025-04-14 21:16:04 -04:00
Alec Murphy b5d27214a1 System/Libraries/Widget: Add disabled_image property to ButtonWidget class 2025-04-14 20:41:28 -04:00
Alec Murphy 96e0009173 System/Libraries/Gui: Add disabled property to Widget class 2025-04-14 20:41:03 -04:00
Alec Murphy b30759c12e System/Libraries/Html/Renderer: Always return DEFAULT_FAVICON instead of NULL 2025-04-14 17:26:22 -04:00
Alec Murphy 10309b6b18 System/Libraries/Html/Renderer: Initial favicon support
This only supports RGBx color depths at the moment, but it's good enough
for most modern sites.
2025-04-14 16:45:51 -04:00
Alec Murphy 6532218883 System/Libraries/Html/Renderer: Handle node->textAlign a bit better
Just a few QoL tweaks for now, until we properly handle CSS, layout,
and everything else.
2025-04-14 10:53:05 -04:00
Alec Murphy dd86ef6a44 Meta: Add some layout debugging stuff 2025-04-13 14:40:44 -04:00
Alec Murphy 08313be27f System/Libraries/Html/Renderer: Refactor @render_node_list 2025-04-13 14:39:24 -04:00
Alec Murphy fc0c98ee2b System/Libraries/Html/Renderer: Add debug options 2025-04-12 20:12:43 -04:00
Alec Murphy 9e0668d0e0 System/Libraries/Html/Renderer: Initial support for node->textAlign
This only works for very simple cases, but it is enough for centering
and right-align text on sites like Wiby, and a centered Google logo. :^)
2025-04-12 19:57:49 -04:00
Alec Murphy e8bc19b444 System/Libraries/Html/Renderer: Fix an oopsie woopsie (advance by code point, rather than byte) 2025-04-12 18:48:58 -04:00
Alec Murphy d068f46bc6 Meta: Remove debugging stuff 2025-04-12 18:26:43 -04:00
Alec Murphy df0adc0a15 Everywhere: Changes to @html_dom_node and TrueType API
CSS properties fontFamily and fontSize are part of @html_dom_node now,
and the TrueType API only accepts I32 code point streams, so we have
to preprocess UTF-8 streams before rendering text.
2025-04-12 18:09:26 -04:00
Alec Murphy 6b09ccabb6 System/Libraries/Html: Add fontFamily attribute to @html_dom_node 2025-04-11 20:11:25 -04:00
Alec Murphy 8143d59620 System/Libraries/Css/Tokenizer: Split values on comma 2025-04-11 20:10:52 -04:00
Alec Murphy 603e1d15ab System/Libraries/Html/Renderer: Apply bgcolor/color element attribute values to CSS 2025-04-11 17:22:29 -04:00
Alec Murphy 17910faac2 System/Libraries/Html/Renderer: Match rules in accordance with CSS Specificity 2025-04-11 16:58:48 -04:00
Alec Murphy 3e8d126fbe System/Libraries/Html/Renderer: Add NULL check to @reflow_node_list() 2025-04-10 19:48:11 -04:00
Alec Murphy c45b862b2b System/Libraries/Html/Renderer: Render INPUT type=checkbox 2025-04-10 14:49:35 -04:00
Alec Murphy 4992c222d7 System/Libraries/Html/Renderer: Render INPUT type=password 2025-04-10 11:41:13 -04:00
Alec Murphy 42e4f89b8b System/Libraries/Html/Renderer: Render INPUT type=text 2025-04-10 11:35:43 -04:00
Alec Murphy 5fb71f80ca System/Libraries/Widget: Eager repaint on widget->SetText() unless otherwise specified 2025-04-10 10:58:30 -04:00
Alec Murphy d3048f31e5 Applications/Internet/Cyberia: Add web browser
This is the initial commit of the Cyberia web browser, Html and Css
libraries.
2025-04-10 10:51:59 -04:00
Alec Murphy 3545113247 System/Libraries/Gui: Add data attribute to Widget class 2025-04-10 10:47:37 -04:00
Alec Murphy 96226e6211 System/Libraries/Ipc: Add msg->timestamp to IpcMessage class 2025-04-10 08:37:57 -04:00
Alec Murphy 940e7b230c System/Libraries/Gui: Add Bool explicit_repaint to Window class 2025-04-09 09:03:18 -04:00
Alec Murphy 2b8092f418 System/Libraries/Graphics2D: Add @get_truetype_text_width() 2025-04-09 08:59:06 -04:00
Alec Murphy 26f67901cc System/Libraries/System: Add timestamp to System.Log() 2025-04-08 07:16:57 -04:00
Alec Murphy a58151430c System/Libraries/Graphics2D: Specify font name for Text2D 2025-04-05 09:21:54 -04:00
Alec Murphy e5342de633 System/Libraries/Graphics2D: Add ctx->text() 2025-04-04 20:14:39 -04:00
Alec Murphy 3de382e6c5 Everywhere: Set default ctx->opacity to -1 2025-04-04 11:14:30 -04:00
Alec Murphy a9c623685d System/Libraries/Graphics2D: Add member 'opacity' to Context2D
This is meant to be used for alpha blending in the Compositor, unrelated
to the context's own alpha channel.
2025-04-04 08:23:21 -04:00
Alec Murphy 5107975a32 System/Libraries/Graphics2D: Use MemCpyU64 for Flip() 2025-03-29 14:54:29 -04:00
Alec Murphy 19977d3a15 System/Libraries/Graphics2D: Make (most) callable functions chainable 2025-03-27 10:36:27 -04:00
Alec Murphy 337513fb52 System/Libraries/Graphics2D: Free up callable functions in DelContext2D() 2025-03-26 14:45:37 -04:00
Alec Murphy 51f8a5a9d4 System/Libraries/Stdio: Sort autocomplete results alphabetically 2025-03-26 13:02:51 -04:00
Alec Murphy ccac8b2baa System/Libraries/Stdio: Implement shell command autocomplete 2025-03-26 11:27:53 -04:00
Alec Murphy b280ae3501 System/Libraries/Graphics2D: Make Context2D callable 2025-03-25 11:18:07 -04:00
Alec Murphy 39198164cd Meta: Add files to repository 2025-03-25 07:34:41 -04:00