]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/src/ogl/basic2.cpp
non-PCH build fix (according to Tinderbox).
[wxWidgets.git] / contrib / src / ogl / basic2.cpp
index 254d5cd2ee2750bd86f6c0a1618d4d0db2a5adcf..cecd9d3dbf069d39a416153674456cc70204c674 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "basicp.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #endif
 
 #ifndef WX_PRECOMP
 #endif
 
 #ifndef WX_PRECOMP
-#include <wx/wx.h>
+#include "wx/wx.h"
 #endif
 
 #if wxUSE_PROLOGIO
 #endif
 
 #if wxUSE_PROLOGIO
-#include <wx/deprecated/wxexpr.h>
+#include "wx/deprecated/wxexpr.h"
 #endif
 
 #ifdef new
 #endif
 
 #ifdef new
@@ -71,11 +67,11 @@ void wxPolygonShape::Create(wxList *the_points)
   else
   {
       m_originalPoints = the_points;
   else
   {
       m_originalPoints = the_points;
-      
+
       // Duplicate the list of points
       m_points = new wxList;
       // Duplicate the list of points
       m_points = new wxList;
-      
-      wxNode *node = the_points->GetFirst();
+
+      wxObjectList::compatibility_iterator node = the_points->GetFirst();
       while (node)
       {
           wxRealPoint *point = (wxRealPoint *)node->GetData();
       while (node)
       {
           wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -99,12 +95,12 @@ void wxPolygonShape::ClearPoints()
 {
   if (m_points)
   {
 {
   if (m_points)
   {
-    wxNode *node = m_points->GetFirst();
+    wxObjectList::compatibility_iterator node = m_points->GetFirst();
     while (node)
     {
       wxRealPoint *point = (wxRealPoint *)node->GetData();
       delete point;
     while (node)
     {
       wxRealPoint *point = (wxRealPoint *)node->GetData();
       delete point;
-      delete node;
+      m_points->Erase(node);
       node = m_points->GetFirst();
     }
     delete m_points;
       node = m_points->GetFirst();
     }
     delete m_points;
@@ -112,12 +108,12 @@ void wxPolygonShape::ClearPoints()
   }
   if (m_originalPoints)
   {
   }
   if (m_originalPoints)
   {
-    wxNode *node = m_originalPoints->GetFirst();
+    wxObjectList::compatibility_iterator node = m_originalPoints->GetFirst();
     while (node)
     {
       wxRealPoint *point = (wxRealPoint *)node->GetData();
       delete point;
     while (node)
     {
       wxRealPoint *point = (wxRealPoint *)node->GetData();
       delete point;
-      delete node;
+      m_originalPoints->Erase(node);
       node = m_originalPoints->GetFirst();
     }
     delete m_originalPoints;
       node = m_originalPoints->GetFirst();
     }
     delete m_originalPoints;
@@ -141,7 +137,7 @@ void wxPolygonShape::CalculateBoundingBox()
   double top = 10000;
   double bottom = -10000;
 
   double top = 10000;
   double bottom = -10000;
 
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -169,7 +165,7 @@ void wxPolygonShape::CalculatePolygonCentre()
   double top = 10000;
   double bottom = -10000;
 
   double top = 10000;
   double bottom = -10000;
 
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -260,7 +256,7 @@ bool wxPolygonShape::HitTest(double x, double y, int *attachment, double *distan
   int np = m_points->GetCount();
   double *xpoints = new double[np];
   double *ypoints = new double[np];
   int np = m_points->GetCount();
   double *xpoints = new double[np];
   double *ypoints = new double[np];
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   int i = 0;
   while (node)
   {
   int i = 0;
   while (node)
   {
@@ -328,8 +324,8 @@ void wxPolygonShape::SetSize(double new_width, double new_height, bool WXUNUSED(
   double x_proportion = (double)(fabs(new_width/m_originalWidth));
   double y_proportion = (double)(fabs(new_height/m_originalHeight));
 
   double x_proportion = (double)(fabs(new_width/m_originalWidth));
   double y_proportion = (double)(fabs(new_height/m_originalHeight));
 
-  wxNode *node = m_points->GetFirst();
-  wxNode *original_node = m_originalPoints->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator original_node = m_originalPoints->GetFirst();
   while (node && original_node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node && original_node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -352,18 +348,18 @@ void wxPolygonShape::SetSize(double new_width, double new_height, bool WXUNUSED(
 void wxPolygonShape::UpdateOriginalPoints()
 {
   if (!m_originalPoints) m_originalPoints = new wxList;
 void wxPolygonShape::UpdateOriginalPoints()
 {
   if (!m_originalPoints) m_originalPoints = new wxList;
-  wxNode *original_node = m_originalPoints->GetFirst();
+  wxObjectList::compatibility_iterator original_node = m_originalPoints->GetFirst();
   while (original_node)
   {
   while (original_node)
   {
-    wxNode *next_node = original_node->GetNext();
+    wxObjectList::compatibility_iterator next_node = original_node->GetNext();
     wxRealPoint *original_point = (wxRealPoint *)original_node->GetData();
     delete original_point;
     wxRealPoint *original_point = (wxRealPoint *)original_node->GetData();
     delete original_point;
-    delete original_node;
+    m_originalPoints->Erase(original_node);
 
     original_node = next_node;
   }
 
 
     original_node = next_node;
   }
 
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -379,11 +375,11 @@ void wxPolygonShape::UpdateOriginalPoints()
 
 void wxPolygonShape::AddPolygonPoint(int pos)
 {
 
 void wxPolygonShape::AddPolygonPoint(int pos)
 {
-  wxNode *node = m_points->Item(pos);
+  wxObjectList::compatibility_iterator node = m_points->Item(pos);
   if (!node) node = m_points->GetFirst();
   wxRealPoint *firstPoint = (wxRealPoint *)node->GetData();
 
   if (!node) node = m_points->GetFirst();
   wxRealPoint *firstPoint = (wxRealPoint *)node->GetData();
 
-  wxNode *node2 = m_points->Item(pos + 1);
+  wxObjectList::compatibility_iterator node2 = m_points->Item(pos + 1);
   if (!node2) node2 = m_points->GetFirst();
   wxRealPoint *secondPoint = (wxRealPoint *)node2->GetData();
 
   if (!node2) node2 = m_points->GetFirst();
   wxRealPoint *secondPoint = (wxRealPoint *)node2->GetData();
 
@@ -407,12 +403,12 @@ void wxPolygonShape::AddPolygonPoint(int pos)
 
 void wxPolygonShape::DeletePolygonPoint(int pos)
 {
 
 void wxPolygonShape::DeletePolygonPoint(int pos)
 {
-  wxNode *node = m_points->Item(pos);
+  wxObjectList::compatibility_iterator node = m_points->Item(pos);
   if (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
     delete point;
   if (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
     delete point;
-    delete node;
+    m_points->Erase(node);
     UpdateOriginalPoints();
     if (m_selected)
     {
     UpdateOriginalPoints();
     if (m_selected)
     {
@@ -437,7 +433,7 @@ bool wxPolygonShape::GetPerimeterPoint(double x1, double y1,
   {
     // Look for the point we'd be connecting to. This is
     // a heuristic...
   {
     // Look for the point we'd be connecting to. This is
     // a heuristic...
-    wxNode *node = m_points->GetFirst();
+    wxObjectList::compatibility_iterator node = m_points->GetFirst();
     while (node)
     {
       wxRealPoint *point = (wxRealPoint *)node->GetData();
     while (node)
     {
       wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -463,7 +459,7 @@ bool wxPolygonShape::GetPerimeterPoint(double x1, double y1,
   double *xpoints = new double[n];
   double *ypoints = new double[n];
 
   double *xpoints = new double[n];
   double *ypoints = new double[n];
 
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   int i = 0;
   while (node)
   {
   int i = 0;
   while (node)
   {
@@ -541,7 +537,7 @@ void wxPolygonShape::OnDrawOutline(wxDC& dc, double x, double y, double w, doubl
 // Make as many control points as there are vertices.
 void wxPolygonShape::MakeControlPoints()
 {
 // Make as many control points as there are vertices.
 void wxPolygonShape::MakeControlPoints()
 {
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -555,8 +551,8 @@ void wxPolygonShape::MakeControlPoints()
 
 void wxPolygonShape::ResetControlPoints()
 {
 
 void wxPolygonShape::ResetControlPoints()
 {
-  wxNode *node = m_points->GetFirst();
-  wxNode *controlPointNode = m_controlPoints.GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator controlPointNode = m_controlPoints.GetFirst();
   while (node && controlPointNode)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node && controlPointNode)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -582,7 +578,7 @@ void wxPolygonShape::WriteAttributes(wxExpr *clause)
 
   // Make a list of lists for the coordinates
   wxExpr *list = new wxExpr(wxExprList);
 
   // Make a list of lists for the coordinates
   wxExpr *list = new wxExpr(wxExprList);
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -740,7 +736,7 @@ void wxPolygonShape::Copy(wxShape& copy)
   polyCopy.m_points = new wxList;
   polyCopy.m_originalPoints = new wxList;
 
   polyCopy.m_points = new wxList;
   polyCopy.m_originalPoints = new wxList;
 
-  wxNode *node = m_points->GetFirst();
+  wxObjectList::compatibility_iterator node = m_points->GetFirst();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -765,7 +761,7 @@ void wxPolygonShape::Copy(wxShape& copy)
 int wxPolygonShape::GetNumberOfAttachments() const
 {
   int maxN = (m_points ? (m_points->GetCount() - 1) : 0);
 int wxPolygonShape::GetNumberOfAttachments() const
 {
   int maxN = (m_points ? (m_points->GetCount() - 1) : 0);
-  wxNode *node = m_attachmentPoints.GetFirst();
+  wxObjectList::compatibility_iterator node = m_attachmentPoints.GetFirst();
   while (node)
   {
     wxAttachmentPoint *point = (wxAttachmentPoint *)node->GetData();
   while (node)
   {
     wxAttachmentPoint *point = (wxAttachmentPoint *)node->GetData();
@@ -798,7 +794,7 @@ bool wxPolygonShape::AttachmentIsValid(int attachment) const
   if ((attachment >= 0) && (attachment < (int) m_points->GetCount()))
     return true;
 
   if ((attachment >= 0) && (attachment < (int) m_points->GetCount()))
     return true;
 
-  wxNode *node = m_attachmentPoints.GetFirst();
+  wxObjectList::compatibility_iterator node = m_attachmentPoints.GetFirst();
   while (node)
   {
     wxAttachmentPoint *point = (wxAttachmentPoint *)node->GetData();
   while (node)
   {
     wxAttachmentPoint *point = (wxAttachmentPoint *)node->GetData();
@@ -817,7 +813,7 @@ void wxPolygonShape::Rotate(double x, double y, double theta)
     // Rotate attachment points
     double sinTheta = (double)sin(actualTheta);
     double cosTheta = (double)cos(actualTheta);
     // Rotate attachment points
     double sinTheta = (double)sin(actualTheta);
     double cosTheta = (double)cos(actualTheta);
-    wxNode *node = m_attachmentPoints.GetFirst();
+    wxObjectList::compatibility_iterator node = m_attachmentPoints.GetFirst();
     while (node)
     {
         wxAttachmentPoint *point = (wxAttachmentPoint *)node->GetData();
     while (node)
     {
         wxAttachmentPoint *point = (wxAttachmentPoint *)node->GetData();
@@ -1298,7 +1294,7 @@ void wxShape::OnSizingDragLeft(wxControlPoint* pt, bool WXUNUSED(draw), double x
 
   dc.SetLogicalFunction(OGLRBLF);
 
 
   dc.SetLogicalFunction(OGLRBLF);
 
-  wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT);
+  wxPen dottedPen(*wxBLACK, 1, wxDOT);
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
@@ -1433,7 +1429,7 @@ void wxShape::OnSizingBeginDragLeft(wxControlPoint* pt, double x, double y, int
   pt->sm_controlPointDragStartWidth = bound_x;
   pt->sm_controlPointDragStartHeight = bound_y;
 
   pt->sm_controlPointDragStartWidth = bound_x;
   pt->sm_controlPointDragStartHeight = bound_y;
 
-  wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT);
+  wxPen dottedPen(*wxBLACK, 1, wxDOT);
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
@@ -1633,7 +1629,7 @@ void wxPolygonShape::OnSizingDragLeft(wxControlPoint* pt, bool WXUNUSED(draw), d
 
   dc.SetLogicalFunction(OGLRBLF);
 
 
   dc.SetLogicalFunction(OGLRBLF);
 
-  wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT);
+  wxPen dottedPen(*wxBLACK, 1, wxDOT);
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
@@ -1685,7 +1681,7 @@ void wxPolygonShape::OnSizingBeginDragLeft(wxControlPoint* pt, double x, double
 
   if (ppt->m_originalDistance == 0.0) ppt->m_originalDistance = (double) 0.0001;
 
 
   if (ppt->m_originalDistance == 0.0) ppt->m_originalDistance = (double) 0.0001;
 
-  wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT);
+  wxPen dottedPen(*wxBLACK, 1, wxDOT);
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
   dc.SetPen(dottedPen);
   dc.SetBrush((* wxTRANSPARENT_BRUSH));
 
@@ -1774,7 +1770,7 @@ wxShapeRegion::wxShapeRegion()
   m_actualPenObject = NULL;
 }
 
   m_actualPenObject = NULL;
 }
 
-wxShapeRegion::wxShapeRegion(wxShapeRegion& region)
+wxShapeRegion::wxShapeRegion(wxShapeRegion& region):wxObject()
 {
   m_regionText = region.m_regionText;
   m_regionName = region.m_regionName;
 {
   m_regionText = region.m_regionText;
   m_regionName = region.m_regionName;
@@ -1797,7 +1793,7 @@ wxShapeRegion::wxShapeRegion(wxShapeRegion& region)
   m_penColour = region.m_penColour;
 
   ClearText();
   m_penColour = region.m_penColour;
 
   ClearText();
-  wxNode *node = region.m_formattedText.GetFirst();
+  wxObjectList::compatibility_iterator node = region.m_formattedText.GetFirst();
   while (node)
   {
     wxShapeTextLine *line = (wxShapeTextLine *)node->GetData();
   while (node)
   {
     wxShapeTextLine *line = (wxShapeTextLine *)node->GetData();
@@ -1815,13 +1811,13 @@ wxShapeRegion::~wxShapeRegion()
 
 void wxShapeRegion::ClearText()
 {
 
 void wxShapeRegion::ClearText()
 {
-  wxNode *node = m_formattedText.GetFirst();
+  wxObjectList::compatibility_iterator node = m_formattedText.GetFirst();
   while (node)
   {
     wxShapeTextLine *line = (wxShapeTextLine *)node->GetData();
   while (node)
   {
     wxShapeTextLine *line = (wxShapeTextLine *)node->GetData();
-    wxNode *next = node->GetNext();
+    wxObjectList::compatibility_iterator next = node->GetNext();
     delete line;
     delete line;
-    delete node;
+    m_formattedText.Erase(node);
     node = next;
   }
 }
     node = next;
   }
 }