small things
This commit is contained in:
6 files changed
+12
-5
No files matched your search
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#[derive(Default, PartialEq, Debug)]
|
#[derive(Default, PartialEq, Debug, Clone)]
|
||||||
pub struct Color {
|
pub struct Color {
|
||||||
pub red: u8,
|
pub red: u8,
|
||||||
pub green: u8,
|
pub green: u8,
|
||||||
|
|||||||
File renamed without changes.
File renamed without changes.
@@ -2,6 +2,7 @@ use crate::Color;
|
|||||||
use crate::EFFECTS;
|
use crate::EFFECTS;
|
||||||
use crate::EffectInfo;
|
use crate::EffectInfo;
|
||||||
use crate::Effects;
|
use crate::Effects;
|
||||||
|
use crate::RGBController;
|
||||||
|
|
||||||
#[derive(PartialEq, Debug)]
|
#[derive(PartialEq, Debug)]
|
||||||
pub struct Preset {
|
pub struct Preset {
|
||||||
@@ -71,3 +72,9 @@ impl Default for Preset {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Preset {
|
||||||
|
pub fn apply_to_device(&self, mut controller: RGBController) -> Result<Preset, crate::HidWrapperError>{
|
||||||
|
controller.set_effect(self.effect.clone(), self.color.clone(), self.full_color, self.brightness, self.speed, self.direction, self.keymap)
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-3
@@ -60,11 +60,11 @@ impl Preset {
|
|||||||
/// # Errors
|
/// # Errors
|
||||||
/// If this function fails a `SavePresetError` will be returned
|
/// If this function fails a `SavePresetError` will be returned
|
||||||
pub fn _encode_to_buffer(&self) -> Result<Vec<u8>, SavePresetError> {
|
pub fn _encode_to_buffer(&self) -> Result<Vec<u8>, SavePresetError> {
|
||||||
let effect_info: EffectInfo = EFFECTS[usize::from(self.effect.to_u8() - 1)].clone();
|
let effect_info: EffectInfo = EFFECTS[self.effect.to_u8() as usize - 1].clone();
|
||||||
let mut buffer: Vec<u8> = vec![MAGIC_NUMBER_1, MAGIC_NUMBER_2, VERSION];
|
let mut buffer: Vec<u8> = vec![MAGIC_NUMBER_1, MAGIC_NUMBER_2, VERSION];
|
||||||
|
|
||||||
buffer
|
buffer
|
||||||
.push(self.effect.to_u8() + (u8::from(self.full_color) * 128) + (self.direction * 32)); //Effect id, full_color, and direction in a single byte
|
.push(self.effect.to_u8() + self.full_color as u8 * 128 + self.direction * 32); //Effect id, full_color, and direction in a single byte
|
||||||
|
|
||||||
if !self.full_color && effect_info.can_set_color {
|
if !self.full_color && effect_info.can_set_color {
|
||||||
buffer.extend(&self.color.to_array());
|
buffer.extend(&self.color.to_array());
|
||||||
@@ -145,7 +145,7 @@ impl Preset {
|
|||||||
let effect_id: u8 = effect_byte & 0b0001_1111;
|
let effect_id: u8 = effect_byte & 0b0001_1111;
|
||||||
|
|
||||||
save.effect = Effects::from_u8(effect_id).ok_or(LoadPresetError::InvalidOrCorruptedFile)?;
|
save.effect = Effects::from_u8(effect_id).ok_or(LoadPresetError::InvalidOrCorruptedFile)?;
|
||||||
let effect_info: EffectInfo = EFFECTS[usize::from(save.effect.to_u8() - 1)].clone();
|
let effect_info: EffectInfo = EFFECTS[save.effect.to_u8() as usize - 1].clone();
|
||||||
|
|
||||||
if !save.full_color && effect_info.can_set_color {
|
if !save.full_color && effect_info.can_set_color {
|
||||||
save.color.red = buffer
|
save.color.red = buffer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#[cfg(feature = "preset_file_saving")]
|
#[cfg(feature = "preset_file_saving")]
|
||||||
mod preset_saving;
|
mod preset_saving;
|
||||||
|
|
||||||
mod keymap;
|
mod keymap;
|
||||||
Reference in new issue
Block a user