]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/samples/canvas/test/test.cpp
added QueryRawValue() to wxRegKey and test code for it in the sample
[wxWidgets.git] / contrib / samples / canvas / test / test.cpp
index 83d6eb70142942a1899f1ccb7cca87d603b22edd..d9e9199a98cbe58e9f6e1b72d7963b9f4f54462d 100644 (file)
@@ -52,27 +52,25 @@ MywxCanvasImage::MywxCanvasImage( const wxImage &image, double x, double y, doub
 
 void MywxCanvasImage::OnMouse(wxMouseEvent &event)
 {
-    static bool first=false;
     static int dx=0;
     static int dy=0;
 
     int x = event.GetX();
     int y = event.GetY();
-    if (event.m_leftDown)
-    {   if (!first)
-        {
-           first=true;
-           dx=x;
-           dy=y;
-        }
-        Move(m_area.x+x-dx,m_area.y+y-dy);
+    if (event.LeftDown())
+    {   
+        dx=x;
+        dy=y;
         CaptureMouse();
+    } 
+    else if (event.LeftUp())
+    {
+        ReleaseMouse();
     }
     else if (IsCapturedMouse())
     {
-        ReleaseMouse();
-        first=false;
-        dx=0;dy=0;
+        Move(m_area.x+x-dx,m_area.y+y-dy);
+        m_owner->UpdateNow();
     }
 }
 
@@ -97,29 +95,27 @@ MywxCanvasObjectGroupRef::MywxCanvasObjectGroupRef(double x, double y,wxCanvasOb
 
 void MywxCanvasObjectGroupRef::OnMouse(wxMouseEvent &event)
 {
-    static bool first=false;
-    static dx=0;
-    static dy=0;
+    static int dx=0;
+    static int dy=0;
 
     //new position of object
     int x = m_owner->GetDeviceX( event.GetX());
     int y = m_owner->GetDeviceY( event.GetY());
 
-    if (event.m_leftDown)
-    {   if (!first)
-        {
-           first=true;
-           dx=x;
-           dy=y;
-        }
-        Move(m_x+x-dx,m_y+y-dy);
+    if (event.LeftDown())
+    {   
+        dx=x;
+        dy=y;
         CaptureMouse();
+    } 
+    else if (event.LeftUp())
+    {
+        ReleaseMouse();
     }
     else if (IsCapturedMouse())
     {
-        ReleaseMouse();
-        first=false;
-        dx=0;dy=0;
+        Move(m_x+x-dx,m_y+y-dy);
+        m_owner->UpdateNow();
     }
 }
 
@@ -188,7 +184,7 @@ END_EVENT_TABLE()
 
 MyFrame::MyFrame()
        : wxFrame( (wxFrame *)NULL, -1, "wxCanvas sample",
-                  wxPoint(20,20), wxSize(470,860) )
+                  wxPoint(20,20), wxSize(470,460) )
 {
     wxMenu *file_menu = new wxMenu();
     file_menu->Append( ID_ABOUT, "&About...");
@@ -206,37 +202,47 @@ MyFrame::MyFrame()
 
     m_canvas = new wxCanvas( this, -1, wxPoint(0,0), wxSize(10,10) );
 
-    m_canvas->SetArea( 1400, 600 );
+    m_canvas->SetArea( 1000,1000 );
     m_canvas->SetColour( 255, 255, 255 );
 
 
     wxBitmap bitmap( smile_xpm );
     wxImage image( bitmap );
 
-    m_sm1 = new wxCanvasImage( image, 0,70,16,16 );
+    m_sm1 = new wxCanvasImage( image, 0,70,32,32 );
     m_canvas->Append( m_sm1 );
 
     int i;
     for (i = 10; i < 300; i+=10)
-        m_canvas->Append( new wxCanvasRect( i,50,3,140, 255,0,0 ) );
+    {
+        wxCanvasRect *r = new wxCanvasRect( i,50,3,140 );
+        r->SetBrush( *wxRED_BRUSH );
+        m_canvas->Append( r );
+    }
 
     m_sm2 = new wxCanvasImage( image, 0,140,24,24 );
     m_canvas->Append( m_sm2 );
 
     for (i = 15; i < 300; i+=10)
-        m_canvas->Append( new wxCanvasRect( i,50,3,140, 255,0,0 ) );
+        m_canvas->Append( new wxCanvasRect( i,50,3,140 ) );
 
     wxButton *button = new wxButton( m_canvas, -1, "Hello", wxPoint(80,50) );
     m_canvas->Append( new wxCanvasControl( button ) );
 
-    m_canvas->Append( new wxCanvasText( "Hello", 180, 50,
-                      wxGetApp().GetFontPath() + "/times.ttf", 20 ) );
+    m_canvas->Append( new wxCanvasText( "How are you?", 180, 10,
+                      wxGetApp().GetFontPath() + "/times.ttf", 8 ) );
+
+    m_canvas->Append( new wxCanvasText( "How are you?", 180, 20,
+                      wxGetApp().GetFontPath() + "/times.ttf", 10 ) );
+
+    m_canvas->Append( new wxCanvasText( "How are you?", 180, 30,
+                      wxGetApp().GetFontPath() + "/times.ttf", 12 ) );
 
     m_sm3 = new wxCanvasImage( image, 0,210,32,32 );
     m_canvas->Append( m_sm3 );
 
     for (i = 10; i < 300; i+=10)
-        m_canvas->Append( new wxCanvasLine( 10,-15,i,300, 0,255,0 ) );
+        m_canvas->Append( new wxCanvasLine( 10,-15,i,300 ) );
 
     m_sm4 = new MywxCanvasImage( image, 0,270,64,32 );
     m_canvas->Append( m_sm4 );
@@ -245,13 +251,12 @@ MyFrame::MyFrame()
 //    m_canvas->Append( new wxCanvasLine( 10,-1500e6,50,300000e6, 0,255,0 ) );
 //    m_canvas->Append( new wxCanvasLine( 10,-150000,50,300000, 0,255,0 ) );
 
+/*
     //make a group of wxCanvasObjects
     wxCanvasObjectGroup* group1 = new wxCanvasObjectGroup();
-    group1->Prepend( new wxCanvasLine( 10,-35,50,190,100,255,0 ) );
+    group1->Prepend( new wxCanvasLine( 10,-35,50,190 ) );
     group1->Prepend( new wxCanvasImage( image, 4,38,32,32 ) );
     group1->Prepend( new wxCanvasRect(20,-20,50,170,0,20,240 ) );
-    group1->Prepend( new wxCanvasRect(10,20,104,52,0,240,240 ) );
-
 
     //make another group of wxCanvasObjects
     wxCanvasObjectGroup* group2 = new wxCanvasObjectGroup();
@@ -268,7 +273,7 @@ MyFrame::MyFrame()
 
     m_ref2 = new MywxCanvasObjectGroupRef(80,350, group1);
     m_canvas->Prepend( m_ref2 );
-
+*/
 
     m_log = new wxTextCtrl( this, -1, "", wxPoint(0,0), wxSize(100,100), wxTE_MULTILINE );
     wxLog *old_log = wxLog::SetActiveTarget( new wxLogTextCtrl( m_log ) );
@@ -302,9 +307,11 @@ void MyFrame::OnTimer( wxTimerEvent &WXUNUSED(event) )
     m_sm2->Move( m_sm2->GetX()+1, m_sm2->GetY() );
     m_sm3->Move( m_sm3->GetX()+1, m_sm3->GetY() );
     m_sm4->Move( m_sm4->GetX()+2, m_sm4->GetY() );
+/*
     m_ref->Move( m_ref->GetPosX()+1, m_ref->GetPosY() );
     m_ref2->Move( m_ref2->GetPosX()+2, m_ref2->GetPosY() );
-
+*/
+    
     wxWakeUpIdle();
 }