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#elif defined(__IS_COMPILER_ARM_COMPILER_5__)
76# pragma diag_suppress 1296,174,64,177,1
87#define ARM_2D_VERSION_MAJOR 1
88#define ARM_2D_VERSION_MINOR 2
89#define ARM_2D_VERSION_PATCH 1
90#define ARM_2D_VERSION_STR "dev"
96#define ARM_2D_VERSION ( ARM_2D_VERSION_MAJOR * 10000ul \
97 + ARM_2D_VERSION_MINOR * 100ul \
98 + ARM_2D_VERSION_PATCH)
102#define ARM_2D_OP_INIT(__OP) \
103 arm_2d_op_init((arm_2d_op_core_t *)&(__OP), sizeof(__OP))
104#define ARM_2D_OP_DEPOSE(__OP) \
105 arm_2d_op_depose((arm_2d_op_core_t *)&(__OP), sizeof(__OP))
112#define ARM_2D_OP_WAIT_ASYNC(...) \
113 arm_2d_op_wait_async((arm_2d_op_core_t *)(NULL,##__VA_ARGS__))
244 arm_2d_op_wait_async();
245 arm_2d_op_status_t tStatus = arm_2d_get_op_status();
246 if (tStatus.bIOError) {
249 } else if (tStatus.bOpCpl) {
254 \param ptOP the address of the target OP (NULL means using the default OP)
255 \return arm_2d_op_status_t the operation status
312 uint16_t hwItemCount,
313 uint16_t hwAlignment,