31#ifndef __ARM_2D_DRAW_H__
32#define __ARM_2D_DRAW_H__
36#include "arm_2d_types.h"
43# pragma clang diagnostic push
44# pragma clang diagnostic ignored "-Wunknown-warning-option"
45# pragma clang diagnostic ignored "-Wreserved-identifier"
46# pragma clang diagnostic ignored "-Wdeclaration-after-statement"
47# pragma clang diagnostic ignored "-Wsign-conversion"
58#define arm_2d_c8bit_draw_point(__TARGET_ADDR, \
61 arm_2dp_c8bit_draw_point(NULL, \
66#define arm_2d_rgb16_draw_point(__TARGET_ADDR, \
69 arm_2dp_rgb16_draw_point(NULL, \
74#define arm_2d_rgb32_draw_point(__TARGET_ADDR, \
77 arm_2dp_rgb32_draw_point(NULL, \
83#define arm_2d_c8bit_draw_pattern( __PATTERN_ADDR, \
89 arm_2dp_c8bit_draw_pattern(NULL, \
97#define arm_2d_rgb16_draw_pattern( __PATTERN_ADDR, \
103 arm_2dp_rgb16_draw_pattern(NULL, \
111#define arm_2d_rgb32_draw_pattern( __PATTERN_ADDR, \
117 arm_2dp_rgb32_draw_pattern(NULL, \
125#define arm_2d_c8bit_fill_colour( __TARGET_ADDR, \
128 arm_2dp_c8bit_fill_colour(NULL, \
133#define arm_2d_rgb16_fill_colour( __TARGET_ADDR, \
136 arm_2dp_rgb16_fill_colour(NULL, \
141#define arm_2d_rgb32_fill_colour( __TARGET_ADDR, \
144 arm_2dp_rgb32_fill_colour(NULL, \
237 uint_fast8_t chColour)
239 assert(NULL != ptTarget);
240 assert(ptTarget->bIsRoot);
241 assert(tLocation.iX < ptTarget->tRegion.tSize.iWidth);
242 assert(tLocation.iY < ptTarget->tRegion.tSize.iHeight);
244 uint8_t *pchPoint = ptTarget->pchBuffer
245 + tLocation.iY * ptTarget->tRegion.tSize.iWidth
247 *pchPoint = (uint8_t)chColour;
261 uint_fast16_t hwColour)
263 assert(NULL != ptTarget);
264 assert(ptTarget->bIsRoot);
265 assert(tLocation.iX < ptTarget->tRegion.tSize.iWidth);
266 assert(tLocation.iY < ptTarget->tRegion.tSize.iHeight);
268 uint16_t *phwPoint = ptTarget->phwBuffer
269 + tLocation.iY * ptTarget->tRegion.tSize.iWidth
271 *phwPoint = (uint16_t)hwColour;
287 assert(NULL != ptTarget);
288 assert(ptTarget->bIsRoot);
289 assert(tLocation.iX < ptTarget->tRegion.tSize.iWidth);
290 assert(tLocation.iY < ptTarget->tRegion.tSize.iHeight);
292 uint32_t *pwPoint = ptTarget->pwBuffer
293 + tLocation.iY * ptTarget->tRegion.tSize.iWidth
318 uint_fast8_t chColour);
340 uint_fast16_t hwColour);
368arm_fsm_rt_t arm_2d_rgba8888_draw_point(const
arm_2d_tile_t *ptTarget,
396 uint8_t chForeColour,
397 uint8_t chBackColour);
417 uint16_t hwForeColour,
418 uint16_t hwBackColour);
438 uint32_t wForeColour,
439 uint32_t wBackColour);
458 uint_fast8_t chColour);
473 uint_fast16_t hwColour);
493#if defined(__clang__)
494# pragma clang diagnostic pop