]> git.defcon.no Git - avrfbosd/blobdiff - fbosd.c
Added support for drawing 8bpp images... Updated demo a bit...
[avrfbosd] / fbosd.c
diff --git a/fbosd.c b/fbosd.c
index 6b96e9bfc4432e38127ccc634400fb27065f111c..075fa8042f86d55aef59278286aa5ba28abf56c0 100644 (file)
--- a/fbosd.c
+++ b/fbosd.c
@@ -7,7 +7,9 @@
 #include "video_properties.h"
 #include "render.h"
 #include "draw.h"
-#include "font.h"
+
+//#include "font.h"
+#include "testimage.h"
 
 void (*line_handler)( void );
 
@@ -139,7 +141,8 @@ int main(void)
        // Enable interrupts globally.
        sei();
 
-/*     
+       int counter;
+       
        // Do some static drawing :P
        set_pixel(28, 8, 1);
        set_pixel(92, 82, 1);
@@ -147,57 +150,70 @@ int main(void)
        set_pixel(92, 8, 1);
        set_pixel(28, 82, 1);
 
-       draw_line(0, 0, 128, 92, 1);
-       draw_line(128, 0, 0, 92, 1);
+       draw_line(0, 0, 128, 92, c_WHITE);
+       draw_line(128, 0, 0, 92, c_WHITE);
 
-       draw_rect( 0, 1, 127, 91, 1);
+       draw_rect( 0, 1, 127, 91, c_WHITE);
 
-       draw_rect( 34, 21, 60, 50, 1);
-       _draw_rect( 24, 11, 80, 70, 1, -1);
-       draw_rect( 34, 21, 60, 50, 1);
+       draw_rect( 34, 21, 60, 50, c_WHITE);
+       _draw_rect( 24, 11, 80, 70, 1, c_NONE);
+       draw_rect( 34, 21, 60, 50, c_WHITE);
 
-       fill_circle( 64,46, 45, 1 );
-       fill_circle( 64,46, 40, 0 );
+       fill_circle( 64,46, 45, c_WHITE );
+       fill_circle( 64,46, 40, c_BLACK );
 
-       _draw_circle( 64,46, 35, 1, -1 );
-       draw_circle( 64,46, 30, 1 );
-       fill_rect( 38, 25, 52, 42, 1);
-       fill_rect( 41, 28, 46, 36, 0);
+       _draw_circle( 64,46, 35, 1, c_NONE );
+       draw_circle( 64,46, 30, c_WHITE );
+       fill_rect( 38, 25, 52, 42, c_WHITE);
+       fill_rect( 41, 28, 46, 36, c_BLACK);
 
-       for (;;)
+       for (counter = 0; counter < 3; counter++)
        {
                // Toggle status LED
                PORTD ^= (uint8_t)(1 << PD6);
                
                for ( int j = 0; j < 92; j++ )
                {
-                       draw_line(0,0,128,j, 2);
-                       draw_line(128,0,0,j, 2);
-                       draw_line(0,92,128,92-j, 2);
-                       draw_line(128,92,0,92-j, 2);
+                       draw_line(0,0,128,j, c_INVERT);
+                       draw_line(128,0,0,j, c_INVERT);
+                       draw_line(0,92,128,92-j, c_INVERT);
+                       draw_line(128,92,0,92-j, c_INVERT);
 
                        Delay_ms(2);
 
                }
                for ( int j = 0; j < 92; j++ )
                {
-                       draw_line(0,0,128,j, 2);
-                       draw_line(128,0,0,j, 2);
-                       draw_line(0,92,128,92-j, 2);
-                       draw_line(128,92,0,92-j, 2);
+                       draw_line(0,0,128,j, c_INVERT);
+                       draw_line(128,0,0,j, c_INVERT);
+                       draw_line(0,92,128,92-j, c_INVERT);
+                       draw_line(128,92,0,92-j, c_INVERT);
 
                        Delay_ms(2);
 
                }
                Delay_ms(250);
        }
-*/     
+       fill(c_BLACK);
        
+       int8_t hp = 10;
+       int8_t vp = 10;
+       
+       for (counter = 0; counter < 100; counter++)
+       {
+               hp += 2;
+               vp += 1;
+               
+               if ( hp > 125 ) hp = 10;
+               if ( vp > VRES ) vp = 10;
+
+               pgm_draw_8bpp_bitmap(hp, vp, testimage_width, testimage_height, testimage);
+               Delay_ms(10);
+               fill_rect(hp, vp, testimage_width, testimage_height, 0);
+       }
        for (;;)
        {
-       
        }
+       
 }
 
-
-