00046 {
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 }