00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00039 #include "draw_tests.h"
00040 #include "pic_serial.h"
00041 #include "draw\draw.h"
00042 #include "draw\ea_bitmaps.h"
00043 #include "config.h"
00044
00045
00046 uns8 draw_tests_run(uns8 test_num) {
00047
00048 uns8 test_result;
00049 test_result = TEST_RESULT_RAN;
00050 draw_clear_screen();
00051
00052 switch (test_num) {
00053 case 0:
00054 serial_print_str("0:Top left pixel\n");
00055 draw_set_pixel(0, DRAW_TOP_PIXEL_Y, 1);
00056 break;
00057
00058 case 1:
00059 serial_print_str("1:Top right pixel\n");
00060 draw_set_pixel(DRAW_PIXELS_WIDE - 1, DRAW_TOP_PIXEL_Y, 1);
00061 break;
00062
00063 case 2:
00064 serial_print_str("2:Bottom right pixel\n");
00065 draw_set_pixel(DRAW_PIXELS_WIDE - 1, DRAW_BOTTOM_PIXEL_Y, 1);
00066 break;
00067
00068 case 3:
00069 serial_print_str("3:Bottom left pixel\n");
00070 draw_set_pixel(0, DRAW_BOTTOM_PIXEL_Y, 1);
00071 break;
00072
00073 case 4:
00074 serial_print_str("4:Full screen colour 1\n");
00075 draw_rect(0, DRAW_TOP_PIXEL_Y, DRAW_PIXELS_WIDE, DRAW_PIXELS_HIGH, 1);
00076 break;
00077
00078 case 5:
00079 #if DRAW_BITS_PER_PIXEL > 1
00080 serial_print_str("5:Full screen colour 2\n");
00081 draw_rect(0, DRAW_TOP_PIXEL_Y, DRAW_PIXELS_WIDE, DRAW_PIXELS_HIGH, 2);
00082 #else
00083 serial_print_str("5:Not applicable\n");
00084 test_result = TEST_RESULT_NOT_APPLICABLE;
00085 #endif
00086 break;
00087
00088 case 6:
00089 #if DRAW_BITS_PER_PIXEL > 1
00090 serial_print_str("6:Full screen colour 3\n");
00091 draw_rect(0, DRAW_TOP_PIXEL_Y, DRAW_PIXELS_WIDE, DRAW_PIXELS_HIGH, 3);
00092 #else
00093 serial_print_str("6:Not applicable\n");
00094 test_result = TEST_RESULT_NOT_APPLICABLE;
00095 #endif
00096 break;
00097
00098 case 7:
00099 serial_print_str("7:Circle\n");
00100
00101 #if DRAW_PIXELS_WIDE > DRAW_PIXELS_HIGH
00102 #define TEST_RADIUS DRAW_PIXELS_HIGH / 2 -1
00103 #else
00104 #define TEST_RADIUS DRAW_PIXELS_WIDE / 2 -1
00105 #endif
00106 draw_circle2(DRAW_PIXELS_WIDE / 2 -1, DRAW_PIXELS_HIGH / 2 -1, TEST_RADIUS, 1);
00107 break;
00108
00109 case 8:
00110 serial_print_str("8:Rect 1 pixel from edges colour 1\n");
00111 #if DRAW_TOP_PIXEL_Y == 0
00112 draw_rect(1, DRAW_TOP_PIXEL_Y + 1, DRAW_PIXELS_WIDE -2, DRAW_PIXELS_HIGH -2, 1);
00113 #else
00114 draw_rect(1, DRAW_TOP_PIXEL_Y - 1, DRAW_PIXELS_WIDE -2, DRAW_PIXELS_HIGH -2, 1);
00115 #endif
00116 break;
00117
00118 case 9:
00119 #if DRAW_BITS_PER_PIXEL > 1
00120 serial_print_str("9:Rect 1 pixel from edges colour 2\n");
00121 #if DRAW_TOP_PIXEL_Y == 0
00122 draw_rect(1, DRAW_TOP_PIXEL_Y + 1, DRAW_PIXELS_WIDE -2, DRAW_PIXELS_HIGH -2, 2);
00123 #else
00124 draw_rect(1, DRAW_TOP_PIXEL_Y - 1, DRAW_PIXELS_WIDE -2, DRAW_PIXELS_HIGH -2, 2);
00125 #endif
00126 #else
00127 serial_print_str("9:Not applicable\n");
00128 test_result = TEST_RESULT_NOT_APPLICABLE;
00129 #endif
00130 break;
00131
00132 case 10:
00133 #if DRAW_BITS_PER_PIXEL > 1
00134 serial_print_str("10:Rect 1 pixel from edges colour 3\n");
00135 #if DRAW_TOP_PIXEL_Y == 0
00136 draw_rect(1, DRAW_TOP_PIXEL_Y + 1, DRAW_PIXELS_WIDE -2, DRAW_PIXELS_HIGH -2, 3);
00137 #else
00138 draw_rect(1, DRAW_TOP_PIXEL_Y - 1, DRAW_PIXELS_WIDE -2, DRAW_PIXELS_HIGH -2, 3);
00139 #endif
00140 #else
00141 serial_print_str("10:Not applicable\n");
00142 test_result = TEST_RESULT_NOT_APPLICABLE;
00143 #endif
00144 break;
00145
00146 case 11:
00147 serial_print_str("11:Lines around edges\n");
00148 draw_line(0, DRAW_TOP_PIXEL_Y, 0, DRAW_BOTTOM_PIXEL_Y, 3);
00149 draw_line(DRAW_PIXELS_WIDE - 1, DRAW_TOP_PIXEL_Y, DRAW_PIXELS_WIDE - 1, DRAW_BOTTOM_PIXEL_Y, 3);
00150 draw_line(0, DRAW_TOP_PIXEL_Y, DRAW_PIXELS_WIDE - 1, DRAW_TOP_PIXEL_Y, 3);
00151 draw_line(0, DRAW_BOTTOM_PIXEL_Y, DRAW_PIXELS_WIDE - 1, DRAW_BOTTOM_PIXEL_Y, 3);
00152 break;
00153 case 12:
00154 serial_print_str("12:Static Text\n");
00155 draw_print_str(0, DRAW_BOTTOM_PIXEL_Y, DRAW_PIXELS_WIDE, 0, 1, "EmbeddedAdventures");
00156 break;
00157 case 13:
00158 serial_print_str("13: 8 pixel high bitmaps\n");
00159 draw_bitmap(0, DRAW_TOP_PIXEL_Y, 1, &embedded_bitmap);
00160 #if DRAW_PIXELS_HIGH > 15
00161 #if DRAW_TOP_PIXEL_Y == 0
00162 draw_bitmap(0, DRAW_TOP_PIXEL_Y + 8, 2, &adventures_bitmap);
00163 #else
00164 draw_bitmap(0, DRAW_TOP_PIXEL_Y - 8, 2, &adventures_bitmap);
00165 #endif
00166 #endif
00167 break;
00168
00169 case 14:
00170 #if DRAW_PIXELS_HIGH > 15
00171 serial_print_str("14: 16 pixel high bitmaps\n");
00172 draw_bitmap(DRAW_PIXELS_WIDE / 2 - 17 , DRAW_TOP_PIXEL_Y, 1, &e_bitmap);
00173 draw_bitmap(DRAW_PIXELS_WIDE / 2, DRAW_TOP_PIXEL_Y, 2, &a_bitmap);
00174 #else
00175 serial_print_str("14:Not applicable\n");
00176 #endif
00177 break;
00178 case 15:
00179 #if DRAW_PIXELS_HIGH > 31
00180 serial_print_str("15: 32 pixel high bitmaps\n");
00181 draw_bitmap(0 , DRAW_TOP_PIXEL_Y, 1, &e_big_bitmap);
00182 draw_bitmap(29, DRAW_TOP_PIXEL_Y, 2, &a_big_bitmap);
00183 #else
00184 serial_print_str("15:Not applicable\n");
00185 #endif
00186 break;
00187
00188 default:
00189 test_result = TEST_RESULT_NO_MORE_TESTS;
00190
00191 }
00192 draw_paint();
00193 return test_result;
00194 }
00195
00196