From 3b5cdc881fb590370831f26bf051bed4abdd02d3 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshev Date: Thu, 9 Nov 2023 11:27:39 +0300 Subject: [PATCH] COMMON: Added sail_scan_line() --- src/sail-common/image.c | 9 +++++++++ src/sail-common/image.h | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/src/sail-common/image.c b/src/sail-common/image.c index 8acad4e9..77e952a8 100644 --- a/src/sail-common/image.c +++ b/src/sail-common/image.c @@ -213,3 +213,12 @@ sail_status_t sail_mirror_horizontally(struct sail_image *image) { return SAIL_OK; } + +void* sail_scan_line(const struct sail_image *image, unsigned row) { + + if (SAIL_UNLIKELY(image == NULL || image->pixels == NULL)) { + return NULL; + } + + return (uint8_t *)image->pixels + image->bytes_per_line * row; +} diff --git a/src/sail-common/image.h b/src/sail-common/image.h index 82835b11..5e7a1cda 100644 --- a/src/sail-common/image.h +++ b/src/sail-common/image.h @@ -222,6 +222,12 @@ SAIL_EXPORT sail_status_t sail_mirror_vertically(struct sail_image *image); */ SAIL_EXPORT sail_status_t sail_mirror_horizontally(struct sail_image *image); +/* + * Returns the scan line at the given row. + * Return NULL if the image or its pixels is NULL. + */ +SAIL_EXPORT void* sail_scan_line(const struct sail_image *image, unsigned row); + /* extern "C" */ #ifdef __cplusplus }