area draw
This commit is contained in:
@@ -20,7 +20,7 @@ pub struct FlexCol {
|
|||||||
impl Element for FlexRow {
|
impl Element for FlexRow {
|
||||||
fn render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
fn render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
||||||
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
|
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
|
||||||
scope.draw_rect(width, height, 0);
|
scope.use_area(width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn after_render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
fn after_render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
||||||
@@ -86,7 +86,7 @@ impl FlexRow {
|
|||||||
impl Element for FlexCol {
|
impl Element for FlexCol {
|
||||||
fn render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
fn render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
||||||
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
|
let (width, height) = scope.get_size_or(self.size.0, self.size.1);
|
||||||
scope.draw_rect(width, height, 0);
|
scope.use_area(width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn after_render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
fn after_render(&mut self, scope: &mut crate::render_scope::RenderScope) {
|
||||||
|
|||||||
@@ -65,6 +65,11 @@ impl RenderScope {
|
|||||||
self.transform.height = self.transform.height.max(height);
|
self.transform.height = self.transform.height.max(height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn use_area(&mut self, width: u16, height: u16) {
|
||||||
|
self.transform.width = self.transform.width.max(width);
|
||||||
|
self.transform.height = self.transform.height.max(height);
|
||||||
|
}
|
||||||
|
|
||||||
pub fn draw(&self) {
|
pub fn draw(&self) {
|
||||||
let width = self.transform.width;
|
let width = self.transform.width;
|
||||||
let height = self.transform.height;
|
let height = self.transform.height;
|
||||||
|
|||||||
Reference in New Issue
Block a user