System/Libraries/Html/Renderer: Create background_ctx for each HtmlRenderer instance
This commit is contained in:
parent
b57101b9f2
commit
c998d040ed
1 changed files with 13 additions and 4 deletions
|
@ -67,6 +67,7 @@ class @html_renderer
|
|||
VerticalScrollBarWidget* vertical_scroll_widget;
|
||||
TextLabelWidget* status_widget;
|
||||
Context2DWidget* background_widget;
|
||||
Context2D* background_ctx;
|
||||
Window* win;
|
||||
@window_widgets_list* widgets_base;
|
||||
@window_widgets_list* images;
|
||||
|
@ -414,10 +415,16 @@ Bool @apply_css_rules_to_node(@html_dom_node* node, HtmlRenderer* renderer)
|
|||
node->fontSize = ToI64((Str2I64(node_tmpnum_buf) / 3) * 2);
|
||||
}
|
||||
|
||||
if (!StrICmp(key->name, "font-size") && !StrICmp(values->@(0) + StrLen(values->@(0)) - 2, "px")) {
|
||||
if (!StrICmp(key->name, "font-size")) {
|
||||
StrCpy(node_tmpnum_buf, values->@(0));
|
||||
node_tmpnum_buf[StrLen(node_tmpnum_buf) - 2] = NULL;
|
||||
node->fontSize = Str2I64(node_tmpnum_buf);
|
||||
if (!StrICmp(values->@(0) + StrLen(values->@(0)) - 2, "em")) {
|
||||
node_tmpnum_buf[StrLen(node_tmpnum_buf) - 2] = NULL;
|
||||
node->fontSize = ToI64(Str2F64(node_tmpnum_buf) * RENDERER_DEFAULT_MAX_LINE_HEIGHT);
|
||||
}
|
||||
if (!StrICmp(values->@(0) + StrLen(values->@(0)) - 2, "px")) {
|
||||
node_tmpnum_buf[StrLen(node_tmpnum_buf) - 2] = NULL;
|
||||
node->fontSize = Str2I64(node_tmpnum_buf);
|
||||
}
|
||||
}
|
||||
|
||||
if (!StrICmp(key->name, "font-family")) {
|
||||
|
@ -843,9 +850,10 @@ U0 @render_node_list(@html_dom_node* node, HtmlRenderer* renderer)
|
|||
}
|
||||
|
||||
if (!StrICmp(node->tagName, "body")) {
|
||||
renderer->background_ctx = NewContext2D(Display.Width(), Display.Height())->fill(@image_pixel_flip_rgb_bgr(node->backgroundColor));
|
||||
renderer->background_widget->ctx = renderer->background_ctx;
|
||||
renderer->background_widget->ctx->width = Display.Width();
|
||||
renderer->background_widget->ctx->height = Display.Height();
|
||||
renderer->background_widget->ctx->fill(@image_pixel_flip_rgb_bgr(node->backgroundColor));
|
||||
}
|
||||
|
||||
if (!StrICmp(node->tagName, "form"))
|
||||
|
@ -917,6 +925,7 @@ U0 @reflow_node_list(HtmlRenderer* renderer)
|
|||
|
||||
VerticalScrollBarWidget* vscroll = renderer->vertical_scroll_widget;
|
||||
|
||||
renderer->background_widget->ctx = renderer->background_ctx;
|
||||
I64 origin_y = renderer->background_widget->y;
|
||||
I64 offset_y = origin_y;
|
||||
I64 line_break_max = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue