35#include "arm_2d_types.h"
37#include "arm_2d_tile.h"
38#include "arm_2d_draw.h"
39#include "arm_2d_conversion.h"
40#include "arm_2d_alpha_blending.h"
41#include "arm_2d_transform.h"
42#include "arm_2d_filter.h"
51# pragma clang diagnostic push
52# pragma clang diagnostic ignored "-Wunknown-warning-option"
53# pragma clang diagnostic ignored "-Wreserved-identifier"
54# pragma clang diagnostic ignored "-Wgnu-variable-sized-type-not-at-end"
55# pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
56# pragma clang diagnostic ignored "-Wgnu-statement-expression"
57# pragma clang diagnostic ignored "-Wextra-semi-stmt"
58# pragma clang diagnostic ignored "-Wcompound-token-split-by-macro"
59# pragma clang diagnostic ignored "-Winitializer-overrides"
60# pragma clang diagnostic ignored "-Wgcc-compat"
61# pragma clang diagnostic ignored "-Wgnu-empty-initializer"
62# pragma clang diagnostic ignored "-Wshadow"
63# pragma clang diagnostic ignored "-Wconditional-uninitialized"
64# pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
65# pragma clang diagnostic ignored "-Wc23-extensions"
66# pragma clang diagnostic ignored "-Wunused-value"
67# pragma clang diagnostic ignored "-Wbad-function-cast"
68# pragma clang diagnostic ignored "-Wundef"
69#elif __IS_COMPILER_GCC__
70# pragma GCC diagnostic ignored "-Wpedantic"
71# pragma GCC diagnostic ignored "-Wmissing-braces"
72# pragma GCC diagnostic ignored "-Wunused-value"
73# pragma GCC diagnostic ignored "-Wnonnull-compare"
74# pragma GCC diagnostic ignored "-Wunused-but-set-variable"
75# pragma GCC diagnostic ignored "-Wunused-const-variable"
76#elif __IS_COMPILER_ARM_COMPILER_5__
77# pragma diag_suppress 1296,174,64,177,1
78#elif __IS_COMPILER_IAR__
79# pragma diag_suppress=Pa029,Pe301,Pe174,Pe191,Pe177,Pe546
90#define ARM_2D_VERSION_MAJOR 1
91#define ARM_2D_VERSION_MINOR 2
92#define ARM_2D_VERSION_PATCH 6
93#define ARM_2D_VERSION_STR "dev"
99#define ARM_2D_VERSION ( ARM_2D_VERSION_MAJOR * 10000ul \
100 + ARM_2D_VERSION_MINOR * 100ul \
101 + ARM_2D_VERSION_PATCH)
105#define ARM_2D_OP_INIT(__OP) \
106 arm_2d_op_init((arm_2d_op_core_t *)&(__OP), sizeof(__OP))
107#define ARM_2D_OP_DEPOSE(__OP) \
108 arm_2d_op_depose((arm_2d_op_core_t *)&(__OP), sizeof(__OP))
115#define ARM_2D_OP_WAIT_ASYNC(...) \
116 arm_2d_op_wait_async((arm_2d_op_core_t *)(NULL,##__VA_ARGS__))
247 arm_2d_op_wait_async();
248 arm_2d_op_status_t tStatus = arm_2d_get_op_status();
249 if (tStatus.bIOError) {
252 } else if (tStatus.bOpCpl) {
257 \param ptOP the address of the target OP (NULL means using the default OP)
258 \return arm_2d_op_status_t the operation status
315 uint16_t hwItemCount,
316 uint16_t hwAlignment,