]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/drawing/drawing.cpp
mention Win9x size limitation
[wxWidgets.git] / samples / drawing / drawing.cpp
index 573ef9c94af7b5f6cb0b96f2201a4225bbff08a0..ac792382f85d0bcfc4ddf011b51f56e87c7572d5 100644 (file)
@@ -150,7 +150,7 @@ public:
     void OnPaint(wxPaintEvent &event);
     void OnMouseMove(wxMouseEvent &event);
 
-    void Show(ScreenToShow show) { m_show = show; Refresh(); }
+    void ToShow(ScreenToShow show) { m_show = show; Refresh(); }
 
     // set or remove the clipping region
     void Clip(bool clip) { m_clip = clip; Refresh(); }
@@ -424,9 +424,25 @@ void MyCanvas::DrawTestPoly(wxDC& dc)
                 _T("hatched"), 10, 10);
     dc.DrawText(_T("except for the central region and the right ")
                 _T("one entirely hatched"), 10, 30);
-
-    dc.DrawPolygon(WXSIZEOF(star), star);
-    dc.DrawPolygon(WXSIZEOF(star), star, 160, 0, wxWINDING_RULE);
+    dc.DrawText(_T("The third star only has a hatched outline"), 10, 50);
+
+    dc.DrawPolygon(WXSIZEOF(star), star, 0, 30);
+    dc.DrawPolygon(WXSIZEOF(star), star, 160, 30, wxWINDING_RULE);
+
+    wxPoint star2[10];
+    star2[0] = wxPoint(0, 100);
+    star2[1] = wxPoint(-59, -81);
+    star2[2] = wxPoint(95, 31);
+    star2[3] = wxPoint(-95, 31);
+    star2[4] = wxPoint(59, -81);
+    star2[5] = wxPoint(0, 80);
+    star2[6] = wxPoint(-47, -64);
+    star2[7] = wxPoint(76, 24);
+    star2[8] = wxPoint(-76, 24);
+    star2[9] = wxPoint(47, -64);
+    int count[2] = {5, 5};
+
+    dc.DrawPolyPolygon(WXSIZEOF(count), count, star2, 450, 150);
 }
 
 void MyCanvas::DrawTestLines( int x, int y, int width, wxDC &dc )
@@ -464,18 +480,27 @@ void MyCanvas::DrawTestLines( int x, int y, int width, wxDC &dc )
 
     dc.DrawText(_T("User dash"), x + 150, y + 140);
     wxPen ud( wxT("black"), width, wxUSER_DASH );
-    wxDash dash1[1];
-    dash1[0] = 0;
-    ud.SetDashes( 1, dash1 );
+    wxDash dash1[6];
+    dash1[0] = 8;  // Long dash  <---------+
+    dash1[1] = 2;  // Short gap            |
+    dash1[2] = 3;  // Short dash           |
+    dash1[3] = 2;  // Short gap            |
+    dash1[4] = 3;  // Short dash           |
+    dash1[5] = 2;  // Short gap and repeat +
+    ud.SetDashes( 6, dash1 );
+    dc.SetPen( ud );
     dc.DrawLine( x+20, y+140, 100, y+140 );
-    dash1[0] = 1;
-    ud.SetDashes( 1, dash1 );
+    dash1[0] = 5;  // Make first dash shorter
+    ud.SetDashes( 6, dash1 );
+    dc.SetPen( ud );
     dc.DrawLine( x+20, y+150, 100, y+150 );
-    dash1[0] = 2;
-    ud.SetDashes( 1, dash1 );
+    dash1[2] = 5;  // Make second dash longer
+    ud.SetDashes( 6, dash1 );
+    dc.SetPen( ud );
     dc.DrawLine( x+20, y+160, 100, y+160 );
-    dash1[0] = 0x7F;
-    ud.SetDashes( 1, dash1 );
+    dash1[4] = 5;  // Make third dash longer
+    ud.SetDashes( 6, dash1 );
+    dc.SetPen( ud );
     dc.DrawLine( x+20, y+170, 100, y+170 );
 }
 
@@ -1132,7 +1157,7 @@ void MyFrame::OnClip(wxCommandEvent& event)
 
 void MyFrame::OnShow(wxCommandEvent& event)
 {
-    m_canvas->Show((ScreenToShow)(event.GetId() - MenuShow_First));
+    m_canvas->ToShow((ScreenToShow)(event.GetId() - MenuShow_First));
 }
 
 void MyFrame::OnOption(wxCommandEvent& event)
@@ -1253,3 +1278,4 @@ wxColour MyFrame::SelectColour()
 
     return col;
 }
+