added titlebar_color()

This commit is contained in:
KOKI 2022-05-30 17:02:15 +09:00
parent dc47f7dc33
commit 72d1001a3f
2 changed files with 16 additions and 4 deletions

View File

@ -323,15 +323,12 @@ where
let mut responses = Vec::new();
let background_color;
let titlebar_color;
let text_color;
if ui.visuals().dark_mode {
background_color = color_from_hex("#3f3f3f").unwrap();
titlebar_color = background_color.lighten(0.8);
text_color = color_from_hex("#fefefe").unwrap();
} else {
background_color = color_from_hex("#ffffff").unwrap();
titlebar_color = background_color.lighten(0.8);
text_color = color_from_hex("#505050").unwrap();
}
@ -522,7 +519,10 @@ where
let titlebar = Shape::Rect(RectShape {
rect: titlebar_rect,
rounding,
fill: titlebar_color,
fill: self.graph[self.node_id]
.user_data
.titlebar_color(ui, self.node_id, self.graph, user_state)
.unwrap_or(background_color.lighten(0.8)),
stroke: Stroke::none(),
});

View File

@ -43,6 +43,18 @@ where
) -> Vec<NodeResponse<Self::Response>>
where
Self::Response: UserResponseTrait;
/// Set background color on titlebar
/// If the return value is None, the default color is set.
fn titlebar_color(
&self,
_ui: &egui::Ui,
_node_id: NodeId,
_graph: &Graph<Self, Self::DataType, Self::ValueType>,
_user_state: &Self::UserState,
) -> Option<egui::Color32> {
None
}
}
/// This trait can be implemented by any user type. The trait tells the library