X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/a2b087687a00a0b9b810f33e67b388a4496a6cdb..323d6d0521ae5a60d046df5945e076e7d07211ca:/src/am7xxx.h diff --git a/src/am7xxx.h b/src/am7xxx.h index 4fe9b00..79d960a 100644 --- a/src/am7xxx.h +++ b/src/am7xxx.h @@ -179,6 +179,28 @@ int am7xxx_get_device_info(am7xxx_device *dev, am7xxx_device_info *device_info); /** + * Calculate the dimensions of an image to be shown on an am7xxx device. + * + * Before sending images bigger than the device native dimensions the user + * needs to rescale them, this utility function does the calculation in a way + * that the original image aspect ratio is preserved. + * + * @param[in] dev A pointer to the structure representing the device to get info of + * @param[in] upscale Whether to calculate scaled dimensions for images smaller than the native dimesions + * @param[in] original_width The width of the original image + * @param[in] original_height The height of the original image + * @param[out] scaled_width The width the rescaled image should have + * @param[out] scaled_height The height the rescaled image should have + * + * @return 0 on success, a negative value on error + */ +int am7xxx_calc_scaled_image_dimensions(am7xxx_device *dev, + unsigned int upscale, + unsigned int original_width, + unsigned int original_height, + unsigned int *scaled_width, + unsigned int *scaled_height); +/** * Send an image for display on a am7xxx device. * * This is the function that actually makes the device display something.