Alec Murphy
e60ffee006
System/Libraries/Html/Renderer: Unset node->display_block based on CSS value
2025-04-16 10:19:50 -04:00
Alec Murphy
e3d6121fe3
System/Libraries/Css/Tokenizer: Include single/double quoted tokens in CSS value
2025-04-16 10:09:29 -04:00
Alec Murphy
58f2243bf1
System/Core/Compositor: Update defaults for TrueType fonts
2025-04-15 16:22:12 -04:00
Alec Murphy
0a579a4f09
System/Libraries/Html/Renderer: Handle italic/oblique text
2025-04-15 16:21:52 -04:00
Alec Murphy
97187728e8
System/Libraries/Html/Tokenizer: Add italic property to @html_dom_node
2025-04-15 16:21:07 -04:00
Alec Murphy
3b83397e60
System/Libraries/Html/Renderer: Render STRONG
2025-04-15 15:35:20 -04:00
Alec Murphy
60606317b2
System/Libraries/Html/Renderer: Render LI ordered/unordered items
2025-04-15 15:34:54 -04:00
Alec Murphy
0b381bf119
Meta: Update Default.css
2025-04-15 15:33:22 -04:00
Alec Murphy
49b1e82e55
System/Core/Compositor: Update defaults for TrueType fonts
2025-04-15 11:54:53 -04:00
Alec Murphy
2f73813694
Applications/Internet/Cyberia: Remove initial CSS testing values
2025-04-15 11:53:34 -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
06813f3524
Meta: Update Default.css
2025-04-15 11:27:43 -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
b57101b9f2
Applications/Internet/Cyberia: Initial support for history items
...
Just a simple back/fwd navigation for browsing, for now.
2025-04-14 20:45:15 -04:00
Alec Murphy
26e88ffd52
Media/Themes/Umami/Theme: Handle ButtonWidget disabled status
2025-04-14 20:42:51 -04:00
Alec Murphy
f2a078e1d5
Media/Themes/Umami: Add disabled icons for back, forward, reload
2025-04-14 20:42:17 -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
100b54a9cd
Applications/Internet/Cyberia: Delta scroll by line
2025-04-14 16:53:08 -04:00
Alec Murphy
d17e79315e
Applications/Internet/Cyberia: Initial favicon support
2025-04-14 16:50:50 -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
02cbb32459
Applications/Internet/Cyberia: Handle vscroll a bit better
...
The entire scroll handling needs to be rewritten, but that is a project
for another day...
2025-04-14 10:55:20 -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
72d626c0f1
Meta: Update scripts/build-all
2025-04-14 10:34:37 -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
3a55fce26a
Meta: Update scripts/build-all
2025-04-13 06:35:07 -04:00
Alec Murphy
7ae844cf9a
Meta: Update .gitignore
2025-04-13 05:57:35 -04:00
Alec Murphy
ce80c184e7
Meta: Debug stuff
2025-04-12 20:19:59 -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
3201b187ec
System/Api/Dns: Remove some old Slon debugging stuff that breaks Catbox DNS lookup
2025-04-12 18:16:29 -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
bef1c78c5d
System/Utilities/TrueType: Change pointer type to I32* for @stbtt_RenderText()
2025-04-12 18:04:40 -04:00
Alec Murphy
b01e1171a3
System/Core/Compositor: Set defaults for TrueType font categories
2025-04-12 16:23:51 -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
6a394f8a86
Applications/Internet/Cyberia: Set default colors for root node
...
Until we have a default style sheet implemented, set the default colors
to black text on white background for the root node, so that we don't
end up with unreadable black bars everywhere.
2025-04-11 17:23:01 -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
61c287f446
Applications/Internet/Cyberia: Echo window mouse wheel events
...
Now, we can (kind of) scroll the page from anywhere in the viewport :^)
2025-04-10 19:37:23 -04:00
Alec Murphy
7878e28027
Applications/Internet/Cyberia: Fully resolve URLs in redirect
2025-04-10 15:41:02 -04:00
Alec Murphy
e3c7350a96
Applications/Internet/Cyberia: Familiarize address bar onclick behavior
...
We match the following address bar behavior from Chrome and Firefox:
- When the address bar is clicked, select all text on mouse up if no
selection currently exists.
- On address bar blur, clear the selection.
2025-04-10 15:11:40 -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
86190d4576
System/Core/Compositor: Hold F12 to display debug info
2025-04-10 10:08:38 -04:00
Alec Murphy
3e85af48d6
Meta: Cleanup removed files
2025-04-10 10:05:54 -04:00
Alec Murphy
96226e6211
System/Libraries/Ipc: Add msg->timestamp to IpcMessage class
2025-04-10 08:37:57 -04:00
Alec Murphy
4fa0873123
Include/Gui: Set GUI_EVENT_WIN_REPAINT_TIMEOUT to 100ms
...
If an Ipc Message that will trigger a window repaint is received by a
Client, and the message is older than GUI_EVENT_WIN_REPAINT_TIMEOUT,
discard the repaint request.
2025-04-10 08:30:16 -04:00
Alec Murphy
ebacbeafca
System/Core/Compositor: Update menubar title in @compositor_refresh(win)
2025-04-10 08:28:49 -04:00
Alec Murphy
c4f25e63c1
Applications/OS/TaskSwitcher: NULL check for win->close() keypress callback
2025-04-10 08:27:36 -04:00
Alec Murphy
e0d6102d60
Include/Gui: Add @gui_event_loop_handle_msg() to event loop
...
At the moment, this implementation may look a bit unnecessarily verbose,
but eventually it will allow us to be more specific in our message
handling.
2025-04-09 09:09:37 -04:00
Alec Murphy
d242f5c395
Media/Themes/Umami/Theme: Separate focus/hover logic from repaint
...
We shouldn't be doing this in the Theme routines to begin with, but
that's another issue altogether.
2025-04-09 09:07:50 -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
5f10e5f86d
Applications/Accessories/Calculator: Debounce numerical input
...
The Calculator isn't functional yet, but when it eventually does work,
it will be helpful to not duplicate every number keypress when the
result input widget is focused. :^)
2025-04-09 08:52:23 -04:00
Alec Murphy
26f67901cc
System/Libraries/System: Add timestamp to System.Log()
2025-04-08 07:16:57 -04:00
Alec Murphy
844f36663a
Meta: Suppress compiler warnings
2025-04-05 16:33:10 -04:00
Alec Murphy
c608390142
System/Setup/Environment: Enable SSE on all cores
2025-04-05 09:38:28 -04:00
Alec Murphy
850e4a84d9
Fonts: Add GNU FreeFont
2025-04-05 09:23:13 -04:00
Alec Murphy
88fc55ac18
System/Core/Compositor: Initialize TrueType fonts
2025-04-05 09:22:22 -04:00
Alec Murphy
a58151430c
System/Libraries/Graphics2D: Specify font name for Text2D
2025-04-05 09:21:54 -04:00
Alec Murphy
9c43ac1073
System/Utilities/TrueType: Add @stbtt_GetFontNameDefault
2025-04-05 09:19:10 -04:00
Alec Murphy
7969bf0993
src/truetype: Add stbtt_GetFontNameDefault
2025-04-05 09:18:31 -04:00
Alec Murphy
9658412570
Meta: Update .gitattributes
2025-04-05 08:20:01 -04:00
Alec Murphy
e5342de633
System/Libraries/Graphics2D: Add ctx->text()
2025-04-04 20:14:39 -04:00
Alec Murphy
356c16580c
System/Utilities/TrueType: Add TrueType font support via stb_truetype.h
2025-04-04 18:20:36 -04:00
Alec Murphy
172b4ce7a3
Meta: Add OpenLibm
2025-04-04 18:16:29 -04:00
Alec Murphy
4a72f35e9b
Meta: Update .gitignore
2025-04-04 18:12:14 -04:00
Alec Murphy
51d1ec19f6
Media/Themes/Umami: Repaint widgets with regard to win->opacity
2025-04-04 11:16:01 -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
f2800ba2d6
System/Shell/Commands/cat: Allow concatenating http/https URLs
2025-03-30 05:41:29 -04:00
Alec Murphy
195df64e38
Media/Themes/Umami: Make IBM3161 the default monospace font
2025-03-29 17:16:39 -04:00
Alec Murphy
5107975a32
System/Libraries/Graphics2D: Use MemCpyU64 for Flip()
2025-03-29 14:54:29 -04:00
Alec Murphy
b7952b1cb8
Applicatiosn/OS/ShutDown.app: Update MessageBox API
2025-03-28 19:07:39 -04:00
Alec Murphy
bfa41f334b
System/Core/MessageBox: Update API and add Confirm()
2025-03-28 19:07:07 -04:00
Alec Murphy
39cdf87903
System/Setup/Environment: Don't deadlock on spawning multicore tasks simultaneously
2025-03-28 10:31:57 -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
7cc54e1f6a
System/Shell/Commands: Add stub for exit
2025-03-26 13:03:07 -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
ad4bc00396
System/Shell/Commands/ping: Exit on Ctrl-C
2025-03-26 08:38:07 -04:00
Alec Murphy
f52420b7b2
Everywhere: Use ctx->fill_rect
2025-03-25 14:12:03 -04:00
Alec Murphy
6db56f5283
Everywhere: Use ctx->blot()
2025-03-25 11:43:35 -04:00
Alec Murphy
6d1fbb51ac
Everywhere: Use ctx->plot()
2025-03-25 11:33:52 -04:00