Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
startup_progress.h
Go to the documentation of this file.
1/*
2 * This file is part of Ansel,
3 * Copyright (C) 2026 Aurélien PIERRE.
4 *
5 * Ansel is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * Ansel is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with Ansel. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef DT_COMMON_STARTUP_PROGRESS_H
20#define DT_COMMON_STARTUP_PROGRESS_H
21
22/* "Still working, here is what on" -- reported by whatever is slow during startup, shown by
23 * whatever can show it.
24 *
25 * common/opencl.c can spend a long time building kernels on first run, and was calling
26 * dt_gui_splash_init()/dt_gui_splash_updatef() directly to say so: layer 1 driving a layer-4
27 * splash screen, and carrying the "have I opened the splash yet?" state to do it.
28 *
29 * The reporter now only reports. Whether that becomes a splash screen, a log line, or
30 * nothing at all belongs to whoever registers the handler -- including the decision to open
31 * the window on first message, which is display state and lives with the display.
32 *
33 * With no handler registered (any headless run) reporting is a no-op, so callers need no
34 * "is there a GUI?" test of their own.
35 */
36typedef void (*dt_startup_progress_handler_t)(const char *message);
37
40
42void dt_startup_progress_report(const char *format, ...) __attribute__((format(printf, 1, 2)));
43
44#endif // DT_COMMON_STARTUP_PROGRESS_H
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
float dt_aligned_pixel_simd_t __attribute__((vector_size(16), aligned(16)))
Apply one channel's tone curve to each of the three colour channels, or pass the channel through unto...
Definition simd.h:55
void dt_startup_progress_report(const char *format,...) __attribute__((format(printf
void dt_startup_progress_set_handler(dt_startup_progress_handler_t handler)
void(* dt_startup_progress_handler_t)(const char *message)