Arm-2D
2D Image Processing Library for Cortex-M Processors
Loading...
Searching...
No Matches
__arm_2d_fill_colour_with_horizontal_line_mask.h
1
/*
2
* Copyright (C) 2024 Arm Limited or its affiliates. All rights reserved.
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*
6
* Licensed under the Apache License, Version 2.0 (the License); you may
7
* not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
14
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
/* ----------------------------------------------------------------------
20
* Project: Arm-2D Library
21
* Title: __arm_2d_fill_colour_with_horizontal_line_mask.h
22
* Description: APIs for colour-filling-with-horizontal-line-mask
23
*
24
* $Date: 17. April 2024
25
* $Revision: V.1.0.1
26
*
27
* Target Processor: Cortex-M cores
28
*
29
* -------------------------------------------------------------------- */
30
31
#ifndef __ARM_2D_FILL_COLOUR_WITH_HORIZONTAL_LINE_MASK_H__
32
#define __ARM_2D_FILL_COLOUR_WITH_HORIZONTAL_LINE_MASK_H__
33
34
/*============================ INCLUDES ======================================*/
35
#include "arm_2d_types.h"
36
37
#ifdef __cplusplus
38
extern
"C"
{
39
#endif
40
41
#if defined(__clang__)
42
# pragma clang diagnostic push
43
# pragma clang diagnostic ignored "-Wunknown-warning-option"
44
# pragma clang diagnostic ignored "-Wreserved-identifier"
45
# pragma clang diagnostic ignored "-Wdeclaration-after-statement"
46
# pragma clang diagnostic ignored "-Wsign-conversion"
47
# pragma clang diagnostic ignored "-Wpadded"
48
# pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
49
# pragma clang diagnostic ignored "-Wmissing-declarations"
50
#endif
51
52
/*!
53
* \addtogroup gAlpha 4 Alpha Blending Operations
54
* @{
55
*/
56
57
/*============================ MACROS ========================================*/
58
/*============================ MACROFIED FUNCTIONS ===========================*/
59
60
#define arm_2d_gray8_fill_colour_with_horizontal_line_mask( \
61
__TARGET_ADDR,
/* target tile address*/
\
62
__REGION_ADDR,
/* target region address*/
\
63
__MASK_ADDR,
/* mask tile address */
\
64
__COLOUR)
/* colour */
\
65
arm_2dp_gray8_fill_colour_with_horizontal_line_mask( \
66
NULL, \
67
(__TARGET_ADDR), \
68
(__REGION_ADDR), \
69
(__MASK_ADDR), \
70
(arm_2d_color_gray8_t){(__COLOUR).tValue})
71
72
#define arm_2d_rgb565_fill_colour_with_horizontal_line_mask( \
73
__TARGET_ADDR,
/* target tile address*/
\
74
__REGION_ADDR,
/* target region address*/
\
75
__MASK_ADDR,
/* mask tile address */
\
76
__COLOUR)
/* colour */
\
77
arm_2dp_rgb565_fill_colour_with_horizontal_line_mask( \
78
NULL, \
79
(__TARGET_ADDR), \
80
(__REGION_ADDR), \
81
(__MASK_ADDR), \
82
(arm_2d_color_rgb565_t){(__COLOUR).tValue})
83
84
#define arm_2d_cccn888_fill_colour_with_horizontal_line_mask( \
85
__TARGET_ADDR,
/* target tile address*/
\
86
__REGION_ADDR,
/* target region address*/
\
87
__MASK_ADDR,
/* mask tile address */
\
88
__COLOUR)
/* colour */
\
89
arm_2dp_cccn888_fill_colour_with_horizontal_line_mask( \
90
NULL, \
91
(__TARGET_ADDR), \
92
(__REGION_ADDR), \
93
(__MASK_ADDR), \
94
(arm_2d_color_cccn888_t){(__COLOUR).tValue})
95
96
#define arm_2d_gray8_fill_colour_with_horizontal_line_mask_and_opacity( \
97
__TARGET_ADDR,
/* target tile address*/
\
98
__REGION_ADDR,
/* target region address*/
\
99
__MASK_ADDR,
/* mask tile address */
\
100
__COLOUR,
/* colour */
\
101
__OPACITY)
/* Opacity */
\
102
arm_2dp_gray8_fill_colour_with_horizontal_line_mask_and_opacity( \
103
NULL, \
104
(__TARGET_ADDR), \
105
(__REGION_ADDR), \
106
(__MASK_ADDR), \
107
(arm_2d_color_gray8_t){(__COLOUR).tValue}, \
108
(__OPACITY))
109
110
#define arm_2d_rgb565_fill_colour_with_horizontal_line_mask_and_opacity( \
111
__TARGET_ADDR,
/* target tile address*/
\
112
__REGION_ADDR,
/* target region address*/
\
113
__MASK_ADDR,
/* mask tile address */
\
114
__COLOUR,
/* colour */
\
115
__OPACITY)
/* Opacity */
\
116
arm_2dp_rgb565_fill_colour_with_horizontal_line_mask_and_opacity( \
117
NULL, \
118
(__TARGET_ADDR), \
119
(__REGION_ADDR), \
120
(__MASK_ADDR), \
121
(arm_2d_color_rgb565_t){(__COLOUR).tValue}, \
122
(__OPACITY))
123
124
#define arm_2d_cccn888_fill_colour_with_horizontal_line_mask_and_opacity( \
125
__TARGET_ADDR,
/* target tile address*/
\
126
__REGION_ADDR,
/* target region address*/
\
127
__MASK_ADDR,
/* mask tile address */
\
128
__COLOUR,
/* colour */
\
129
__OPACITY)
/* Opacity */
\
130
arm_2dp_cccn888_fill_colour_with_horizontal_line_mask_and_opacity( \
131
NULL, \
132
(__TARGET_ADDR), \
133
(__REGION_ADDR), \
134
(__MASK_ADDR), \
135
(arm_2d_color_cccn888_t){(__COLOUR).tValue}, \
136
(__OPACITY))
137
138
/*============================ TYPES =========================================*/
139
/*============================ GLOBAL VARIABLES ==============================*/
140
/*============================ PROTOTYPES ====================================*/
141
/*============================ LOCAL VARIABLES ===============================*/
142
/*============================ IMPLEMENTATION ================================*/
143
144
extern
145
ARM_NONNULL(2,4)
146
/*!
147
* \brief fill the target region with a specified colour and a horizontal line mask
148
* \param[in] ptOP the control block, NULL means using the default control block
149
* \param[in] ptTarget the target tile
150
* \param[in] ptRegion the target region
151
* \param[in] ptLineMsk the target line mask
152
* \param[in] tColour the target colour
153
* \return arm_fsm_rt_t the operations result
154
*/
155
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_horizontal_line_mask
(
156
arm_2d_op_fill_cl_msk_t
*ptOP,
157
const
arm_2d_tile_t
*ptTarget,
158
const
arm_2d_region_t
*ptRegion,
159
const
arm_2d_tile_t
*ptLineMask,
160
arm_2d_color_gray8_t
tColour);
161
162
163
extern
164
ARM_NONNULL(2,4)
165
/*!
166
* \brief fill the target region with a specified colour, a horizontal line mask
167
* and opacity
168
* \param[in] ptOP the control block, NULL means using the default control block
169
* \param[in] ptTarget the target tile
170
* \param[in] ptRegion the target region
171
* \param[in] ptLineMsk the target line mask
172
* \param[in] tColour the target colour
173
* \param[in] chOpacity the opacity ratio
174
* \return arm_fsm_rt_t the operations result
175
*/
176
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_horizontal_line_mask_and_opacity
(
177
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
178
const
arm_2d_tile_t
*ptTarget,
179
const
arm_2d_region_t
*ptRegion,
180
const
arm_2d_tile_t
*ptLineMask,
181
arm_2d_color_gray8_t
tColour,
182
uint8_t chOpacity);
183
184
extern
185
ARM_NONNULL(2,4)
186
/*!
187
* \brief fill the target region with a specified colour and a horizontal line mask
188
* \param[in] ptOP the control block, NULL means using the default control block
189
* \param[in] ptTarget the target tile
190
* \param[in] ptRegion the target region
191
* \param[in] ptLineMsk the target line mask
192
* \param[in] tColour the target colour
193
* \return arm_fsm_rt_t the operations result
194
*/
195
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_horizontal_line_mask
(
196
arm_2d_op_fill_cl_msk_t
*ptOP,
197
const
arm_2d_tile_t
*ptTarget,
198
const
arm_2d_region_t
*ptRegion,
199
const
arm_2d_tile_t
*ptLineMask,
200
arm_2d_color_rgb565_t
tColour);
201
202
203
extern
204
ARM_NONNULL(2,4)
205
/*!
206
* \brief fill the target region with a specified colour, a horizontal line mask
207
* and opacity
208
* \param[in] ptOP the control block, NULL means using the default control block
209
* \param[in] ptTarget the target tile
210
* \param[in] ptRegion the target region
211
* \param[in] ptLineMsk the target line mask
212
* \param[in] tColour the target colour
213
* \param[in] chOpacity the opacity ratio
214
* \return arm_fsm_rt_t the operations result
215
*/
216
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_horizontal_line_mask_and_opacity
(
217
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
218
const
arm_2d_tile_t
*ptTarget,
219
const
arm_2d_region_t
*ptRegion,
220
const
arm_2d_tile_t
*ptLineMask,
221
arm_2d_color_rgb565_t
tColour,
222
uint8_t chOpacity);
223
224
extern
225
ARM_NONNULL(2,4)
226
/*!
227
* \brief fill the target region with a specified colour and a horizontal line mask
228
* \param[in] ptOP the control block, NULL means using the default control block
229
* \param[in] ptTarget the target tile
230
* \param[in] ptRegion the target region
231
* \param[in] ptLineMsk the target line mask
232
* \param[in] tColour the target colour
233
* \return arm_fsm_rt_t the operations result
234
*/
235
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_horizontal_line_mask
(
236
arm_2d_op_fill_cl_msk_t
*ptOP,
237
const
arm_2d_tile_t
*ptTarget,
238
const
arm_2d_region_t
*ptRegion,
239
const
arm_2d_tile_t
*ptLineMask,
240
arm_2d_color_cccn888_t
tColour);
241
242
243
extern
244
ARM_NONNULL(2,4)
245
/*!
246
* \brief fill the target region with a specified colour, a horizontal line mask
247
* and opacity
248
* \param[in] ptOP the control block, NULL means using the default control block
249
* \param[in] ptTarget the target tile
250
* \param[in] ptRegion the target region
251
* \param[in] ptLineMsk the target line mask
252
* \param[in] tColour the target colour
253
* \param[in] chOpacity the opacity ratio
254
* \return arm_fsm_rt_t the operations result
255
*/
256
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_horizontal_line_mask_and_opacity
(
257
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
258
const
arm_2d_tile_t
*ptTarget,
259
const
arm_2d_region_t
*ptRegion,
260
const
arm_2d_tile_t
*ptLineMask,
261
arm_2d_color_cccn888_t
tColour,
262
uint8_t chOpacity);
263
264
/*! @} */
265
266
#if defined(__clang__)
267
# pragma clang diagnostic pop
268
#endif
269
270
#ifdef __cplusplus
271
}
272
#endif
273
274
275
#endif
/* __ARM_2D_FILL_COLOUR_WITH_HORIZONTAL_LINE_MASK_H__ */
Library
Include
__arm_2d_fill_colour_with_horizontal_line_mask.h