virtual void on_mouse_button_down(int x, int y, unsigned flags)
 {
     if(flags & agg::mouse_left)
     {
         if(m_quad1.on_mouse_button_down(x, y) ||
            m_quad2.on_mouse_button_down(x, y) )
         {
             force_redraw();
         }
     }
 }
    virtual void on_mouse_button_down(int x, int y, unsigned flags)
    {
        if(flags & agg::mouse_left)
        {
            if(m_quad.on_mouse_button_down(x, y))
            {
                force_redraw();
            }
            else
            {
                start_timer();
                m_test_flag = true;
                on_draw();
                on_draw();
                on_draw();
                on_draw();
                char buf[100];
                sprintf(buf, "time=%.3f", elapsed_time());
                m_test_flag = false;
                force_redraw();
                message(buf);
            }

        }
    }