Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
pixelpipe.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2009-2011 johannes hanika.
4 Copyright (C) 2012 Richard Wonka.
5 Copyright (C) 2014-2016 Roman Lebedev.
6 Copyright (C) 2014, 2016, 2019 Tobias Ellinghaus.
7 Copyright (C) 2019 Edgardo Hoszowski.
8 Copyright (C) 2020 Pascal Obry.
9 Copyright (C) 2022 Martin Bařinka.
10 Copyright (C) 2023, 2025-2026 Aurélien PIERRE.
11 Copyright (C) 2026 Guillaume Stutin.
12
13 darktable is free software: you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 darktable is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with darktable. If not, see <http://www.gnu.org/licenses/>.
25*/
26
27#pragma once
28
29#include <stdint.h>
30
31#ifdef HAVE_CONFIG_H
32#include "config.h"
33#endif
34
43
51
52// params to be used to collect histogram
62
63// params used to collect histogram during last histogram capture
65{
67 uint32_t bins_count;
69 uint32_t pixels;
71 uint32_t ch;
73
74#ifndef DT_IOP_PARAMS_T
75#define DT_IOP_PARAMS_T
76typedef void dt_iop_params_t;
77#endif
78
80
82
83GHashTable *dt_pixelpipe_raster_alloc();
84void dt_pixelpipe_raster_cleanup(GHashTable *raster_masks);
85
93gboolean dt_pixelpipe_raster_replace(GHashTable *raster_masks, float *mask);
94
101gboolean dt_pixelpipe_raster_remove(GHashTable *raster_masks);
102
110float *dt_pixelpipe_raster_get(GHashTable *raster_masks, const int raster_mask_id);
111
112
113// clang-format off
114// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
115// vim: shiftwidth=2 expandtab tabstop=2 cindent
116// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
117// clang-format on
float * dt_pixelpipe_raster_get(GHashTable *raster_masks, const int raster_mask_id)
Get the raster mask with given id from the raster masks hashtable of the pixelpipe.
Definition pixelpipe.c:71
dt_dev_request_flags_t
Definition pixelpipe.h:46
@ DT_REQUEST_ON
Definition pixelpipe.h:48
@ DT_REQUEST_ONLY_IN_GUI
Definition pixelpipe.h:49
@ DT_REQUEST_NONE
Definition pixelpipe.h:47
dt_dev_pixelpipe_type_t
Definition pixelpipe.h:36
@ DT_DEV_PIXELPIPE_THUMBNAIL
Definition pixelpipe.h:41
@ DT_DEV_PIXELPIPE_EXPORT
Definition pixelpipe.h:38
@ DT_DEV_PIXELPIPE_NONE
Definition pixelpipe.h:37
@ DT_DEV_PIXELPIPE_PREVIEW
Definition pixelpipe.h:40
@ DT_DEV_PIXELPIPE_FULL
Definition pixelpipe.h:39
gboolean dt_pixelpipe_raster_remove(GHashTable *raster_masks)
Remove the raster mask with id 0 from the raster masks hashtable of the pixelpipe.
Definition pixelpipe.c:66
void dt_iop_params_t
Definition pixelpipe.h:76
const char * dt_pixelpipe_name(dt_dev_pixelpipe_type_t pipe)
Definition pixelpipe.c:32
gboolean dt_pixelpipe_raster_replace(GHashTable *raster_masks, float *mask)
Replace a raster mask in the raster masks hashtable of the pixelpipe.
Definition pixelpipe.c:61
void dt_pixelpipe_raster_cleanup(GHashTable *raster_masks)
Definition pixelpipe.c:55
GHashTable * dt_pixelpipe_raster_alloc()
Definition pixelpipe.c:50
Definition pixelpipe.h:54
const struct dt_histogram_roi_t * roi
Definition pixelpipe.h:56
uint32_t bins_count
Definition pixelpipe.h:58
float mul
Definition pixelpipe.h:60
Definition pixelpipe.h:65
uint32_t ch
Definition pixelpipe.h:71
uint32_t bins_count
Definition pixelpipe.h:67
uint32_t pixels
Definition pixelpipe.h:69
Definition histogram.h:42