Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dev_backbuf.h
Go to the documentation of this file.
1/*
2 This file is part of the Ansel project.
3 Copyright (C) 2026 Guillaume STUTIN.
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
16#ifndef DT_VIEWS_DEV_BACKBUF_H
17#define DT_VIEWS_DEV_BACKBUF_H
18
19#include <cairo.h>
20#include <glib.h>
21
22#include "system/simd.h"
23// dev_pixelpipe.h uses dt_dev_pixelpipe_t/dt_dev_pixelpipe_change_t (defined in pixelpipe_hb.h)
24// without including it itself - include it first so this header is self-contained regardless
25// of what a caller happened to include before it.
28
29struct dt_develop_t;
31
48
54gboolean dt_dev_lock_pipe_surface(struct dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe,
56 const char *wait_owner_tag, gboolean keep_previous_on_fail);
57
62gboolean dt_dev_render_locked_surface(cairo_t *cr, const struct dt_develop_t *dev,
63 dt_dev_locked_surface_t *locked, int width, int height, int border,
64 const dt_aligned_pixel_t bg_color);
65
72 const char *wait_owner_tag, cairo_t *cr, struct dt_develop_t *dev,
73 int width, int height, int border, const dt_aligned_pixel_t bg_color,
74 gboolean keep_previous_on_fail);
75
81
85
88void dt_dev_draw_iso12646_border(cairo_t *cr, double width, double height, int border);
89
94#endif // DT_VIEWS_DEV_BACKBUF_H
void dt_dev_draw_iso12646_border(cairo_t *cr, double width, double height, int border)
Definition dev_backbuf.c:56
gboolean dt_dev_paint_main_backbuf(dt_dev_locked_surface_t *locked, dt_dev_pixelpipe_cache_wait_t *wait, const char *wait_owner_tag, cairo_t *cr, struct dt_develop_t *dev, int width, int height, int border, const dt_aligned_pixel_t bg_color, gboolean keep_previous_on_fail)
gboolean dt_dev_lock_pipe_surface(struct dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, dt_dev_locked_surface_t *locked, dt_dev_pixelpipe_cache_wait_t *wait, const char *wait_owner_tag, gboolean keep_previous_on_fail)
gboolean dt_dev_render_locked_surface(cairo_t *cr, const struct dt_develop_t *dev, dt_dev_locked_surface_t *locked, int width, int height, int border, const dt_aligned_pixel_t bg_color)
void dt_dev_get_background_color(const struct dt_develop_t *dev, dt_aligned_pixel_t bg_color)
void dt_dev_release_locked_surface(dt_dev_locked_surface_t *locked)
Definition dev_backbuf.c:99
void dt_dev_draw_profile_mode_label(cairo_t *cri, int height)
Definition dev_backbuf.c:69
uint32_t width
Definition mipmap_cache.c:0
uint32_t height
Definition mipmap_cache.c:1
DT_ALIGNED_PIXEL float dt_aligned_pixel_t[4]
Definition simd.h:53
unsigned __int64 uint64_t
Definition strptime.c:75
struct dt_pixel_cache_entry_t * entry
Definition dev_backbuf.h:45
cairo_surface_t * surface
Definition dev_backbuf.h:46
dt_atomic_uint64 age
One consumer's outstanding request, owned by that consumer, not by the queue.