pub fn font_size() -> i32
Expand description
Get the app’s font size
Examples found in repository?
examples/gradients.rs (line 23)
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
fn create_vertical_gradient_frame(
x: i32,
y: i32,
w: i32,
h: i32,
col1: Color,
col2: Color,
) -> frame::Frame {
let mut frame = frame::Frame::new(x, y, w, h, "Vertical");
frame.draw(move |f| {
let imax = f.h();
let d = if imax > 0 { imax } else { 1 };
for i in 0..=imax {
let w = 1.0 - i as f32 / d as f32;
set_draw_color(Color::inactive(&Color::color_average(col1, col2, w)));
draw_xyline(f.x(), f.y() + i, f.x() + f.w());
}
set_draw_color(Color::Black);
set_font(Font::Helvetica, app::font_size());
draw_text2(&f.label(), f.x(), f.y(), f.w(), f.h(), f.align());
});
frame
}
fn create_horizontal_gradient_frame(
x: i32,
y: i32,
w: i32,
h: i32,
col1: Color,
col2: Color,
) -> frame::Frame {
let mut frame = frame::Frame::new(x, y, w, h, "Horizontal");
frame.draw(move |f| {
let imax = f.w();
let d = if imax > 0 { imax } else { 1 };
for i in 0..=imax {
let w = 1.0 - i as f32 / d as f32;
set_draw_color(Color::inactive(&Color::color_average(col1, col2, w)));
draw_yxline(f.x() + i, f.y(), f.y() + f.h());
}
set_draw_color(Color::Black);
set_font(Font::Helvetica, app::font_size());
draw_text2(&f.label(), f.x(), f.y(), f.w(), f.h(), f.align());
});
frame
}
fn create_horizontal_svg_gradient_frame(
x: i32,
y: i32,
w: i32,
h: i32,
col1: Color,
col2: Color,
) -> frame::Frame {
let mut frame = frame::Frame::new(x, y, w, h, "Svg");
frame.draw(move |f| {
let (r1, g1, b1) = Color::inactive(&col1).to_rgb();
let (r2, g2, b2) = Color::inactive(&col2).to_rgb();
let svg = format!(
"<svg viewBox='0 0 {} {}'>
<defs>
<linearGradient id='grad1' x1='0%' y1='0%' x2='0%' y2='100%'>
<stop offset='0%' style='stop-color:rgb({},{},{});stop-opacity:1' />
<stop offset='100%' style='stop-color:rgb({},{},{});stop-opacity:1' />
</linearGradient>
</defs>
<rect width='100%' height='100%' fill='url(#grad1)' />
</svg>",
f.w(),
f.h() + 1,
r1,
g1,
b1,
r2,
g2,
b2
);
let mut image = image::SvgImage::from_data(&svg).unwrap();
image.draw(f.x(), f.y(), f.w(), f.h());
set_draw_color(Color::Black);
set_font(Font::Helvetica, app::font_size());
draw_text2(&f.label(), f.x(), f.y(), f.w(), f.h(), f.align());
});
frame
}