Remove trait-specific draw logic in iced_native

This commit is contained in:
Héctor Ramón Jiménez 2021-10-14 16:07:22 +07:00
parent 3aae45c191
commit 03b3493138
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
71 changed files with 641 additions and 3126 deletions

View file

@ -55,98 +55,99 @@ mod rainbow {
&self,
_renderer: &mut Renderer<B>,
_defaults: &Defaults,
layout: Layout<'_>,
cursor_position: Point,
_layout: Layout<'_>,
_cursor_position: Point,
_viewport: &Rectangle,
) -> (Primitive, mouse::Interaction) {
let b = layout.bounds();
) {
// let b = layout.bounds();
// R O Y G B I V
let color_r = [1.0, 0.0, 0.0, 1.0];
let color_o = [1.0, 0.5, 0.0, 1.0];
let color_y = [1.0, 1.0, 0.0, 1.0];
let color_g = [0.0, 1.0, 0.0, 1.0];
let color_gb = [0.0, 1.0, 0.5, 1.0];
let color_b = [0.0, 0.2, 1.0, 1.0];
let color_i = [0.5, 0.0, 1.0, 1.0];
let color_v = [0.75, 0.0, 0.5, 1.0];
// // R O Y G B I V
// let color_r = [1.0, 0.0, 0.0, 1.0];
// let color_o = [1.0, 0.5, 0.0, 1.0];
// let color_y = [1.0, 1.0, 0.0, 1.0];
// let color_g = [0.0, 1.0, 0.0, 1.0];
// let color_gb = [0.0, 1.0, 0.5, 1.0];
// let color_b = [0.0, 0.2, 1.0, 1.0];
// let color_i = [0.5, 0.0, 1.0, 1.0];
// let color_v = [0.75, 0.0, 0.5, 1.0];
let posn_center = {
if b.contains(cursor_position) {
[cursor_position.x - b.x, cursor_position.y - b.y]
} else {
[b.width / 2.0, b.height / 2.0]
}
};
// let posn_center = {
// if b.contains(cursor_position) {
// [cursor_position.x - b.x, cursor_position.y - b.y]
// } else {
// [b.width / 2.0, b.height / 2.0]
// }
// };
let posn_tl = [0.0, 0.0];
let posn_t = [b.width / 2.0, 0.0];
let posn_tr = [b.width, 0.0];
let posn_r = [b.width, b.height / 2.0];
let posn_br = [b.width, b.height];
let posn_b = [(b.width / 2.0), b.height];
let posn_bl = [0.0, b.height];
let posn_l = [0.0, b.height / 2.0];
// let posn_tl = [0.0, 0.0];
// let posn_t = [b.width / 2.0, 0.0];
// let posn_tr = [b.width, 0.0];
// let posn_r = [b.width, b.height / 2.0];
// let posn_br = [b.width, b.height];
// let posn_b = [(b.width / 2.0), b.height];
// let posn_bl = [0.0, b.height];
// let posn_l = [0.0, b.height / 2.0];
(
Primitive::Translate {
translation: Vector::new(b.x, b.y),
content: Box::new(Primitive::Mesh2D {
size: b.size(),
buffers: Mesh2D {
vertices: vec![
Vertex2D {
position: posn_center,
color: [1.0, 1.0, 1.0, 1.0],
},
Vertex2D {
position: posn_tl,
color: color_r,
},
Vertex2D {
position: posn_t,
color: color_o,
},
Vertex2D {
position: posn_tr,
color: color_y,
},
Vertex2D {
position: posn_r,
color: color_g,
},
Vertex2D {
position: posn_br,
color: color_gb,
},
Vertex2D {
position: posn_b,
color: color_b,
},
Vertex2D {
position: posn_bl,
color: color_i,
},
Vertex2D {
position: posn_l,
color: color_v,
},
],
indices: vec![
0, 1, 2, // TL
0, 2, 3, // T
0, 3, 4, // TR
0, 4, 5, // R
0, 5, 6, // BR
0, 6, 7, // B
0, 7, 8, // BL
0, 8, 1, // L
],
},
}),
},
mouse::Interaction::default(),
)
// (
// Primitive::Translate {
// translation: Vector::new(b.x, b.y),
// content: Box::new(Primitive::Mesh2D {
// size: b.size(),
// buffers: Mesh2D {
// vertices: vec![
// Vertex2D {
// position: posn_center,
// color: [1.0, 1.0, 1.0, 1.0],
// },
// Vertex2D {
// position: posn_tl,
// color: color_r,
// },
// Vertex2D {
// position: posn_t,
// color: color_o,
// },
// Vertex2D {
// position: posn_tr,
// color: color_y,
// },
// Vertex2D {
// position: posn_r,
// color: color_g,
// },
// Vertex2D {
// position: posn_br,
// color: color_gb,
// },
// Vertex2D {
// position: posn_b,
// color: color_b,
// },
// Vertex2D {
// position: posn_bl,
// color: color_i,
// },
// Vertex2D {
// position: posn_l,
// color: color_v,
// },
// ],
// indices: vec![
// 0, 1, 2, // TL
// 0, 2, 3, // T
// 0, 3, 4, // TR
// 0, 4, 5, // R
// 0, 5, 6, // BR
// 0, 6, 7, // B
// 0, 7, 8, // BL
// 0, 8, 1, // L
// ],
// },
// }),
// },
// mouse::Interaction::default(),
// )
// TODO
}
}