diff options
author | 2023-05-26 10:07:52 -0700 | |
---|---|---|
committer | 2023-05-26 10:13:18 -0700 | |
commit | 902e333148a1ceed85aba36262a849aaed8d3ac9 (patch) | |
tree | d1b0db241d1f693798ca4dce4d19728d413454fb /graphics/src/gradient.rs | |
parent | 413526ad09d006853eb9659efabee168f4a0e0a4 (diff) | |
download | iced-902e333148a1ceed85aba36262a849aaed8d3ac9.tar.gz iced-902e333148a1ceed85aba36262a849aaed8d3ac9.tar.bz2 iced-902e333148a1ceed85aba36262a849aaed8d3ac9.zip |
Changed gradient::Packed to be `repr(C)` for direct gpu upload.
Diffstat (limited to 'graphics/src/gradient.rs')
-rw-r--r-- | graphics/src/gradient.rs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/graphics/src/gradient.rs b/graphics/src/gradient.rs index 2b6aba44..9f1e7bbc 100644 --- a/graphics/src/gradient.rs +++ b/graphics/src/gradient.rs @@ -116,13 +116,17 @@ impl Linear { data[42] = self.end.x; data[43] = self.end.y; - Packed { data } + Packed(data) } } /// Packed [`Gradient`] data for use in shader code. -#[derive(Debug)] -pub struct Packed { - /// The packed [`Gradient`] data. - pub data: [f32; 44], +#[derive(Debug, Copy, Clone, PartialEq)] +#[repr(C)] +pub struct Packed([f32; 44]); + +impl From<[f32; 44]> for Packed { + fn from(value: [f32; 44]) -> Self { + Self(value) + } } |