Alec Murphy
5582d43a6f
Media/Themes/Umami: Repaint zero-height BorderedRectWidgets if top/bottom borders have size
2025-05-04 09:04:51 -04:00
Alec Murphy
159e497ee4
System/Libraries/Html/Renderer: Calculate text underline position more precisely
2025-05-04 07:12:55 -04:00
Alec Murphy
2c8f674e43
System/Libraries/Html/Reflow: More reflow_inline hacks
2025-05-03 21:12:56 -04:00
Alec Murphy
2b1851772e
System/Libraries/Html/Reflow: Handle dynamic width/height for images
2025-05-03 18:28:54 -04:00
Alec Murphy
04ae4c4055
System/Libraries/Html/Renderer: Set base context on image load
2025-05-03 18:27:54 -04:00
Alec Murphy
ec6c463753
System/Libraries/Html/Renderer: Apply HTML width/height attributes to node
2025-05-03 18:27:26 -04:00
Alec Murphy
e1b0c050f9
System/Libraries/Widget: Add base Context2D to Context2DWidget
2025-05-03 18:26:10 -04:00
Alec Murphy
6d457df08f
System/Libraries/Html/Tokenizer: Fix another issue with unquoted HTML attributes being discarded
2025-05-03 14:12:54 -04:00
Alec Murphy
21ad3fabfb
System/Libraries/Html/Renderer: Handle 'small' HTML tag
2025-05-03 02:57:06 -04:00
Alec Murphy
6d7ffc3103
Meta: Update Default.css
2025-05-03 02:46:42 -04:00
Alec Murphy
012d32110e
System/Libraries/Html/Reflow: Collapse margin-top into previous block
...
We will most likely end up having to redo this in the future, but for
now it's a nice QoL to avoid double-spacing between adjacent blocks.
2025-05-03 02:37:17 -04:00
Alec Murphy
84ffabf7b7
System/Libraries/Html/Reflow: Some hacks for inline-block and page height
2025-05-02 21:24:57 -04:00
Alec Murphy
a5f0b0b4ee
System/Libraries/Html/Reflow: NULL check on parent widget
2025-05-02 18:50:31 -04:00
Alec Murphy
7c58320ac5
System/Libraries/Html/Renderer: Increase size of work buffer for @set_css_distance to avoid crashing
2025-05-02 18:19:09 -04:00
Alec Murphy
569e2e4b70
System/Libraries/Html: Split Reflow into separate source file
2025-05-02 18:05:12 -04:00
Alec Murphy
1be07aff66
System/Libraries/Graphics2D: Actually use min_x clipped value :^)
2025-05-02 15:55:58 -04:00
Alec Murphy
391382e059
Media/Themes/Umami: Opaque fill entire title bar area in @umami_window_repaint
2025-05-02 15:52:22 -04:00
Alec Murphy
36a74204bf
System/Core/Compositor: Fix off-by-ones when drawing win border shadow
2025-05-01 00:15:17 -04:00
Alec Murphy
f71505a004
System/Libraries/Html/Tokenizer: Fix issue with unquoted HTML attributes being discarded
2025-04-30 21:27:39 -04:00
Alec Murphy
938bb8cf80
System/Libraries/Html/Tokenizer: Add resolved(MBPWH) members to @html_dom_node class
2025-04-30 21:22:27 -04:00
Alec Murphy
704c3962f5
System/Libraries/Graphics2D: Fix some line-drawing inaccuracies
2025-04-30 08:07:36 -04:00
Alec Murphy
a23a5ae844
System/Libraries/Graphics2D: y lower-bounds-check on HLine2D
2025-04-29 15:14:45 -04:00
Alec Murphy
6c3daa8001
Applications/Internet/Cyberia: Change z-order priority of background widget
2025-04-29 14:21:36 -04:00
Alec Murphy
120c68d305
System/Libraries/Html/Renderer: Don't modify width,height of background
...
This should be done by the host application's window resize callback.
2025-04-29 14:17:32 -04:00
Alec Murphy
e01ce25824
Applications/Internet/Cyberia: Refactor use of @window_widget_list by renderer
2025-04-29 14:13:32 -04:00
Alec Murphy
040307bd92
Media/Themes/Umami/Theme: Check hovered/focused/mouse_down widget in reverse z-order
2025-04-29 14:02:59 -04:00
Alec Murphy
20021f844f
Applications/Internet/Cyberia: Use RectWidget for page background
2025-04-29 11:35:26 -04:00
Alec Murphy
0cb9d96b15
System/Libraries/Html/Renderer: Use RectWidget for background_widget
2025-04-29 11:31:11 -04:00
Alec Murphy
b55f58ebed
System/Libraries/Html/Renderer: Use BorderedRectWidget for block_widget instead of Context2DWidget
2025-04-29 11:04:31 -04:00
Alec Murphy
196187f3bf
Media/Themes/Umami: Add RectWidget, BorderedRectWidget to @umami_widgets_repaint
2025-04-29 11:03:29 -04:00
Alec Murphy
cfb8950f8a
System/Libraries/Widget: Add RectWidget, BorderedRectWidget
2025-04-29 10:26:38 -04:00
Alec Murphy
f3acdca538
System/Libraries/Graphics2D: NULL check for HLine2D
2025-04-29 08:52:45 -04:00
Alec Murphy
76db21a118
System/Libraries/Graphics2D: Zero-alloc Rect2D
2025-04-29 01:37:23 -04:00
Alec Murphy
1cc118da6f
System/Libraries/Graphics2D: Bounds check for HLine2D
2025-04-29 01:36:38 -04:00
Alec Murphy
108c1994b2
System/Libraries/Graphics2D: Revert HLine2D changes in e04b8e6
2025-04-29 01:29:13 -04:00
Alec Murphy
9cf917cb8c
System/Libraries/Html/Renderer: Slight refactor @render_node_list
2025-04-28 12:40:02 -04:00
Alec Murphy
ef803c3d1e
System/Libraries/Html/Renderer: Add @create_bordered_rect_from_resolved_node
2025-04-28 12:30:54 -04:00
Alec Murphy
08e7e0bac0
System/Libraries/Graphics2D: Remove min w/h on Rect2D
2025-04-28 11:43:12 -04:00
Alec Murphy
d993ffdd66
System/Libraries/Html/Renderer: Apply CSS border values to node
2025-04-27 18:33:56 -04:00
Alec Murphy
37421e69dc
System/Libraries/Css/Tokenizer: Add CSS_BORDER properties
2025-04-27 17:42:16 -04:00
Alec Murphy
75a11896ae
System/Libraries/Html/Renderer: Refactor grouped margin/padding into separate functions from @apply_css_properties_to_node
2025-04-27 17:37:21 -04:00
Alec Murphy
61fd349325
System/Libraries/Html/Renderer: Apply CSS distance values to node->margin, node->padding
2025-04-27 15:28:31 -04:00
Alec Murphy
2b0704ab79
System/Libraries/Html/Tokenizer: Change border from @css_area to @css_border
2025-04-27 14:31:54 -04:00
Alec Murphy
44c77212b8
System/Libraries/Css/Tokenizer: Add @css_border, @css_radius
2025-04-27 14:31:17 -04:00
Alec Murphy
a74a7bfa98
System/Libraries/Html/Tokenizer: Add CSS margin, border, padding to @html_dom_node
2025-04-27 13:53:57 -04:00
Alec Murphy
066b22de28
System/Libraries/Css/Tokenizer: Add @css_side, @css_area
2025-04-27 13:53:10 -04:00
Alec Murphy
e95911da46
System/Libraries/Html/Renderer: Refactor @render_node_list
2025-04-27 13:39:27 -04:00
Alec Murphy
70ee3cc99a
System/Libraries/Json: Consolidate CAlloc/Free requests for @json_callable_array and @json_callable_object
2025-04-27 06:20:21 -04:00
Alec Murphy
a75b69face
System/Libraries/Graphics2D: Consolidate CAlloc/Free requests for @callable_context2d
2025-04-27 06:08:44 -04:00
Alec Murphy
80f599a19a
System/Libraries/Html/Renderer: Apply CSS distance types other than pixels to node width/height
2025-04-26 18:57:51 -04:00
Alec Murphy
49cb267474
System/Libraries/Html/Tokenizer: Add width/height DistanceType to @html_dom_node
2025-04-26 18:56:30 -04:00
Alec Murphy
6d384f81cd
System/Libraries/Css/Tokenizer: Oopsie woopsie
2025-04-26 18:39:49 -04:00
Alec Murphy
dad03ba4eb
System/Libraries/CSs/Tokenizer: Define CSS_DISTANCE types
2025-04-26 18:18:20 -04:00
Alec Murphy
e35d9978bb
System/Libraries/Html/Renderer: Set initial CSS value for node width/height to undefined (-1)
2025-04-26 17:32:53 -04:00
Alec Murphy
ee2114876a
System/Libraries/Html/Renderer: Move some element defaults to Default.css
2025-04-26 10:50:49 -04:00
Alec Murphy
79d73bdff3
Meta: Update Default.css
2025-04-26 10:49:40 -04:00
Alec Murphy
4d688e70dc
System/Libraries/Html/Renderer: Allow :link pseudo-class to override text-decoration-color
2025-04-26 10:47:36 -04:00
Alec Murphy
9d9fb80aa9
System/Libraries/Html/Renderer: Set node->display and debugging values earlier
2025-04-26 10:31:11 -04:00
Alec Murphy
edc931d6c3
Meta: Update scripts/build-all
2025-04-25 20:03:32 -04:00
Alec Murphy
c486e4cb02
System/Libraries/Html/Renderer: Temporary hack for link styles until we implement pseudo-classes
2025-04-25 14:37:47 -04:00
Alec Murphy
500cc4d913
Meta: Add more CSS debugging info
2025-04-25 14:34:28 -04:00
Alec Murphy
91f8fd3fad
System/Libraries/Css/Tokenizer: Bugfix for descendant combinators
2025-04-25 09:59:33 -04:00
Alec Murphy
dc14bc4dd8
System/Setup/Util: Add FifoU8Last()
2025-04-25 09:58:18 -04:00
Alec Murphy
e827f52c51
Meta: Add CSS debugging options
2025-04-24 21:14:54 -04:00
Alec Murphy
8bad367d08
System/Libraries/Html/Renderer: Parse rgb,rgba color tuples
2025-04-24 21:09:30 -04:00
Alec Murphy
0d2b51cc39
System/Libraries/Css/Tokenizer: Handle parentheses
2025-04-24 20:04:56 -04:00
Alec Murphy
0bf96d6429
Meta: Update Default.css
2025-04-24 15:20:19 -04:00
Alec Murphy
3bf6238aac
System/Libraries/Html/Renderer: A whole bunch of CSS changes
...
We now handle simple and compound selectors, but not yet pseudo-classes
or (most) combinators.
2025-04-24 15:17:15 -04:00
Alec Murphy
fc2b4ba4e5
Everywhere: Live patch MAlloc/Free to use RMAlloc/RFree
...
To make MAlloc/Free operations consistent across multiple processors, we
use a dedicated task on core 5 to service the requests.
2025-04-24 15:11:46 -04:00
Alec Murphy
04a602bb3b
Meta: Update debugging stuff
2025-04-23 10:27:21 -04:00
Alec Murphy
d9b835cea3
System/Libraries/Html/Renderer: Handle font-size pt values
2025-04-23 10:25:57 -04:00
Alec Murphy
ae408a4679
System/Libraries/Css/Tokenizer: Allow descendant combinator in matches
2025-04-23 10:07:19 -04:00
Alec Murphy
652396a18c
System/Libraries/Html/Renderer: Apply CSS display rules in order
2025-04-23 09:22:38 -04:00
Alec Murphy
22d5ce4b4c
Meta: Update Default.css
2025-04-22 15:45:55 -04:00
Alec Murphy
453d6f35a5
System/Libraries/Css+Html: Handle text-align: left
2025-04-22 15:45:39 -04:00
Alec Murphy
1cf0007b0b
System/Libraries/Css+Html: Handle display: inline-block
2025-04-22 15:34:17 -04:00
Alec Murphy
49666d7ea9
Everywhere: Kill app_event_loop on window close
2025-04-21 19:57:19 -04:00
Alec Murphy
ce44a8db0f
Include/Gui: Make @gui_event_loop() available as app_event_loop
2025-04-21 19:49:59 -04:00
Alec Murphy
d8fe2f0899
System/Libraries/Graphics2D+Widget: Use CAlloc2()
2025-04-21 19:49:25 -04:00
Alec Murphy
1b5635962f
System/Core: Use CAlloc2()
2025-04-21 19:48:33 -04:00
Alec Murphy
9d774cfc23
System/Setup/Environment: Add CAlloc2(), MAlloc2()
2025-04-21 19:45:51 -04:00
Alec Murphy
ea724e0795
Meta: Bump QEMU smp cores to 6
2025-04-21 19:44:02 -04:00
Alec Murphy
e04b8e6fb4
System/Libraries/Graphics2D: Use Plot2D() for HLine2D()
2025-04-21 09:53:02 -04:00
Alec Murphy
75a2bb10c4
System/Libraries/Css+Html: Implement text-decoration-line: line-through
2025-04-21 09:31:00 -04:00
Alec Murphy
d723c7d9df
System/FFI/TrueType: Reduce memory pool size from 32MB to 8MB
...
The maximum allocated memory by stbtt_RenderText() has never exceeded
2MB during testing. 8MB ought to be enough for anybody :^)
2025-04-20 10:09:58 -04:00
Alec Murphy
000cf3cea2
Settings/config.json: Use Liberation as default TrueType font family
2025-04-20 09:33:28 -04:00
Alec Murphy
39973f452d
Meta: Suppress compiler warnings
2025-04-19 21:38:13 -04:00
Alec Murphy
a322c06850
Everywhere: Give stbtt its own 32MB static memory pool
...
At boot time, we preallocate 32MB of RAM to reuse for all malloc()
requests by stbtt_RenderText(), which should be more than enough for the
primary use case (browsing web pages).
2025-04-19 21:01:14 -04:00
Alec Murphy
b40820272f
System/Setup/Environment+FFI/LibC: Increase calloc/malloc mem_tasks
...
Give LibC malloc() and calloc() an array of 16 mem_tasks each, for now.
We will probably be removing this, in favor of giving each non-HolyC
library its own static memory pool, as we will do with stb_truetype.h in
a forthcoming commit.
2025-04-19 20:33:30 -04:00
Alec Murphy
b7cab3b419
System/Libraries/Html/Renderer: Use renderer->task instead of erythros_mem_task where applicable
2025-04-19 16:28:14 -04:00
Alec Murphy
d56a092dde
System/FFI/LibC: Use Round-robin mem_task selection for calloc
2025-04-19 16:26:09 -04:00
Alec Murphy
15926654f8
System/Core/Compositor: Show available TrueType fonts in system log
2025-04-19 16:07:17 -04:00
Alec Murphy
b9eb4cb874
System/Libraries/Graphics2D: Alloc c2d wrapper functions off of Adam task's code heap
2025-04-19 16:00:21 -04:00
Alec Murphy
bf3112bdd6
Applications/Internet/Cyberia: Initialize status2 (hover) label with empty string
2025-04-19 15:57:10 -04:00
Alec Murphy
9550f24f73
System/Core/Compositor: Set TrueType font defaults from global config
2025-04-19 14:34:14 -04:00
Alec Murphy
dbc6976380
Meta: Update Settings/config.json
2025-04-19 14:33:42 -04:00
Alec Murphy
a15de6eb33
System/Libraries/Graphics2D: Update @get_truetype_text_width() to use @stbtt_GetTextWidth()
2025-04-19 14:18:15 -04:00
Alec Murphy
80f691385a
System/Utilities/TrueType: Add @stbtt_GetTextWidth()
2025-04-19 14:17:46 -04:00
Alec Murphy
546fd54a62
System/Libraries/Graphics2D: Update @get_truetype_text_width() to include advance
2025-04-19 10:42:26 -04:00
Alec Murphy
78ba717732
System/Utilities/TrueType: Update stbtt_RenderText() API to include advance
2025-04-19 10:41:55 -04:00