|
2 | 2 | // SPDX-License-Identifier: Apache-2.0 |
3 | 3 | // SPDX-License-Identifier: MIT |
4 | 4 |
|
| 5 | +use serde::Serialize; |
| 6 | + |
5 | 7 | use crate::plugin::{Builder, TauriPlugin}; |
6 | 8 | use crate::{command, image::Image, AppHandle, Manager, ResourceId, Runtime}; |
7 | 9 |
|
@@ -55,25 +57,27 @@ fn rgba<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> crate::Result<Vec<u8> |
55 | 57 | Ok(image.rgba().to_vec()) |
56 | 58 | } |
57 | 59 |
|
58 | | -#[command(root = "crate")] |
59 | | -fn width<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> crate::Result<u32> { |
60 | | - let resources_table = app.resources_table(); |
61 | | - let image = resources_table.get::<Image<'_>>(rid)?; |
62 | | - Ok(image.width()) |
| 60 | +#[derive(Serialize)] |
| 61 | +struct Size { |
| 62 | + width: u32, |
| 63 | + height: u32, |
63 | 64 | } |
64 | 65 |
|
65 | 66 | #[command(root = "crate")] |
66 | | -fn height<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> crate::Result<u32> { |
| 67 | +fn size<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> crate::Result<Size> { |
67 | 68 | let resources_table = app.resources_table(); |
68 | 69 | let image = resources_table.get::<Image<'_>>(rid)?; |
69 | | - Ok(image.height()) |
| 70 | + Ok(Size { |
| 71 | + width: image.width(), |
| 72 | + height: image.height(), |
| 73 | + }) |
70 | 74 | } |
71 | 75 |
|
72 | 76 | /// Initializes the plugin. |
73 | 77 | pub fn init<R: Runtime>() -> TauriPlugin<R> { |
74 | 78 | Builder::new("image") |
75 | 79 | .invoke_handler(crate::generate_handler![ |
76 | | - new, from_bytes, from_path, rgba, width, height |
| 80 | + new, from_bytes, from_path, rgba, size |
77 | 81 | ]) |
78 | 82 | .build() |
79 | 83 | } |
0 commit comments