message: Macro for easy colour generation
diff: @@ -134,6 +134,39 @@ impl From<[f32; 4]> for Color {
  }
  }
  +/// # Examples
  +///
  +/// ```
  +/// # use iced_core::{Color, color};
  +/// assert_eq!(color!(0, 0, 0), Color::from_rgb(0., 0., 0.));
  +/// assert_eq!(color!(0, 0, 0, 0.), Color::from_rgba(0., 0., 0., 0.));
  +/// assert_eq!(color!(0xffffff), Color::from_rgb(1., 1., 1.));
  +/// assert_eq!(color!(0xffffff, 0.), Color::from_rgba(1., 1., 1., 0.));
  +/// ```
  +#[macro_export]
  +macro_rules! color {
  + ($r:expr, $g:expr, $b:expr) => {
  + Color::from_rgb8($r, $g, $b)
  + };
  + ($r:expr, $g:expr, $b:expr, $a:expr) => {
  + Color::from_rgba8($r, $g, $b, $a)
  + };
  + ($hex:expr) => {{
  + let hex = $hex as u32;
  + let r = (hex & 0xff0000) >> 16;
  + let g = (hex & 0xff00) >> 8;
  + let b = (hex & 0xff);
  + Color::from_rgb8(r as u8, g as u8, b as u8)
  + }};
  + ($hex:expr, $a:expr) => {{
  + let hex = $hex as u32;
  + let r = (hex & 0xff0000) >> 16;
  + let g = (hex & 0xff00) >> 8;
  + let b = (hex & 0xff);
  + Color::from_rgba8(r as u8, g as u8, b as u8, $a)
  + }};
  +}
  +
  #[cfg(feature = "palette")]
  /// Converts from palette's `Srgba` type to a [`Color`].
  impl From<Srgba> for Color {
  