blit
Loading...
Searching...
No Matches
rop2.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025, Roy Ratcliffe, Northumberland, United Kingdom
3 * SPDX-License-Identifier: MIT
4 */
14#ifndef __BLIT_ROP2_H__
15#define __BLIT_ROP2_H__
16
17#include <blit/rgn1.h>
18#include <blit/scan.h>
19
28 blit_rop2_0,
29 blit_rop2_DSon,
30 blit_rop2_DSna,
31 blit_rop2_Sn,
32 blit_rop2_SDna,
33 blit_rop2_Dn,
34 blit_rop2_DSx,
35 blit_rop2_DSan,
36 blit_rop2_DSa,
37 blit_rop2_DSxn,
38 blit_rop2_D,
39 blit_rop2_DSno,
40 blit_rop2_S,
41 blit_rop2_SDno,
42 blit_rop2_DSo,
43 blit_rop2_1,
44 /*
45 * Common raster operation synonyms.
46 */
47 blit_rop2_not_erase = blit_rop2_DSon,
48 blit_rop2_not_copy = blit_rop2_Sn,
49 blit_rop2_erase = blit_rop2_SDna,
50 blit_rop2_xor = blit_rop2_DSx,
51 blit_rop2_and = blit_rop2_DSa,
52 blit_rop2_merge_paint = blit_rop2_DSno,
53 blit_rop2_copy = blit_rop2_S,
54 blit_rop2_paint = blit_rop2_DSo,
55 /*
56 * Unary raster operations defined in terms of binary operations.
57 */
58 blit_rop2_blackness = blit_rop2_0,
59 blit_rop2_invert = blit_rop2_Sn,
60 blit_rop2_whiteness = blit_rop2_1,
61};
62
77bool blit_rgn1_rop2(struct blit_scan *result, struct blit_rgn1 *x,
78 struct blit_rgn1 *y, const struct blit_scan *source,
79 enum blit_rop2 rop2);
80
102bool blit_rop2(struct blit_scan *result, const int x, const int y,
103 const int x_extent, const int y_extent,
104 const struct blit_scan *source, const int x_source,
105 const int y_source, enum blit_rop2 rop2);
106
107#endif /* __BLIT_ROP2_H__ */
One-dimensional region structure.
bool blit_rgn1_rop2(struct blit_scan *result, struct blit_rgn1 *x, struct blit_rgn1 *y, const struct blit_scan *source, enum blit_rop2 rop2)
Perform raster operation with masking and store the result.
Definition rop2.c:195
blit_rop2
Enumeration of binary raster operation codes.
Definition rop2.h:27
Scanline structure definition.
One-dimensional region structure.
Definition rgn1.h:26
Scanline structure.
Definition scan.h:32