pub const fn hex2rgb(val: u32) -> (u8, u8, u8)
Expand description
Convenience function to convert hex to rgb. Example:
use fltk::utils::hex2rgb;
let (r, g, b) = hex2rgb(0x000000);
Examples found in repository?
examples/rgb.rs (line 15)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
fn main() {
let app = app::App::default();
let mut wind = window::Window::default().with_size(400, 400);
let mut frame = frame::Frame::default_fill();
wind.make_resizable(true);
wind.end();
wind.show();
frame.draw(move |f| {
let mut fb: Vec<u8> = vec![0u8; (f.w() * f.h() * 4) as usize];
for (iter, pixel) in fb.chunks_exact_mut(4).enumerate() {
let x = iter % f.w() as usize;
let y = iter / f.w() as usize;
let (red, green, blue) = utils::hex2rgb((x ^ y) as u32);
pixel.copy_from_slice(&[red, green, blue, 255]);
}
let mut image = image::RgbImage::new(&fb, f.w(), f.h(), ColorDepth::Rgba8)
.unwrap()
.to_srgb_image()
.unwrap()
.blur(50)
.unwrap()
.convert(ColorDepth::Rgb8)
.unwrap();
image.draw(f.x(), f.y(), f.width(), f.height());
});
app.run().unwrap();
}
More examples
examples/defaults.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
fn main() {
let (r, g, b) = utils::hex2rgb(0xfafdf3);
let app = app::App::default();
// global theming
app::background(r, g, b); // background color. For input/output and text widgets, use app::background2
app::foreground(20, 20, 20); // labels
app::set_font(enums::Font::Courier);
app::set_font_size(16);
app::set_frame_type(enums::FrameType::RFlatBox);
app::set_visible_focus(false);
// regular widget code
let mut win = window::Window::default().with_size(400, 300);
let frame = frame::Frame::new(0, 0, 400, 200, "Defaults");
let flex = group::Flex::default()
.with_size(400, 50)
.below_of(&frame, 50);
let mut but1 = button::Button::default().with_label("Button1");
but1.set_color(enums::Color::Yellow);
but1.set_down_frame(enums::FrameType::RFlatBox);
frame::Frame::default();
let mut but2 = button::Button::default().with_label("Button2");
but2.set_color(enums::Color::Yellow);
but2.set_down_frame(enums::FrameType::RFlatBox);
flex.end();
win.end();
win.show();
app.run().unwrap();
}