mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 06:40:06 -04:00
Move Color32 constants from mod color to struct Color32
This commit is contained in:
@@ -305,12 +305,12 @@ impl Resize {
|
||||
if ui.ctx().style().visuals.debug_resize {
|
||||
ui.ctx().debug_painter().debug_rect(
|
||||
Rect::from_min_size(content_ui.min_rect().left_top(), state.desired_size),
|
||||
color::GREEN,
|
||||
Color32::GREEN,
|
||||
"desired_size",
|
||||
);
|
||||
ui.ctx().debug_painter().debug_rect(
|
||||
Rect::from_min_size(content_ui.min_rect().left_top(), state.last_content_size),
|
||||
color::LIGHT_BLUE,
|
||||
Color32::LIGHT_BLUE,
|
||||
"last_content_size",
|
||||
);
|
||||
}
|
||||
|
||||
@@ -816,7 +816,7 @@ impl Context {
|
||||
{
|
||||
ui.ctx()
|
||||
.debug_painter()
|
||||
.debug_rect(area.rect(), color::RED, "");
|
||||
.debug_rect(area.rect(), Color32::RED, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//! uis for egui types.
|
||||
use crate::{
|
||||
math::*,
|
||||
paint::{self, color::WHITE, PaintCmd, Texture, Triangles},
|
||||
paint::{self, PaintCmd, Texture, Triangles},
|
||||
*,
|
||||
};
|
||||
|
||||
@@ -21,7 +21,11 @@ impl Texture {
|
||||
let response = ui.allocate_response(size, Sense::hover());
|
||||
let rect = response.rect;
|
||||
let mut triangles = Triangles::default();
|
||||
triangles.add_rect_with_uv(rect, [pos2(0.0, 0.0), pos2(1.0, 1.0)].into(), WHITE);
|
||||
triangles.add_rect_with_uv(
|
||||
rect,
|
||||
[pos2(0.0, 0.0), pos2(1.0, 1.0)].into(),
|
||||
Color32::WHITE,
|
||||
);
|
||||
ui.painter().add(PaintCmd::triangles(triangles));
|
||||
|
||||
let (tex_w, tex_h) = (self.width as f32, self.height as f32);
|
||||
@@ -45,7 +49,7 @@ impl Texture {
|
||||
pos2((u + texel_radius) / tex_w, (v + texel_radius) / tex_h),
|
||||
);
|
||||
let mut triangles = Triangles::default();
|
||||
triangles.add_rect_with_uv(zoom_rect, uv_rect, WHITE);
|
||||
triangles.add_rect_with_uv(zoom_rect, uv_rect, Color32::WHITE);
|
||||
ui.painter().add(PaintCmd::triangles(triangles));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -501,7 +501,7 @@ impl Layout {
|
||||
|
||||
let cursor = region.cursor;
|
||||
|
||||
let color = color::GREEN;
|
||||
let color = Color32::GREEN;
|
||||
let stroke = Stroke::new(2.0, color);
|
||||
|
||||
let align;
|
||||
|
||||
@@ -138,7 +138,7 @@ pub fn warn_if_debug_build(ui: &mut crate::Ui) {
|
||||
ui.label(
|
||||
crate::Label::new("‼ Debug build ‼")
|
||||
.small()
|
||||
.text_color(crate::color::RED),
|
||||
.text_color(crate::Color32::RED),
|
||||
)
|
||||
.on_hover_text("Egui was compiled with debug assertions enabled.");
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
//! }
|
||||
//! ```
|
||||
|
||||
use crate::{color::TRANSPARENT, paint::Stroke, widgets::*, *};
|
||||
use crate::{paint::Stroke, widgets::*, *};
|
||||
|
||||
/// What is saved between frames.
|
||||
#[derive(Clone, Copy, Debug, Default)]
|
||||
@@ -44,11 +44,11 @@ pub fn bar<R>(ui: &mut Ui, add_contents: impl FnOnce(&mut Ui) -> R) -> (R, Respo
|
||||
ui.horizontal(|ui| {
|
||||
let mut style = ui.style().clone();
|
||||
style.spacing.button_padding = vec2(2.0, 0.0);
|
||||
// style.visuals.widgets.active.bg_fill = TRANSPARENT;
|
||||
// style.visuals.widgets.active.bg_fill = Color32::TRANSPARENT;
|
||||
style.visuals.widgets.active.bg_stroke = Stroke::none();
|
||||
// style.visuals.widgets.hovered.bg_fill = TRANSPARENT;
|
||||
// style.visuals.widgets.hovered.bg_fill = Color32::TRANSPARENT;
|
||||
style.visuals.widgets.hovered.bg_stroke = Stroke::none();
|
||||
style.visuals.widgets.inactive.bg_fill = TRANSPARENT;
|
||||
style.visuals.widgets.inactive.bg_fill = Color32::TRANSPARENT;
|
||||
style.visuals.widgets.inactive.bg_stroke = Stroke::none();
|
||||
ui.set_style(style);
|
||||
|
||||
@@ -104,11 +104,11 @@ fn menu_impl<'c>(
|
||||
frame.show(ui, |ui| {
|
||||
let mut style = ui.style().clone();
|
||||
style.spacing.button_padding = vec2(2.0, 0.0);
|
||||
// style.visuals.widgets.active.bg_fill = TRANSPARENT;
|
||||
// style.visuals.widgets.active.bg_fill = Color32::TRANSPARENT;
|
||||
style.visuals.widgets.active.bg_stroke = Stroke::none();
|
||||
// style.visuals.widgets.hovered.bg_fill = TRANSPARENT;
|
||||
// style.visuals.widgets.hovered.bg_fill = Color32::TRANSPARENT;
|
||||
style.visuals.widgets.hovered.bg_stroke = Stroke::none();
|
||||
style.visuals.widgets.inactive.bg_fill = TRANSPARENT;
|
||||
style.visuals.widgets.inactive.bg_fill = Color32::TRANSPARENT;
|
||||
style.visuals.widgets.inactive.bg_stroke = Stroke::none();
|
||||
ui.set_style(style);
|
||||
ui.with_layout(Layout::top_down_justified(Align::left()), add_contents);
|
||||
|
||||
@@ -24,17 +24,22 @@ impl std::ops::IndexMut<usize> for Color32 {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: remove ?
|
||||
#[deprecated = "Replaced by Color32::from_rgb… family of functions."]
|
||||
pub const fn srgba(r: u8, g: u8, b: u8, a: u8) -> Color32 {
|
||||
Color32::from_rgba_premultiplied(r, g, b, a)
|
||||
}
|
||||
|
||||
impl Color32 {
|
||||
#[deprecated = "Use from_rgb(..), from_rgba_premultiplied(..) or from_srgba_unmultiplied(..)"]
|
||||
pub const fn new(r: u8, g: u8, b: u8, a: u8) -> Self {
|
||||
Self([r, g, b, a])
|
||||
}
|
||||
pub const TRANSPARENT: Color32 = Color32::from_rgba_premultiplied(0, 0, 0, 0);
|
||||
pub const BLACK: Color32 = Color32::from_rgb(0, 0, 0);
|
||||
pub const LIGHT_GRAY: Color32 = Color32::from_rgb(220, 220, 220);
|
||||
pub const GRAY: Color32 = Color32::from_rgb(160, 160, 160);
|
||||
pub const WHITE: Color32 = Color32::from_rgb(255, 255, 255);
|
||||
pub const RED: Color32 = Color32::from_rgb(255, 0, 0);
|
||||
pub const GREEN: Color32 = Color32::from_rgb(0, 255, 0);
|
||||
pub const BLUE: Color32 = Color32::from_rgb(0, 0, 255);
|
||||
pub const YELLOW: Color32 = Color32::from_rgb(255, 255, 0);
|
||||
pub const LIGHT_BLUE: Color32 = Color32::from_rgb(140, 160, 255);
|
||||
|
||||
pub const fn from_rgb(r: u8, g: u8, b: u8) -> Self {
|
||||
Self([r, g, b, 255])
|
||||
@@ -60,6 +65,11 @@ impl Color32 {
|
||||
}
|
||||
}
|
||||
|
||||
#[deprecated = "Use from_rgb(..), from_rgba_premultiplied(..) or from_srgba_unmultiplied(..)"]
|
||||
pub const fn new(r: u8, g: u8, b: u8, a: u8) -> Self {
|
||||
Self([r, g, b, a])
|
||||
}
|
||||
|
||||
pub const fn gray(l: u8) -> Self {
|
||||
Self([l, l, l, 255])
|
||||
}
|
||||
@@ -109,19 +119,6 @@ impl Color32 {
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
pub const TRANSPARENT: Color32 = Color32::from_rgba_premultiplied(0, 0, 0, 0);
|
||||
pub const BLACK: Color32 = Color32::from_rgb(0, 0, 0);
|
||||
pub const LIGHT_GRAY: Color32 = Color32::from_rgb(220, 220, 220);
|
||||
pub const GRAY: Color32 = Color32::from_rgb(160, 160, 160);
|
||||
pub const WHITE: Color32 = Color32::from_rgb(255, 255, 255);
|
||||
pub const RED: Color32 = Color32::from_rgb(255, 0, 0);
|
||||
pub const GREEN: Color32 = Color32::from_rgb(0, 255, 0);
|
||||
pub const BLUE: Color32 = Color32::from_rgb(0, 0, 255);
|
||||
pub const YELLOW: Color32 = Color32::from_rgb(255, 255, 0);
|
||||
pub const LIGHT_BLUE: Color32 = Color32::from_rgb(140, 160, 255);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/// 0-1 linear space `RGBA` color with premultiplied alpha.
|
||||
#[derive(Clone, Copy, Debug, Default, PartialEq)]
|
||||
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
|
||||
|
||||
@@ -204,7 +204,7 @@ pub struct Stroke {
|
||||
|
||||
impl Stroke {
|
||||
pub fn none() -> Self {
|
||||
Self::new(0.0, crate::color::TRANSPARENT)
|
||||
Self::new(0.0, Color32::TRANSPARENT)
|
||||
}
|
||||
|
||||
pub fn new(width: impl Into<f32>, color: impl Into<Color32>) -> Self {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
use {
|
||||
super::{
|
||||
color::{self, Color32, Rgba, TRANSPARENT},
|
||||
color::{Color32, Rgba},
|
||||
*,
|
||||
},
|
||||
crate::math::*,
|
||||
@@ -479,7 +479,7 @@ fn fill_closed_path(
|
||||
options: TessellationOptions,
|
||||
out: &mut Triangles,
|
||||
) {
|
||||
if color == color::TRANSPARENT {
|
||||
if color == Color32::TRANSPARENT {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -487,7 +487,7 @@ fn fill_closed_path(
|
||||
if options.anti_alias {
|
||||
out.reserve_triangles(3 * n as usize);
|
||||
out.reserve_vertices(2 * n as usize);
|
||||
let color_outer = color::TRANSPARENT;
|
||||
let color_outer = Color32::TRANSPARENT;
|
||||
let idx_inner = out.vertices.len() as u32;
|
||||
let idx_outer = idx_inner + 1;
|
||||
for i in 2..n {
|
||||
@@ -525,7 +525,7 @@ fn stroke_path(
|
||||
options: TessellationOptions,
|
||||
out: &mut Triangles,
|
||||
) {
|
||||
if stroke.width <= 0.0 || stroke.color == color::TRANSPARENT {
|
||||
if stroke.width <= 0.0 || stroke.color == Color32::TRANSPARENT {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -534,7 +534,7 @@ fn stroke_path(
|
||||
|
||||
if options.anti_alias {
|
||||
let color_inner = stroke.color;
|
||||
let color_outer = color::TRANSPARENT;
|
||||
let color_outer = Color32::TRANSPARENT;
|
||||
|
||||
let thin_line = stroke.width <= options.aa_size;
|
||||
if thin_line {
|
||||
@@ -547,7 +547,7 @@ fn stroke_path(
|
||||
|
||||
// Fade out as it gets thinner:
|
||||
let color_inner = mul_color(color_inner, stroke.width / options.aa_size);
|
||||
if color_inner == color::TRANSPARENT {
|
||||
if color_inner == Color32::TRANSPARENT {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -639,7 +639,7 @@ fn stroke_path(
|
||||
// Fade out thin lines rather than making them thinner
|
||||
let radius = options.aa_size / 2.0;
|
||||
let color = mul_color(stroke.color, stroke.width / options.aa_size);
|
||||
if color == color::TRANSPARENT {
|
||||
if color == Color32::TRANSPARENT {
|
||||
return;
|
||||
}
|
||||
for p in path {
|
||||
@@ -756,7 +756,7 @@ impl Tessellator {
|
||||
path.add_open_points(&points);
|
||||
}
|
||||
|
||||
if fill != TRANSPARENT {
|
||||
if fill != Color32::TRANSPARENT {
|
||||
debug_assert!(
|
||||
closed,
|
||||
"You asked to fill a path that is not closed. That makes no sense."
|
||||
@@ -831,7 +831,7 @@ impl Tessellator {
|
||||
color: Color32,
|
||||
out: &mut Triangles,
|
||||
) {
|
||||
if color == TRANSPARENT {
|
||||
if color == Color32::TRANSPARENT {
|
||||
return;
|
||||
}
|
||||
galley.sanity_check();
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
use crate::{
|
||||
align::{anchor_rect, Align, LEFT_TOP},
|
||||
color,
|
||||
layers::PaintCmdIdx,
|
||||
math::{Pos2, Rect, Vec2},
|
||||
paint::{Fonts, Galley, PaintCmd, Stroke, TextStyle},
|
||||
@@ -149,9 +148,9 @@ impl Painter {
|
||||
rect: frame_rect,
|
||||
corner_radius: 0.0,
|
||||
fill: Color32::black_alpha(240),
|
||||
stroke: Stroke::new(1.0, color::RED),
|
||||
stroke: Stroke::new(1.0, Color32::RED),
|
||||
});
|
||||
self.galley(rect.min, galley, text_style, color::RED);
|
||||
self.galley(rect.min, galley, text_style, Color32::RED);
|
||||
frame_rect
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,10 +301,10 @@ impl Default for Widgets {
|
||||
Self {
|
||||
active: WidgetVisuals {
|
||||
bg_fill: Rgba::luminance_alpha(0.10, 0.5).into(),
|
||||
bg_stroke: Stroke::new(2.0, WHITE),
|
||||
bg_stroke: Stroke::new(2.0, Color32::WHITE),
|
||||
corner_radius: 4.0,
|
||||
fg_fill: Color32::from_rgb(120, 120, 200),
|
||||
fg_stroke: Stroke::new(2.0, WHITE),
|
||||
fg_stroke: Stroke::new(2.0, Color32::WHITE),
|
||||
},
|
||||
hovered: WidgetVisuals {
|
||||
bg_fill: Rgba::luminance_alpha(0.06, 0.5).into(),
|
||||
|
||||
@@ -461,7 +461,7 @@ impl Ui {
|
||||
/// # let mut ui = egui::Ui::__test();
|
||||
/// let response = ui.allocate_response(egui::vec2(100.0, 200.0), egui::Sense::click());
|
||||
/// if response.clicked { /* … */ }
|
||||
/// ui.painter().rect_stroke(response.rect, 0.0, (1.0, egui::color::WHITE));
|
||||
/// ui.painter().rect_stroke(response.rect, 0.0, (1.0, egui::Color32::WHITE));
|
||||
/// ```
|
||||
pub fn allocate_response(&mut self, desired_size: Vec2, sense: Sense) -> Response {
|
||||
let (id, rect) = self.allocate_space(desired_size);
|
||||
@@ -500,7 +500,8 @@ impl Ui {
|
||||
let debug_expand_height = self.style().visuals.debug_expand_height;
|
||||
|
||||
if (debug_expand_width && too_wide) || (debug_expand_height && too_high) {
|
||||
self.painter.rect_stroke(rect, 0.0, (1.0, LIGHT_BLUE));
|
||||
self.painter
|
||||
.rect_stroke(rect, 0.0, (1.0, Color32::LIGHT_BLUE));
|
||||
|
||||
let color = color::Color32::from_rgb(200, 0, 0);
|
||||
let width = 2.5;
|
||||
|
||||
@@ -7,9 +7,9 @@ use crate::{
|
||||
|
||||
fn contrast_color(color: impl Into<Rgba>) -> Color32 {
|
||||
if color.into().intensity() < 0.5 {
|
||||
color::WHITE
|
||||
Color32::WHITE
|
||||
} else {
|
||||
color::BLACK
|
||||
Color32::BLACK
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ impl Image {
|
||||
uv: Rect::from_min_max(pos2(0.0, 0.0), pos2(1.0, 1.0)),
|
||||
desired_size: desired_size.into(),
|
||||
bg_fill: Default::default(),
|
||||
tint: color::WHITE,
|
||||
tint: Color32::WHITE,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user