![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
The affine map taking chart bounding-box coordinates to the buffer process() was handed. More...
Collaboration diagram for dt_iop_channelmixer_rgb_box_map_t:Data Fields | |
| float | scale_x |
| float | scale_y |
| float | offset_x |
| float | offset_y |
The affine map taking chart bounding-box coordinates to the buffer process() was handed.
g->box and both homographies are authored by the mouse handlers in PREVIEW-REQUEST pixels – dt_dev_coordinates_image_norm_to_preview_abs(), which is also the grid gui_post_expose() draws the overlay in. The buffer this module is handed is NOT guaranteed to be that grid, and nothing used to check: with "rendering size = full resolution" (darkroom/render_size == 0) iop/finalscale.c's modify_roi_in() forces scale = 1.0 for everything upstream of iop_order 65, this module included, so the pipe runs at 1:1 while the box is still at natural_scale. Indexing the buffer with box coordinates then reads a shrunken corner of the frame and the solver is fitted against patches that were never on the chart – with the overlay still drawn perfectly over the chart, because it uses the other grid.
Definition at line 1385 of file channelmixerrgb.c.
| float dt_iop_channelmixer_rgb_box_map_t::offset_x |
Definition at line 1388 of file channelmixerrgb.c.
Referenced by _extract_patches(), and _map_homographies().
| float dt_iop_channelmixer_rgb_box_map_t::offset_y |
Definition at line 1388 of file channelmixerrgb.c.
Referenced by _extract_patches(), and _map_homographies().
| float dt_iop_channelmixer_rgb_box_map_t::scale_x |
Definition at line 1387 of file channelmixerrgb.c.
Referenced by _box_map(), _extract_patches(), and _map_homographies().
| float dt_iop_channelmixer_rgb_box_map_t::scale_y |
Definition at line 1387 of file channelmixerrgb.c.
Referenced by _box_map(), _extract_patches(), and _map_homographies().