30#ifndef __ARM_2D_TILE_H__
31#define __ARM_2D_TILE_H__
34#include "arm_2d_types.h"
46#define arm_2d_c8bit_tile_copy_with_colour_masking \
47 arm_2d_c8bit_tile_copy_with_colour_keying
49#define arm_2d_rgb16_tile_copy_with_colour_masking \
50 arm_2d_rgb16_tile_copy_with_colour_keying
52#define arm_2d_rgb32_tile_copy_with_colour_masking \
53 arm_2d_rgb32_tile_copy_with_colour_keying
62#define arm_2d_c8bit_tile_copy( __SRC_ADDR, \
66 arm_2dp_c8bit_tile_copy(NULL, \
69 (__DES_REGION_ADDR), \
72#define arm_2d_rgb16_tile_copy( __SRC_ADDR, \
76 arm_2dp_rgb16_tile_copy(NULL, \
79 (__DES_REGION_ADDR), \
82#define arm_2d_rgb32_tile_copy( __SRC_ADDR, \
86 arm_2dp_rgb32_tile_copy(NULL, \
89 (__DES_REGION_ADDR), \
92#define arm_2d_c8bit_tile_copy_only( \
96 arm_2dp_c8bit_tile_copy_only(NULL, \
101#define arm_2d_rgb16_tile_copy_only( \
105 arm_2dp_rgb16_tile_copy_only(NULL, \
110#define arm_2d_rgb32_tile_copy_only( \
114 arm_2dp_rgb32_tile_copy_only(NULL, \
119#define arm_2d_c8bit_tile_copy_with_x_mirror( \
123 arm_2dp_c8bit_tile_copy_with_x_mirror( \
129#define arm_2d_rgb16_tile_copy_with_x_mirror( \
133 arm_2dp_rgb16_tile_copy_with_x_mirror( \
139#define arm_2d_rgb32_tile_copy_with_x_mirror( \
143 arm_2dp_rgb32_tile_copy_with_x_mirror( \
149#define arm_2d_c8bit_tile_copy_with_y_mirror( \
153 arm_2dp_c8bit_tile_copy_with_y_mirror( \
159#define arm_2d_rgb16_tile_copy_with_y_mirror( \
163 arm_2dp_rgb16_tile_copy_with_y_mirror( \
169#define arm_2d_rgb32_tile_copy_with_y_mirror( \
173 arm_2dp_rgb32_tile_copy_with_y_mirror( \
179#define arm_2d_c8bit_tile_copy_with_xy_mirror( \
183 arm_2dp_c8bit_tile_copy_with_xy_mirror( \
189#define arm_2d_rgb16_tile_copy_with_xy_mirror( \
193 arm_2dp_rgb16_tile_copy_with_xy_mirror( \
199#define arm_2d_rgb32_tile_copy_with_xy_mirror( \
203 arm_2dp_rgb32_tile_copy_with_xy_mirror( \
209#define arm_2d_c8bit_tile_fill_only( \
213 arm_2dp_c8bit_tile_fill_only(NULL, \
218#define arm_2d_rgb16_tile_fill_only( \
222 arm_2dp_rgb16_tile_fill_only(NULL, \
227#define arm_2d_rgb32_tile_fill_only( \
231 arm_2dp_rgb32_tile_fill_only(NULL, \
236#define arm_2d_c8bit_tile_fill_with_x_mirror( \
240 arm_2dp_c8bit_tile_fill_with_x_mirror( \
246#define arm_2d_rgb16_tile_fill_with_x_mirror( \
250 arm_2dp_rgb16_tile_fill_with_x_mirror( \
256#define arm_2d_rgb32_tile_fill_with_x_mirror( \
260 arm_2dp_rgb32_tile_fill_with_x_mirror( \
266#define arm_2d_c8bit_tile_fill_with_y_mirror( \
270 arm_2dp_c8bit_tile_fill_with_y_mirror( \
276#define arm_2d_rgb16_tile_fill_with_y_mirror( \
280 arm_2dp_rgb16_tile_fill_with_y_mirror( \
286#define arm_2d_rgb32_tile_fill_with_y_mirror( \
290 arm_2dp_rgb32_tile_fill_with_y_mirror( \
296#define arm_2d_c8bit_tile_fill_with_xy_mirror( \
300 arm_2dp_c8bit_tile_fill_with_xy_mirror( \
306#define arm_2d_rgb16_tile_fill_with_xy_mirror( \
310 arm_2dp_rgb16_tile_fill_with_xy_mirror( \
316#define arm_2d_rgb32_tile_fill_with_xy_mirror( \
320 arm_2dp_rgb32_tile_fill_with_xy_mirror( \
326#define arm_2d_c8bit_tile_copy_with_colour_keying( \
332 arm_2dp_c8bit_tile_copy_with_colour_keying( \
336 (__DES_REGION_ADDR), \
341#define arm_2d_rgb16_tile_copy_with_colour_keying( \
347 arm_2dp_rgb16_tile_copy_with_colour_keying( \
351 (__DES_REGION_ADDR), \
355#define arm_2d_rgb32_tile_copy_with_colour_keying( \
361 arm_2dp_rgb32_tile_copy_with_colour_keying( \
365 (__DES_REGION_ADDR), \
369#define arm_2d_c8bit_tile_copy_with_colour_keying_only( \
374 arm_2dp_c8bit_tile_copy_with_colour_keying_only( \
378 (__DES_REGION_ADDR), \
382#define arm_2d_rgb16_tile_copy_with_colour_keying_only( \
387 arm_2dp_rgb16_tile_copy_with_colour_keying_only( \
391 (__DES_REGION_ADDR), \
394#define arm_2d_rgb32_tile_copy_with_colour_keying_only( \
399 arm_2dp_rgb32_tile_copy_with_colour_keying_only( \
403 (__DES_REGION_ADDR), \
407#define arm_2d_c8bit_tile_copy_with_colour_keying_and_x_mirror( \
412 arm_2dp_c8bit_tile_copy_with_colour_keying_and_x_mirror( \
416 (__DES_REGION_ADDR), \
419#define arm_2d_rgb16_tile_copy_with_colour_keying_and_x_mirror( \
424 arm_2dp_rgb16_tile_copy_with_colour_keying_and_x_mirror( \
428 (__DES_REGION_ADDR), \
431#define arm_2d_rgb32_tile_copy_with_colour_keying_and_x_mirror( \
436 arm_2dp_rgb32_tile_copy_with_colour_keying_and_x_mirror( \
440 (__DES_REGION_ADDR), \
443#define arm_2d_c8bit_tile_copy_with_colour_keying_and_y_mirror( \
448 arm_2dp_c8bit_tile_copy_with_colour_keying_and_y_mirror( \
452 (__DES_REGION_ADDR), \
455#define arm_2d_rgb16_tile_copy_with_colour_keying_and_y_mirror( \
460 arm_2dp_rgb16_tile_copy_with_colour_keying_and_y_mirror( \
464 (__DES_REGION_ADDR), \
467#define arm_2d_rgb32_tile_copy_with_colour_keying_and_y_mirror( \
472 arm_2dp_rgb32_tile_copy_with_colour_keying_and_y_mirror( \
476 (__DES_REGION_ADDR), \
479#define arm_2d_c8bit_tile_copy_with_colour_keying_and_xy_mirror( \
484 arm_2dp_c8bit_tile_copy_with_colour_keying_and_xy_mirror( \
488 (__DES_REGION_ADDR), \
491#define arm_2d_rgb16_tile_copy_with_colour_keying_and_xy_mirror( \
496 arm_2dp_rgb16_tile_copy_with_colour_keying_and_xy_mirror( \
500 (__DES_REGION_ADDR), \
503#define arm_2d_rgb32_tile_copy_with_colour_keying_and_xy_mirror( \
508 arm_2dp_rgb32_tile_copy_with_colour_keying_and_xy_mirror( \
512 (__DES_REGION_ADDR), \
515#define arm_2d_c8bit_tile_fill_with_colour_keying_only( \
520 arm_2dp_c8bit_tile_fill_with_colour_keying_only( \
524 (__DES_REGION_ADDR), \
528#define arm_2d_rgb16_tile_fill_with_colour_keying_only( \
533 arm_2dp_rgb16_tile_fill_with_colour_keying_only( \
537 (__DES_REGION_ADDR), \
540#define arm_2d_rgb32_tile_fill_with_colour_keying_only( \
545 arm_2dp_rgb32_tile_fill_with_colour_keying_only( \
549 (__DES_REGION_ADDR), \
553#define arm_2d_c8bit_tile_fill_with_colour_keying_and_x_mirror( \
558 arm_2dp_c8bit_tile_fill_with_colour_keying_and_x_mirror( \
562 (__DES_REGION_ADDR), \
565#define arm_2d_rgb16_tile_fill_with_colour_keying_and_x_mirror( \
570 arm_2dp_rgb16_tile_fill_with_colour_keying_and_x_mirror( \
574 (__DES_REGION_ADDR), \
577#define arm_2d_rgb32_tile_fill_with_colour_keying_and_x_mirror( \
582 arm_2dp_rgb32_tile_fill_with_colour_keying_and_x_mirror( \
586 (__DES_REGION_ADDR), \
589#define arm_2d_c8bit_tile_fill_with_colour_keying_and_y_mirror( \
594 arm_2dp_c8bit_tile_fill_with_colour_keying_and_y_mirror( \
598 (__DES_REGION_ADDR), \
601#define arm_2d_rgb16_tile_fill_with_colour_keying_and_y_mirror( \
606 arm_2dp_rgb16_tile_fill_with_colour_keying_and_y_mirror( \
610 (__DES_REGION_ADDR), \
613#define arm_2d_rgb32_tile_fill_with_colour_keying_and_y_mirror( \
618 arm_2dp_rgb32_tile_fill_with_colour_keying_and_y_mirror( \
622 (__DES_REGION_ADDR), \
625#define arm_2d_c8bit_tile_fill_with_colour_keying_and_xy_mirror( \
630 arm_2dp_c8bit_tile_fill_with_colour_keying_and_xy_mirror( \
634 (__DES_REGION_ADDR), \
637#define arm_2d_rgb16_tile_fill_with_colour_keying_and_xy_mirror( \
642 arm_2dp_rgb16_tile_fill_with_colour_keying_and_xy_mirror( \
646 (__DES_REGION_ADDR), \
649#define arm_2d_rgb32_tile_fill_with_colour_keying_and_xy_mirror( \
654 arm_2dp_rgb32_tile_fill_with_colour_keying_and_xy_mirror( \
658 (__DES_REGION_ADDR), \
687#define __arm_2d_get_address_and_region_from_tile( __TILE_PTR, \
688 __VALID_REGION_NAME, \
689 __LOCATION_OFFSET_PTR, \
692 arm_2d_region_t __VALID_REGION_NAME; \
693 assert(NULL != (__TILE_PTR)); \
694 __TYPE *(__BUF_PTR_NAME) = NULL; \
696 (__TILE_PTR) = arm_2d_tile_get_root((__TILE_PTR), \
697 &__VALID_REGION_NAME, \
698 __LOCATION_OFFSET_PTR); \
700 if (NULL != (__TILE_PTR)) { \
701 (__BUF_PTR_NAME) = ((__TYPE *)((__TILE_PTR)->pchBuffer)) \
702 + (__TILE_PTR)->tRegion.tSize.iWidth * \
703 __VALID_REGION_NAME.tLocation.iY \
704 + __VALID_REGION_NAME.tLocation.iX; \
708#define arm_2d_get_address_and_region_from_tile(__TILE_PTR, \
709 __VALID_REGION_NAME, \
710 __LOCATION_OFFSET_PTR, \
713 __arm_2d_get_address_and_region_from_tile( __TILE_PTR, \
714 __VALID_REGION_NAME, \
715 __LOCATION_OFFSET_PTR, \
720#define __arm_2d_get_address_and_region_from_tile_with_mirroring( \
722 __VALID_REGION_NAME, \
723 __LOCATION_OFFSET_PTR, \
727 arm_2d_region_t __VALID_REGION_NAME; \
728 assert(NULL != (__TILE_PTR)); \
729 __TYPE *(__BUF_PTR_NAME) = NULL; \
731 (__TILE_PTR) = arm_2d_tile_get_root((__TILE_PTR), \
732 &__VALID_REGION_NAME, \
733 __LOCATION_OFFSET_PTR); \
735 if (NULL != (__TILE_PTR)) { \
736 arm_2d_location_t tOffset = __VALID_REGION_NAME.tLocation; \
737 if ((__MODE) & ARM_2D_CP_MODE_X_MIRROR) { \
740 if ((__MODE) & ARM_2D_CP_MODE_Y_MIRROR) { \
743 (__BUF_PTR_NAME) = ((__TYPE *)((__TILE_PTR)->pchBuffer)) \
744 + (__TILE_PTR)->tRegion.tSize.iWidth * tOffset.iY \
749#define arm_2d_get_address_and_region_from_tile_with_mirroring( \
751 __VALID_REGION_NAME, \
752 __LOCATION_OFFSET_PTR, \
756 __arm_2d_get_address_and_region_from_tile_with_mirroring( \
758 __VALID_REGION_NAME, \
759 __LOCATION_OFFSET_PTR, \
765#define arm_2d_tile_width_compare(__target_tile_ptr, __ref_tile_ptr, ...) \
766 __arm_2d_tile_width_compare((__target_tile_ptr), \
768 (true, ##__VA_ARGS__))
770#define arm_2d_tile_height_compare(__target_tile_ptr, __ref_tile_ptr, ...) \
771 __arm_2d_tile_height_compare((__target_tile_ptr), \
773 (true, ##__VA_ARGS__))
775#define arm_2dp_c8bit_tile_fill( __OPCODE_PTR, \
781 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
782 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
783 & ARM_2D_CP_MODE_XY_MIRROR) { \
784 case ARM_2D_CP_MODE_NO_MIRROR: \
785 tResult = arm_2dp_c8bit_tile_fill_only( \
791 case ARM_2D_CP_MODE_X_MIRROR: \
792 tResult = arm_2dp_c8bit_tile_fill_with_x_mirror( \
798 case ARM_2D_CP_MODE_Y_MIRROR: \
799 tResult = arm_2dp_c8bit_tile_fill_with_y_mirror( \
805 case ARM_2D_CP_MODE_XY_MIRROR: \
806 tResult = arm_2dp_c8bit_tile_fill_with_xy_mirror( \
816#define arm_2d_c8bit_tile_fill( __SOURCE_ADDR, \
820 arm_2dp_c8bit_tile_fill(NULL, \
826#define arm_2dp_rgb16_tile_fill( __OPCODE_PTR, \
832 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
833 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
834 & ARM_2D_CP_MODE_XY_MIRROR) { \
835 case ARM_2D_CP_MODE_NO_MIRROR: \
836 tResult = arm_2dp_rgb16_tile_fill_only( \
842 case ARM_2D_CP_MODE_X_MIRROR: \
843 tResult = arm_2dp_rgb16_tile_fill_with_x_mirror( \
849 case ARM_2D_CP_MODE_Y_MIRROR: \
850 tResult = arm_2dp_rgb16_tile_fill_with_y_mirror( \
856 case ARM_2D_CP_MODE_XY_MIRROR: \
857 tResult = arm_2dp_rgb16_tile_fill_with_xy_mirror( \
867#define arm_2d_rgb16_tile_fill( __SOURCE_ADDR, \
871 arm_2dp_rgb16_tile_fill(NULL, \
877#define arm_2dp_rgb32_tile_fill( __OPCODE_PTR, \
883 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
884 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
885 & ARM_2D_CP_MODE_XY_MIRROR) { \
886 case ARM_2D_CP_MODE_NO_MIRROR: \
887 tResult = arm_2dp_rgb32_tile_fill_only( \
893 case ARM_2D_CP_MODE_X_MIRROR: \
894 tResult = arm_2dp_rgb32_tile_fill_with_x_mirror( \
900 case ARM_2D_CP_MODE_Y_MIRROR: \
901 tResult = arm_2dp_rgb32_tile_fill_with_y_mirror( \
907 case ARM_2D_CP_MODE_XY_MIRROR: \
908 tResult = arm_2dp_rgb32_tile_fill_with_xy_mirror( \
918#define arm_2d_rgb32_tile_fill( __SOURCE_ADDR, \
922 arm_2dp_rgb32_tile_fill(NULL, \
939#define arm_2dp_c8bit_tile_copy( __OPCODE_PTR, \
945 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
946 if ((ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) & ARM_2D_CP_MODE_FILL) { \
947 tResult = arm_2dp_c8bit_tile_fill( \
954 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
955 & ARM_2D_CP_MODE_XY_MIRROR) { \
956 case ARM_2D_CP_MODE_NO_MIRROR: \
957 tResult = arm_2dp_c8bit_tile_copy_only( \
963 case ARM_2D_CP_MODE_X_MIRROR: \
964 tResult = arm_2dp_c8bit_tile_copy_with_x_mirror( \
970 case ARM_2D_CP_MODE_Y_MIRROR: \
971 tResult = arm_2dp_c8bit_tile_copy_with_y_mirror( \
977 case ARM_2D_CP_MODE_XY_MIRROR: \
978 tResult = arm_2dp_c8bit_tile_copy_with_xy_mirror( \
1000#define arm_2dp_rgb16_tile_copy( __OPCODE_PTR, \
1006 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1007 if ((ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) & ARM_2D_CP_MODE_FILL) { \
1008 tResult = arm_2dp_rgb16_tile_fill( \
1015 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1016 & ARM_2D_CP_MODE_XY_MIRROR) { \
1017 case ARM_2D_CP_MODE_NO_MIRROR: \
1018 tResult = arm_2dp_rgb16_tile_copy_only( \
1024 case ARM_2D_CP_MODE_X_MIRROR: \
1025 tResult = arm_2dp_rgb16_tile_copy_with_x_mirror( \
1031 case ARM_2D_CP_MODE_Y_MIRROR: \
1032 tResult = arm_2dp_rgb16_tile_copy_with_y_mirror( \
1038 case ARM_2D_CP_MODE_XY_MIRROR: \
1039 tResult = arm_2dp_rgb16_tile_copy_with_xy_mirror( \
1061#define arm_2dp_rgb32_tile_copy( __OPCODE_PTR, \
1067 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1068 if ((ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) & ARM_2D_CP_MODE_FILL) { \
1069 tResult = arm_2dp_rgb32_tile_fill( \
1076 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1077 & ARM_2D_CP_MODE_XY_MIRROR) { \
1078 case ARM_2D_CP_MODE_NO_MIRROR: \
1079 tResult = arm_2dp_rgb32_tile_copy_only( \
1085 case ARM_2D_CP_MODE_X_MIRROR: \
1086 tResult = arm_2dp_rgb32_tile_copy_with_x_mirror( \
1092 case ARM_2D_CP_MODE_Y_MIRROR: \
1093 tResult = arm_2dp_rgb32_tile_copy_with_y_mirror( \
1099 case ARM_2D_CP_MODE_XY_MIRROR: \
1100 tResult = arm_2dp_rgb32_tile_copy_with_xy_mirror( \
1127#define arm_2dp_c8bit_tile_fill_with_colour_keying( \
1135 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1136 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1137 & ARM_2D_CP_MODE_XY_MIRROR) { \
1138 case ARM_2D_CP_MODE_NO_MIRROR: \
1139 tResult = arm_2dp_c8bit_tile_fill_with_colour_keying_only( \
1146 case ARM_2D_CP_MODE_X_MIRROR: \
1147 tResult = arm_2dp_c8bit_tile_fill_with_colour_keying_and_x_mirror( \
1154 case ARM_2D_CP_MODE_Y_MIRROR: \
1155 tResult = arm_2dp_c8bit_tile_fill_with_colour_keying_and_y_mirror( \
1162 case ARM_2D_CP_MODE_XY_MIRROR: \
1163 tResult = arm_2dp_c8bit_tile_fill_with_colour_keying_and_xy_mirror( \
1174#define arm_2d_c8bit_tile_fill_with_colour_keying( \
1180 arm_2dp_c8bit_tile_fill_with_colour_keying(NULL, \
1199#define arm_2dp_rgb16_tile_fill_with_colour_keying( \
1207 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1208 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1209 & ARM_2D_CP_MODE_XY_MIRROR) { \
1210 case ARM_2D_CP_MODE_NO_MIRROR: \
1211 tResult = arm_2dp_rgb16_tile_fill_with_colour_keying_only( \
1218 case ARM_2D_CP_MODE_X_MIRROR: \
1219 tResult = arm_2dp_rgb16_tile_fill_with_colour_keying_and_x_mirror( \
1226 case ARM_2D_CP_MODE_Y_MIRROR: \
1227 tResult = arm_2dp_rgb16_tile_fill_with_colour_keying_and_y_mirror( \
1234 case ARM_2D_CP_MODE_XY_MIRROR: \
1235 tResult = arm_2dp_rgb16_tile_fill_with_colour_keying_and_xy_mirror( \
1246#define arm_2d_rgb16_tile_fill_with_colour_keying( \
1252 arm_2dp_rgb16_tile_fill_with_colour_keying(NULL, \
1273#define arm_2dp_rgb32_tile_fill_with_colour_keying( \
1281 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1282 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1283 & ARM_2D_CP_MODE_XY_MIRROR) { \
1284 case ARM_2D_CP_MODE_NO_MIRROR: \
1285 tResult = arm_2dp_rgb32_tile_fill_with_colour_keying_only( \
1292 case ARM_2D_CP_MODE_X_MIRROR: \
1293 tResult = arm_2dp_rgb32_tile_fill_with_colour_keying_and_x_mirror( \
1300 case ARM_2D_CP_MODE_Y_MIRROR: \
1301 tResult = arm_2dp_rgb32_tile_fill_with_colour_keying_and_y_mirror( \
1308 case ARM_2D_CP_MODE_XY_MIRROR: \
1309 tResult = arm_2dp_rgb32_tile_fill_with_colour_keying_and_xy_mirror( \
1320#define arm_2d_rgb32_tile_fill_with_colour_keying( \
1326 arm_2dp_rgb32_tile_fill_with_colour_keying(NULL, \
1345#define arm_2dp_c8bit_tile_copy_with_colour_keying( \
1353 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1354 if ((ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) & ARM_2D_CP_MODE_FILL) { \
1355 tResult = arm_2dp_c8bit_tile_fill_with_colour_keying( \
1363 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1364 & ARM_2D_CP_MODE_XY_MIRROR) { \
1365 case ARM_2D_CP_MODE_NO_MIRROR: \
1366 tResult = arm_2dp_c8bit_tile_copy_with_colour_keying_only( \
1373 case ARM_2D_CP_MODE_X_MIRROR: \
1375 arm_2dp_c8bit_tile_copy_with_colour_keying_and_x_mirror( \
1382 case ARM_2D_CP_MODE_Y_MIRROR: \
1384 arm_2dp_c8bit_tile_copy_with_colour_keying_and_y_mirror( \
1391 case ARM_2D_CP_MODE_XY_MIRROR: \
1393 arm_2dp_c8bit_tile_copy_with_colour_keying_and_xy_mirror( \
1417#define arm_2dp_rgb16_tile_copy_with_colour_keying( \
1425 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1426 if ((ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) & ARM_2D_CP_MODE_FILL) { \
1427 tResult = arm_2dp_rgb16_tile_fill_with_colour_keying( \
1435 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1436 & ARM_2D_CP_MODE_XY_MIRROR) { \
1437 case ARM_2D_CP_MODE_NO_MIRROR: \
1438 tResult = arm_2dp_rgb16_tile_copy_with_colour_keying_only( \
1445 case ARM_2D_CP_MODE_X_MIRROR: \
1447 arm_2dp_rgb16_tile_copy_with_colour_keying_and_x_mirror( \
1454 case ARM_2D_CP_MODE_Y_MIRROR: \
1456 arm_2dp_rgb16_tile_copy_with_colour_keying_and_y_mirror( \
1463 case ARM_2D_CP_MODE_XY_MIRROR: \
1465 arm_2dp_rgb16_tile_copy_with_colour_keying_and_xy_mirror( \
1489#define arm_2dp_rgb32_tile_copy_with_colour_keying( \
1497 arm_fsm_rt_t tResult = (arm_fsm_rt_t)ARM_2D_ERR_UNKNOWN; \
1498 if ((ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) & ARM_2D_CP_MODE_FILL) { \
1499 tResult = arm_2dp_rgb32_tile_fill_with_colour_keying( \
1507 switch ( (ARM_2D_CP_MODE_NO_MIRROR, ##__VA_ARGS__) \
1508 & ARM_2D_CP_MODE_XY_MIRROR) { \
1509 case ARM_2D_CP_MODE_NO_MIRROR: \
1510 tResult = arm_2dp_rgb32_tile_copy_with_colour_keying_only( \
1517 case ARM_2D_CP_MODE_X_MIRROR: \
1519 arm_2dp_rgb32_tile_copy_with_colour_keying_and_x_mirror( \
1526 case ARM_2D_CP_MODE_Y_MIRROR: \
1528 arm_2dp_rgb32_tile_copy_with_colour_keying_and_y_mirror( \
1535 case ARM_2D_CP_MODE_XY_MIRROR: \
1537 arm_2dp_rgb32_tile_copy_with_colour_keying_and_xy_mirror( \
1589 return ptTile->tInfo.bIsRoot;
1744 bool bQuitWhenFindVirtualScreen);
1765 bool bQuitWhenFindVirtualScreen);
1821 bool bValidateBeforeReturn);
1851 bool bOnVirtualScreen);
1864 bool bClipBeforeCompare);
1876 bool bClipBeforeCompare);
1929 uint_fast8_t chBytesPerPixel);
1939 ARM_2D_CP_MODE_COPY = 0,
1940 ARM_2D_CP_MODE_FILL = _BV(0),
1941 ARM_2D_CP_MODE_NO_MIRROR = 0,
1942 ARM_2D_CP_MODE_Y_MIRROR = _BV(2),
1943 ARM_2D_CP_MODE_X_MIRROR = _BV(3),
1944 ARM_2D_CP_MODE_XY_MIRROR = ARM_2D_CP_MODE_X_MIRROR |
1945 ARM_2D_CP_MODE_Y_MIRROR,
2401 uint8_t chMaskColour);
2422 uint16_t hwMaskColour);
2443 uint32_t wMaskColour);
2466 uint8_t chMaskColour);
2487 uint16_t hwMaskColour);
2508 uint32_t wMaskColour);
2532 uint8_t chMaskColour);
2553 uint16_t hwMaskColour);
2574 uint32_t wMaskColour);
2597 uint8_t chMaskColour);
2618 uint16_t hwMaskColour);
2639 uint32_t wMaskColour);
2663 uint8_t chMaskColour);
2684 uint16_t hwMaskColour);
2705 uint32_t wMaskColour);
2728 uint8_t chMaskColour);
2749 uint16_t hwMaskColour);
2770 uint32_t wMaskColour);
2793 uint8_t chMaskColour);
2814 uint16_t hwMaskColour);
2836 uint32_t wMaskColour);
2859 uint8_t chMaskColour);
2880 uint16_t hwMaskColour);
2901 uint32_t wMaskColour);