![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Objective facts about the image a dev is working on. More...
#include <dev_geometry.h>
Collaboration diagram for dt_dev_image_geometry_t:Data Fields | |
| int32_t | raw_width |
| int32_t | raw_height |
| int32_t | processed_width |
| int32_t | processed_height |
| gboolean | raw_inited |
| gboolean | processed_inited |
Objective facts about the image a dev is working on.
This is not GUI state, and the distinction is not academic. Every field here is needed with no GUI at all: export, thumbnail generation and dev_snapshot's frozen dev all resolve drawn-mask geometry against the raw dimensions, and the darkroom worker feeds them to dt_dev_pixelpipe_set_input() on every loop tick.
Leaving them at zero does not fail loudly. dt_dev_coordinates_raw_norm_to_raw_abs() early-returns on raw_width == 0 WITHOUT transforming, so a shape's normalized centre masquerades as absolute pixel coordinates and every mask on the image collapses to within a few hundred pixels of the origin. That shipped once, because these fields were mistaken for GUI state and written only if(dev->gui_attached). See CLAUDE.md, and do not gate dt_dev_geometry_set_raw_size() on anything.
Definition at line 44 of file dev_geometry.h.
| int32_t dt_dev_image_geometry_t::processed_height |
Definition at line 51 of file dev_geometry.h.
Referenced by dt_dev_geometry_processed_height(), and dt_dev_geometry_set_processed_size().
| gboolean dt_dev_image_geometry_t::processed_inited |
TRUE once the processed pair has been published from the size fold. There is no headless producer for it today, so a caller that gets FALSE must not read 0x0 as though it were an answer – that is the raw_width mistake, one field over.
Definition at line 59 of file dev_geometry.h.
Referenced by dt_dev_geometry_set_processed_size().
| int32_t dt_dev_image_geometry_t::processed_width |
Dimensions of the final processed image if it were processed full-resolution: the final aspect ratio, with all cropping and distortions taken into account.
Definition at line 51 of file dev_geometry.h.
Referenced by dt_dev_geometry_processed_width(), and dt_dev_geometry_set_processed_size().
| int32_t dt_dev_image_geometry_t::raw_height |
Definition at line 47 of file dev_geometry.h.
Referenced by dt_dev_geometry_raw_height(), and dt_dev_geometry_set_raw_size().
| gboolean dt_dev_image_geometry_t::raw_inited |
TRUE once the raw pair has been published from a successful mipmap read.
Definition at line 54 of file dev_geometry.h.
Referenced by dt_dev_geometry_raw_inited(), and dt_dev_geometry_set_raw_size().
| int32_t dt_dev_image_geometry_t::raw_width |
Dimensions of the full-resolution RAW image being worked on.
Definition at line 47 of file dev_geometry.h.
Referenced by dt_dev_geometry_raw_width(), and dt_dev_geometry_set_raw_size().