GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_arithmetic.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2/*
3 * Copyright (C) 2009-2012 Cyril Hrubis <metan@ucw.cz>
4 */
5
6/*
7
8 Arithmetic filters - compute products of two bitmaps.
9
10 */
11
12#ifndef FILTERS_GP_ARITHMETIC_H
13#define FILTERS_GP_ARITHMETIC_H
14
15#include <filters/gp_filter.h>
16
17/*
18 * add filter.
19 *
20 * Produces saturated (clamped) addtion.
21 */
22int gp_filter_add(const gp_pixmap *src_a,
23 const gp_pixmap *src_b,
24 gp_pixmap *dst,
25 gp_progress_cb *callback);
26
27gp_pixmap *gp_filter_add_alloc(const gp_pixmap *src_a,
28 const gp_pixmap *src_b,
29 gp_progress_cb *callback);
30
31/*
32 * mul filter.
33 *
34 * Produces saturated (clamped) multiplication.
35 */
36int gp_filter_mul(const gp_pixmap *src_a,
37 const gp_pixmap *src_b,
38 gp_pixmap *dst,
39 gp_progress_cb *callback);
40
41gp_pixmap *gp_filter_mul_alloc(const gp_pixmap *src_a,
42 const gp_pixmap *src_b,
43 gp_progress_cb *callback);
44
45/*
46 * diff filter.
47 *
48 * Produces symetric difference.
49 * eg. dst = abs(src_a - src_b)
50 */
51int gp_filter_diff(const gp_pixmap *src_a,
52 const gp_pixmap *src_b,
53 gp_pixmap *dst,
54 gp_progress_cb *callback);
55
56gp_pixmap *gp_filter_diff_alloc(const gp_pixmap *src_a,
57 const gp_pixmap *src_b,
58 gp_progress_cb *callback);
59
60/*
61 * maximum filter.
62 */
63int gp_filter_max(const gp_pixmap *src_a,
64 const gp_pixmap *src_b,
65 gp_pixmap *dst,
66 gp_progress_cb *callback);
67
68gp_pixmap *gp_filter_max_alloc(const gp_pixmap *src_a,
69 const gp_pixmap *src_b,
70 gp_progress_cb *callback);
71
72/*
73 * minimum filter.
74 */
75int gp_filter_min(const gp_pixmap *src_a,
76 const gp_pixmap *src_b,
77 gp_pixmap *dst,
78 gp_progress_cb *callback);
79
80gp_pixmap *gp_filter_min_alloc(const gp_pixmap *src_a,
81 const gp_pixmap *src_b,
82 gp_progress_cb *callback);
83
84#endif /* FILTERS_GP_ARITHMETIC_H */
Common filter includes.
A pixmap buffer.
Definition gp_pixmap.h:33
Progress callback.