From ae42db0be5f130697e4e878b7e4bf564c55a7123 Mon Sep 17 00:00:00 2001 From: Alec Murphy Date: Tue, 15 Apr 2025 10:40:28 -0400 Subject: [PATCH] System/Libraries/Html/Renderer: Implement some CSS default rules --- Applications/Internet/Cyberia.app/Cyberia.HC | 2 +- .../Cyberia.app/Resources/Default.css | 28 +++++++++++++++++++ System/Libraries/Html/Renderer.HC | 7 +++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 Applications/Internet/Cyberia.app/Resources/Default.css diff --git a/Applications/Internet/Cyberia.app/Cyberia.HC b/Applications/Internet/Cyberia.app/Cyberia.HC index 4a4aade..db9dfed 100644 --- a/Applications/Internet/Cyberia.app/Cyberia.HC +++ b/Applications/Internet/Cyberia.app/Cyberia.HC @@ -289,7 +289,7 @@ U0 @cyberia_navigate(Bool refresh = FALSE) node_list = @html_tokenize_and_create_node_list(resp->body.data, resp->body.length, renderer->task, &images_count); // Create empty CSS rules array, traverse node tree and populate CSS rules array - renderer->css_rules = Json.CreateArray(renderer->task); + renderer->css_rules = Json.Clone(CSS_DEFAULT_RULES, renderer->task); renderer->forms = Json.CreateArray(renderer->task); @process_css_rules_from_node_list(node_list, renderer); diff --git a/Applications/Internet/Cyberia.app/Resources/Default.css b/Applications/Internet/Cyberia.app/Resources/Default.css new file mode 100644 index 0000000..c2961b1 --- /dev/null +++ b/Applications/Internet/Cyberia.app/Resources/Default.css @@ -0,0 +1,28 @@ +h1 { + font-size: 2em; + font-weight: bold +} + +h2 { + font-size: 1.5em; + font-weight: bold +} + +h3 { + font-size: 1.17em; + font-weight: bold +} + +h4 { + font-weight: bold +} + +h5 { + font-size: 0.83em; + font-weight: bold +} + +h6 { + font-size: 0.67em; + font-weight: bold +} \ No newline at end of file diff --git a/System/Libraries/Html/Renderer.HC b/System/Libraries/Html/Renderer.HC index 5eaec11..e7ae94c 100644 --- a/System/Libraries/Html/Renderer.HC +++ b/System/Libraries/Html/Renderer.HC @@ -84,6 +84,13 @@ class @html_renderer #define HTML_WORK_BUFFER_SIZE 2048 +// Initialize CSS default rules +JsonArray* CSS_DEFAULT_RULES = Json.CreateArray(erythros_mem_task); + +I64 css_default_rules_buffer_length = 0; +U8* css_default_rules_buffer = FileRead("M:/Applications/Internet/Cyberia.app/Resources/Default.css", &css_default_rules_buffer_length); +@css_tokenize_and_create_rules_from_buffer(CSS_DEFAULT_RULES, css_default_rules_buffer, css_default_rules_buffer_length, erythros_mem_task); + U0 @html_renderer_update_status_text(HtmlRenderer* renderer, U8* text) { U8 buf[128];