#include "state_tracker/graw.h"




struct pipe_screen *
graw_create_window_and_screen( int x,
                               int y,
                               unsigned width,
                               unsigned height,
                               enum pipe_format format,
                               void **handle)
{
   return NULL;
}



void 
graw_set_display_func( void (*draw)( void ) )
{
}


void
graw_main_loop( void )
{
}
