added RenderContext

This commit is contained in:
2025-08-08 23:47:21 +02:00
parent 1bdbc447ab
commit d3861909e7
8 changed files with 46 additions and 20 deletions
+3 -3
View File
@@ -27,7 +27,7 @@ impl Element for Div {
fn render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
_: &crate::extensions::Context,
_: &crate::render_scope::RenderContext,
) {
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
scope.use_area(width, height);
@@ -36,7 +36,7 @@ impl Element for Div {
fn after_render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
ctx: &crate::extensions::Context,
ctx: &crate::render_scope::RenderContext,
) {
let mut transform = scope.get_transform().clone();
let mut renderer = DivRenderer(&mut transform);
@@ -45,7 +45,7 @@ impl Element for Div {
scope.set_parent_size(renderer.0.width, renderer.0.height);
for widget in &self.children {
scope.render_widget(&mut renderer, ctx, widget);
scope.render_widget(&mut renderer, ctx.get_context(), widget);
}
scope.set_parent_size(w, h);
+6 -6
View File
@@ -46,7 +46,7 @@ impl Element for FlexRow {
fn render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
_: &crate::extensions::Context,
_: &crate::render_scope::RenderContext,
) {
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
scope.use_area(width, height);
@@ -55,7 +55,7 @@ impl Element for FlexRow {
fn after_render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
ctx: &crate::extensions::Context,
ctx: &crate::render_scope::RenderContext,
) {
let mut transform = scope.get_transform().clone();
let transform_before = transform.clone();
@@ -66,7 +66,7 @@ impl Element for FlexRow {
let mut renderer = RowRenderer(&mut transform, self.gap, &mut v);
for widget in &self.children {
scope.render_widget(&mut renderer, ctx, widget);
scope.render_widget(&mut renderer, ctx.get_context(), widget);
}
scope.set_parent_size(w, h);
scope.set_transform_raw(transform_before);
@@ -91,7 +91,7 @@ impl Element for FlexCol {
fn render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
_: &crate::extensions::Context,
_: &crate::render_scope::RenderContext,
) {
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
scope.use_area(width, height);
@@ -100,7 +100,7 @@ impl Element for FlexCol {
fn after_render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
ctx: &crate::extensions::Context,
ctx: &crate::render_scope::RenderContext,
) {
let mut transform = scope.get_transform().clone();
let transform_before = transform.clone();
@@ -111,7 +111,7 @@ impl Element for FlexCol {
let mut renderer = ColumnRenderer(&mut transform, self.gap, &mut v);
for widget in &self.children {
scope.render_widget(&mut renderer, ctx, widget);
scope.render_widget(&mut renderer, ctx.get_context(), widget);
}
scope.set_parent_size(w, h);
scope.set_transform_raw(transform_before);
+1 -1
View File
@@ -27,7 +27,7 @@ impl Element for Heading {
fn render(
&mut self,
scope: &mut crate::prelude::RenderScope,
_: &crate::extensions::Context,
_: &crate::render_scope::RenderContext,
) {
let mut s = String::new();
for element in &self.children {
+1 -1
View File
@@ -14,7 +14,7 @@ impl Element for Input {
fn render(
&mut self,
scope: &mut crate::prelude::RenderScope,
_: &crate::extensions::Context,
_: &crate::render_scope::RenderContext,
) {
let s = self.state.get();
scope.draw_text(0, 0, &s);
+1 -1
View File
@@ -16,7 +16,7 @@ impl Element for String {
fn render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
_: &crate::extensions::Context,
_: &crate::render_scope::RenderContext,
) {
scope.draw_text(0, 0, self);
}
+3 -3
View File
@@ -28,7 +28,7 @@ impl Element for Paginator {
fn render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
_: &crate::extensions::Context,
_: &crate::render_scope::RenderContext,
) {
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
scope.use_area(width, height);
@@ -37,7 +37,7 @@ impl Element for Paginator {
fn after_render(
&mut self,
scope: &mut crate::render_scope::RenderScope,
ctx: &crate::extensions::Context,
ctx: &crate::render_scope::RenderContext,
) {
if let Some(widget) = self.children.get(self.index) {
let mut transform = scope.get_transform().clone();
@@ -45,7 +45,7 @@ impl Element for Paginator {
let (w, h) = scope.get_parent_size();
scope.set_parent_size(renderer.0.width, renderer.0.height);
scope.render_widget(&mut renderer, ctx, widget);
scope.render_widget(&mut renderer, ctx.get_context(), widget);
scope.set_parent_size(w, h);
self.size = (renderer.0.width, renderer.0.height);