Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_dev_image_geometry_t Struct Reference

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
 

Detailed Description

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.

Field Documentation

◆ processed_height

◆ processed_inited

gboolean dt_dev_image_geometry_t::processed_inited

TRUE once the processed pair has been published from the virtual pipe. 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_get_processed_size(), dt_dev_geometry_set_processed_size(), and dt_dev_roi_request_publish().

◆ processed_width

◆ raw_height

◆ raw_inited

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_get_raw_size(), dt_dev_geometry_raw_inited(), dt_dev_geometry_set_raw_size(), and dt_dev_roi_request_publish().

◆ raw_width


The documentation for this struct was generated from the following file: