draw_tests.c File Reference

Routines to test the Draw graphics functions. More...

Include dependency graph for draw_tests.c:

Defines

#define TEST_RADIUS   DRAW_PIXELS_WIDE / 2 -1

Functions

uns8 draw_tests_run (uns8 test_num)

Detailed Description


Define Documentation

#define TEST_RADIUS   DRAW_PIXELS_WIDE / 2 -1

Function Documentation

uns8 draw_tests_run ( uns8  test_num  ) 

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                 // circle 2 is centred mid-pixel, good for even number of pixels
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);  // Left side
00149                 draw_line(DRAW_PIXELS_WIDE - 1, DRAW_TOP_PIXEL_Y, DRAW_PIXELS_WIDE - 1, DRAW_BOTTOM_PIXEL_Y, 3);    // right side
00150                 draw_line(0, DRAW_TOP_PIXEL_Y, DRAW_PIXELS_WIDE - 1, DRAW_TOP_PIXEL_Y, 3);  // top
00151                 draw_line(0, DRAW_BOTTOM_PIXEL_Y, DRAW_PIXELS_WIDE - 1, DRAW_BOTTOM_PIXEL_Y, 3);    // top
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 }

Here is the call graph for this function:


Generated on Fri Aug 19 09:04:57 2011 for Pic Pack Library by  doxygen 1.6.1