mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
Add extra models to ledmodes
- Configurable anime example - Gfx power states as enum Closes #72
This commit is contained in:
56
rog-anime/README.md
Normal file
56
rog-anime/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# rog-anime
|
||||
|
||||
## Features
|
||||
|
||||
`zbus` is enabled by default.
|
||||
|
||||
## Example
|
||||
|
||||
```rust
|
||||
use std::{env, error::Error, path::Path, process::exit};
|
||||
|
||||
use rog_dbus::AuraDbusClient;
|
||||
use rog_anime::{
|
||||
anime_data::AniMeDataBuffer,
|
||||
anime_image::{AnimeImage, Vec2},
|
||||
};
|
||||
|
||||
fn main() -> Result<(), Box<dyn Error>> {
|
||||
let (client, _) = AuraDbusClient::new().unwrap();
|
||||
|
||||
let args: Vec<String> = env::args().into_iter().collect();
|
||||
if args.len() != 8 {
|
||||
println!(
|
||||
"Usage: <filepath> <x scale> <y scale> <angle> <x pos> <y pos> <fineness> <brightness>"
|
||||
);
|
||||
println!("e.g, asusctl/examples/doom_large.png 0.9 0.9 0.4 0.0 0.0, 0.8");
|
||||
println!("All args except path and fineness are floats");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
let image = AnimeImage::from_png(
|
||||
Path::new(&args[1]),
|
||||
Vec2::new(
|
||||
args[2].parse::<f32>().unwrap(),
|
||||
args[3].parse::<f32>().unwrap(),
|
||||
),
|
||||
args[4].parse::<f32>().unwrap(),
|
||||
Vec2::new(
|
||||
args[5].parse::<f32>().unwrap(),
|
||||
args[6].parse::<f32>().unwrap(),
|
||||
),
|
||||
args[7].parse::<f32>().unwrap(),
|
||||
)?;
|
||||
|
||||
/// This data can also be written direct to the USB device by transforming with
|
||||
let data = AniMePacketType::from(image);
|
||||
let data = <AniMeDataBuffer>::from(&image);
|
||||
client
|
||||
.proxies()
|
||||
.anime()
|
||||
.write(data)
|
||||
.unwrap();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user