19#ifndef DT_DEVELOP_DEV_ROI_REQUEST_H
20#define DT_DEVELOP_DEV_ROI_REQUEST_H
88 const int32_t processed_width,
89 const int32_t processed_height)
91 if(processed_width <= 0 || processed_height <= 0)
return -1.f;
93 return fminf(
fminf((
float)box_width / (
float)processed_width,
94 (
float)box_height / (
float)processed_height),
void dt_dev_roi_request_init(struct dt_develop_t *dev)
dt_dev_roi_request_t dt_dev_roi_request_neutral(void)
The value a pipe carries before the worker has latched anything.
int32_t dt_dev_roi_request_preview_height(const struct dt_develop_t *dev)
dt_dev_roi_request_t dt_dev_roi_request_get(const struct dt_develop_t *dev)
dt_dev_roi_request_t dt_dev_roi_request_of_pipe(const struct dt_dev_pixelpipe_t *pipe)
static float dt_dev_roi_natural_scale(const int32_t box_width, const int32_t box_height, const int32_t processed_width, const int32_t processed_height)
natural scaling = MIN(box / processed, 1): the image fits the widget minus its borders.
int32_t dt_dev_roi_request_preview_width(const struct dt_develop_t *dev)
uint64_t dt_dev_roi_request_publish(struct dt_develop_t *dev)
Recompute the derived members from the viewport and the geometry record, and publish if anything chan...
void dt_dev_roi_request_latch(struct dt_dev_pixelpipe_t *pipe, const dt_dev_roi_request_t *request)
Publish onto a pipe the request its next run is planned from. Darkroom worker only.
float dt_dev_roi_request_natural_scale(const struct dt_develop_t *dev)
gboolean dt_dev_roi_request_valid(const struct dt_develop_t *dev)
unsigned __int64 uint64_t
dt_atomic_uint64 generation
dt_dev_roi_request_t value
The coherent set of numbers a darkroom pipe plans its ROI from.