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"
48# pragma clang diagnostic ignored "-Wpadded"
59#define arm_2dp_c8bit_draw_point arm_2dp_gray8_draw_point
60#define arm_2dp_rgb16_draw_point arm_2dp_rgb565_draw_point
61#define arm_2dp_rgb32_draw_point arm_2dp_cccn888_draw_point
63#define arm_2d_c8bit_draw_point(__TARGET_ADDR, \
66 arm_2dp_gray8_draw_point(NULL, \
72#define arm_2d_rgb16_draw_point(__TARGET_ADDR, \
75 arm_2dp_rgb565_draw_point(NULL, \
81#define arm_2d_rgb32_draw_point(__TARGET_ADDR, \
84 arm_2dp_cccn888_draw_point(NULL, \
90#define arm_2d_gray8_draw_point(__TARGET_ADDR, \
94 arm_2dp_gray8_draw_point(NULL, \
100#define arm_2d_rgb565_draw_point(__TARGET_ADDR, \
104 arm_2dp_rgb565_draw_point(NULL, \
110#define arm_2d_cccn888_draw_point(__TARGET_ADDR, \
114 arm_2dp_cccn888_draw_point(NULL, \
121#define arm_2d_c8bit_draw_pattern( __PATTERN_ADDR, \
127 arm_2dp_c8bit_draw_pattern(NULL, \
135#define arm_2d_rgb16_draw_pattern( __PATTERN_ADDR, \
141 arm_2dp_rgb16_draw_pattern(NULL, \
149#define arm_2d_rgb32_draw_pattern( __PATTERN_ADDR, \
155 arm_2dp_rgb32_draw_pattern(NULL, \
163#define arm_2d_c8bit_fill_colour( __TARGET_ADDR, \
166 arm_2dp_c8bit_fill_colour(NULL, \
171#define arm_2d_rgb16_fill_colour( __TARGET_ADDR, \
174 arm_2dp_rgb16_fill_colour(NULL, \
179#define arm_2d_rgb32_fill_colour( __TARGET_ADDR, \
182 arm_2dp_rgb32_fill_colour(NULL, \
290 uint_fast8_t chColour)
292 assert(NULL != ptTarget);
293 assert(ptTarget->bIsRoot);
294 assert(tLocation.iX < ptTarget->tRegion.tSize.iWidth);
295 assert(tLocation.iY < ptTarget->tRegion.tSize.iHeight);
297 uint8_t *pchPoint = ptTarget->pchBuffer
298 + tLocation.iY * ptTarget->tRegion.tSize.iWidth
300 *pchPoint = (uint8_t)chColour;
314 uint_fast16_t hwColour)
316 assert(NULL != ptTarget);
317 assert(ptTarget->bIsRoot);
318 assert(tLocation.iX < ptTarget->tRegion.tSize.iWidth);
319 assert(tLocation.iY < ptTarget->tRegion.tSize.iHeight);
321 uint16_t *phwPoint = ptTarget->phwBuffer
322 + tLocation.iY * ptTarget->tRegion.tSize.iWidth
324 *phwPoint = (uint16_t)hwColour;
340 assert(NULL != ptTarget);
341 assert(ptTarget->bIsRoot);
342 assert(tLocation.iX < ptTarget->tRegion.tSize.iWidth);
343 assert(tLocation.iY < ptTarget->tRegion.tSize.iHeight);
345 uint32_t *pwPoint = ptTarget->pwBuffer
346 + tLocation.iY * ptTarget->tRegion.tSize.iWidth
372 uint_fast8_t chColour,
396 uint_fast16_t hwColour,
455 uint8_t chForeColour,
456 uint8_t chBackColour);
476 uint16_t hwForeColour,
477 uint16_t hwBackColour);
497 uint32_t wForeColour,
498 uint32_t wBackColour);
517 uint_fast8_t chColour);
532 uint_fast16_t hwColour);
552#if defined(__clang__)
553# pragma clang diagnostic pop