Arm-2D
2D Image Processing Library for Cortex-M Processors
Loading...
Searching...
No Matches
__arm_2d_tile_copy_with_source_mask_and_opacity.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_tile_copy_with_mask_and_opacity.h
22
* Description: APIs for Tile-Copy-with-Source-Mask-and-Opacity operations
23
*
24
* $Date: 30. July 2025
25
* $Revision: V.1.1.0
26
*
27
* Target Processor: Cortex-M cores
28
*
29
* -------------------------------------------------------------------- */
30
31
#ifndef __ARM_2D_TILE_COPY_WITH_MASK_AND_OPACITY_H__
32
#define __ARM_2D_TILE_COPY_WITH_MASK_AND_OPACITY_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_tile_copy_with_src_mask_and_opacity_only( \
61
__SRC_ADDR,
/* source tile address */
\
62
__SRC_MSK_ADDR,
/* source mask address */
\
63
__DES_ADDR,
/* target tile address */
\
64
__REGION,
/* region address */
\
65
__OPACITY)
/* opacity */
\
66
arm_2dp_gray8_tile_copy_with_src_mask_and_opacity_only( \
67
NULL, \
68
(__SRC_ADDR), \
69
(__SRC_MSK_ADDR), \
70
(__DES_ADDR), \
71
(__REGION), \
72
(__OPACITY))
73
74
#define arm_2d_rgb565_tile_copy_with_src_mask_and_opacity_only( \
75
__SRC_ADDR,
/* source tile address */
\
76
__SRC_MSK_ADDR,
/* source mask address */
\
77
__DES_ADDR,
/* target tile address */
\
78
__REGION,
/* region address */
\
79
__OPACITY)
/* opacity */
\
80
arm_2dp_rgb565_tile_copy_with_src_mask_and_opacity_only( \
81
NULL, \
82
(__SRC_ADDR), \
83
(__SRC_MSK_ADDR), \
84
(__DES_ADDR), \
85
(__REGION), \
86
(__OPACITY))
87
88
#define arm_2d_cccn888_tile_copy_with_src_mask_and_opacity_only( \
89
__SRC_ADDR,
/* source tile address */
\
90
__SRC_MSK_ADDR,
/* source mask address */
\
91
__DES_ADDR,
/* target tile address */
\
92
__REGION,
/* region address */
\
93
__OPACITY)
/* opacity */
\
94
arm_2dp_cccn888_tile_copy_with_src_mask_and_opacity_only( \
95
NULL, \
96
(__SRC_ADDR), \
97
(__SRC_MSK_ADDR), \
98
(__DES_ADDR), \
99
(__REGION), \
100
(__OPACITY))
101
102
/*============================ TYPES =========================================*/
103
/*============================ GLOBAL VARIABLES ==============================*/
104
/*============================ PROTOTYPES ====================================*/
105
106
107
extern
108
ARM_NONNULL(2,3,4)
109
/*!
110
* \brief copy a source tile to a target tile with a source mask
111
* \param[in] ptOP the control block, NULL means using the default control block
112
* \param[in] ptSource the source tile
113
* \param[in] ptSrcMask the mask on the source side
114
* \param[in] ptTarget the target tile
115
* \param[in] ptRegion the target region
116
* \param[in] chOpacity the opacity
117
* \return arm_fsm_rt_t the operation result
118
*/
119
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_and_opacity_only
(
120
arm_2d_op_src_msk_opc_t
*ptOP,
121
const
arm_2d_tile_t
*ptSource,
122
const
arm_2d_tile_t
*ptSrcMask,
123
const
arm_2d_tile_t
*ptTarget,
124
const
arm_2d_region_t
*ptRegion,
125
uint8_t chOpacity);
126
127
128
extern
129
ARM_NONNULL(2,3,4)
130
/*!
131
* \brief copy a source tile to a target tile with a source mask
132
* \param[in] ptOP the control block, NULL means using the default control block
133
* \param[in] ptSource the source tile
134
* \param[in] ptSrcMask the mask on the source side
135
* \param[in] ptTarget the target tile
136
* \param[in] ptRegion the target region
137
* \param[in] chOpacity the opacity
138
* \return arm_fsm_rt_t the operation result
139
*/
140
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_and_opacity_only
(
141
arm_2d_op_src_msk_opc_t
*ptOP,
142
const
arm_2d_tile_t
*ptSource,
143
const
arm_2d_tile_t
*ptSrcMask,
144
const
arm_2d_tile_t
*ptTarget,
145
const
arm_2d_region_t
*ptRegion,
146
uint8_t chOpacity);
147
148
149
extern
150
ARM_NONNULL(2,3,4)
151
/*!
152
* \brief copy a source tile to a target tile with a source mask
153
* \param[in] ptOP the control block, NULL means using the default control block
154
* \param[in] ptSource the source tile
155
* \param[in] ptSrcMask the mask on the source side
156
* \param[in] ptTarget the target tile
157
* \param[in] ptRegion the target region
158
* \param[in] chOpacity the opacity
159
* \return arm_fsm_rt_t the operation result
160
*/
161
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_and_opacity_only
(
162
arm_2d_op_src_msk_opc_t
*ptOP,
163
const
arm_2d_tile_t
*ptSource,
164
const
arm_2d_tile_t
*ptSrcMask,
165
const
arm_2d_tile_t
*ptTarget,
166
const
arm_2d_region_t
*ptRegion,
167
uint8_t chOpacity);
168
169
/*! @} */
170
171
#if defined(__clang__)
172
# pragma clang diagnostic pop
173
#endif
174
175
#ifdef __cplusplus
176
}
177
#endif
178
179
180
#endif
/* __ARM_2D_TILE_COPY_WITH_MASK_AND_OPACITY_H__ */
Library
Include
__arm_2d_tile_copy_with_source_mask_and_opacity.h