Skip to content

Commit

Permalink
format code
Browse files Browse the repository at this point in the history
  • Loading branch information
raphamorim committed Oct 14, 2024
1 parent 6e36030 commit 457bbec
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 26 deletions.
68 changes: 47 additions & 21 deletions frontends/rioterm/src/context/grid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -241,8 +241,7 @@ impl<T: rio_backend::event::EventListener> ContextGrid<T> {

pub fn rescale(&mut self, new_scale: f32, sugarloaf: &Sugarloaf) {
for context in &mut self.inner {
let layout = sugarloaf
.rich_text_layout(&context.val.rich_text_id);
let layout = sugarloaf.rich_text_layout(&context.val.rich_text_id);
context.val.dimension.update_dimensions(layout.dimensions);
}
}
Expand All @@ -267,25 +266,40 @@ impl<T: rio_backend::event::EventListener> ContextGrid<T> {
let mut terminal = context.val.terminal.lock();
terminal.resize::<ContextDimension>(context.val.dimension);
drop(terminal);
let winsize = crate::renderer::utils::terminal_dimensions(
&context.val.dimension,
);
let winsize =
crate::renderer::utils::terminal_dimensions(&context.val.dimension);
let _ = context.val.messenger.send_resize(winsize);
}
}

// TODO: It works partially, if the panels have different dimensions it gets a bit funky
fn resize_context(&self, vector: &mut Vec<(f32, f32)>, index: usize, available_width: f32, available_height: f32) -> (f32, f32) {
fn resize_context(
&self,
vector: &mut Vec<(f32, f32)>,
index: usize,
available_width: f32,
available_height: f32,
) -> (f32, f32) {
if let Some(item) = self.inner.get(index) {
let mut current_available_width = available_width;
let mut current_available_heigth = available_height;
if let Some(right_item) = item.right {
let (new_available_width, _) = self.resize_context(vector, right_item, available_width / 2., available_height);
let (new_available_width, _) = self.resize_context(
vector,
right_item,
available_width / 2.,
available_height,
);
current_available_width = new_available_width;
}

if let Some(down_item) = item.down {
let (_, new_available_heigth) = self.resize_context(vector, down_item, available_width, available_height / 2.);
let (_, new_available_heigth) = self.resize_context(
vector,
down_item,
available_width,
available_height / 2.,
);
current_available_heigth = new_available_heigth;
}

Expand All @@ -307,13 +321,12 @@ impl<T: rio_backend::event::EventListener> ContextGrid<T> {
// }

// if let Some(_down_val) = context.down {

// }

// index += 1;
// }


println!("{:?}", self.inner[self.current].val.shell_pid);

let old = self.current;
Expand Down Expand Up @@ -625,7 +638,9 @@ pub mod test {
position: [10.0, 20.0],
}),
Object::Rect(Rect {
position: [307.0, 20.0], color: [1.0, 0.0, 0.0, 0.0], size: [1.0, 380.0]
position: [307.0, 20.0],
color: [1.0, 0.0, 0.0, 0.0],
size: [1.0, 380.0]
}),
Object::RichText(RichText {
id: second_context_id,
Expand All @@ -649,7 +664,6 @@ pub mod test {
)
};


grid.split_right(third_context);

assert_eq!(
Expand All @@ -660,14 +674,18 @@ pub mod test {
position: [10.0, 20.0],
}),
Object::Rect(Rect {
position: [307.0, 20.0], color: [1.0, 0.0, 0.0, 0.0], size: [1.0, 380.0]
position: [307.0, 20.0],
color: [1.0, 0.0, 0.0, 0.0],
size: [1.0, 380.0]
}),
Object::RichText(RichText {
id: second_context_id,
position: [309.0, 20.0]
}),
Object::Rect(Rect {
position: [10.0, 20.0], color: [1.0, 0.0, 0.0, 0.0], size: [1.0, 380.0]
position: [10.0, 20.0],
color: [1.0, 0.0, 0.0, 0.0],
size: [1.0, 380.0]
}),
Object::RichText(RichText {
id: third_context_id,
Expand Down Expand Up @@ -750,7 +768,9 @@ pub mod test {
position: [10.0, 20.0],
}),
Object::Rect(Rect {
position: [10.0, 217.0], color: [0.0, 0.0, 1.0, 0.0], size: [1200.0, 1.0]
position: [10.0, 217.0],
color: [0.0, 0.0, 1.0, 0.0],
size: [1200.0, 1.0]
}),
Object::RichText(RichText {
id: second_context_id,
Expand All @@ -774,7 +794,6 @@ pub mod test {
)
};


grid.split_down(third_context);

assert_eq!(
Expand All @@ -785,14 +804,18 @@ pub mod test {
position: [10.0, 20.0],
}),
Object::Rect(Rect {
position: [10.0, 217.0], color: [0.0, 0.0, 1.0, 0.0], size: [1200.0, 1.0]
position: [10.0, 217.0],
color: [0.0, 0.0, 1.0, 0.0],
size: [1200.0, 1.0]
}),
Object::RichText(RichText {
id: second_context_id,
position: [10.0, 219.0]
}),
Object::Rect(Rect {
position: [10.0, 314.5], color: [0.0, 0.0, 1.0, 0.0], size: [1200.0, 1.0]
position: [10.0, 314.5],
color: [0.0, 0.0, 1.0, 0.0],
size: [1200.0, 1.0]
}),
Object::RichText(RichText {
id: third_context_id,
Expand Down Expand Up @@ -870,7 +893,6 @@ pub mod test {
)
};


let mut grid =
ContextGrid::<VoidListener>::new(first_context, margin, [0., 0., 0., 0.]);

Expand All @@ -893,14 +915,18 @@ pub mod test {
position: [0.0, 0.0],
}),
Object::Rect(Rect {
position: [147.0, 0.0], color: [0.0, 0.0, 0.0, 0.0], size: [1.0, 300.0]
position: [147.0, 0.0],
color: [0.0, 0.0, 0.0, 0.0],
size: [1.0, 300.0]
}),
Object::RichText(RichText {
id: second_context_id,
position: [149.0, 0.0]
}),
Object::Rect(Rect {
position: [149.0, 147.0], color: [0.0, 0.0, 0.0, 0.0], size: [294.0, 1.0]
position: [149.0, 147.0],
color: [0.0, 0.0, 0.0, 0.0],
size: [294.0, 1.0]
}),
Object::RichText(RichText {
id: third_context_id,
Expand Down
16 changes: 11 additions & 5 deletions frontends/rioterm/src/screen/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,9 @@ impl Screen<'_> {
}
self.sugarloaf.resize(new_size.width, new_size.height);
self.resize_all_contexts();
self.context_manager.current_grid_mut().resize(new_size.width as f32, new_size.height as f32);
self.context_manager
.current_grid_mut()
.resize(new_size.width as f32, new_size.height as f32);
self
}

Expand All @@ -418,8 +420,12 @@ impl Screen<'_> {
self.sugarloaf.resize(new_size.width, new_size.height);
self.render();
self.resize_all_contexts();
self.context_manager.current_grid_mut().rescale(new_scale, &self.sugarloaf);
self.context_manager.current_grid_mut().resize(new_size.width as f32, new_size.height as f32);
self.context_manager
.current_grid_mut()
.rescale(new_scale, &self.sugarloaf);
self.context_manager
.current_grid_mut()
.resize(new_size.width as f32, new_size.height as f32);

self
}
Expand Down Expand Up @@ -1031,10 +1037,10 @@ impl Screen<'_> {
self.context_manager.remove_current_grid();
self.render();
} else {
self.close_tab();
self.close_tab();
}
}

pub fn close_tab(&mut self) {
self.clear_selection();
self.context_manager.close_current_context();
Expand Down

0 comments on commit 457bbec

Please sign in to comment.