]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/src/ogl/oglmisc.cpp
wxPalette unified. Source cleaning.
[wxWidgets.git] / contrib / src / ogl / oglmisc.cpp
index 9b575499d59ec7377f5fc883e2011309dbc04b4b..9904941314b434652afd244fecf6447e135a43a4 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "misc.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -220,7 +216,7 @@ void oglCentreText(wxDC& dc, wxList *text_list,
   // Store text extents for speed
   double *widths = new double[n];
 
-  wxNode *current = text_list->GetFirst();
+  wxObjectList::compatibility_iterator current = text_list->GetFirst();
   int i = 0;
   while (current)
   {
@@ -282,7 +278,7 @@ void oglCentreText(wxDC& dc, wxList *text_list,
     i ++;
   }
 
-  delete widths;
+  delete[] widths;
 }
 
 // Centre a list of strings in the given box
@@ -303,7 +299,7 @@ void oglCentreTextNoClipping(wxDC& dc, wxList *text_list,
   // Store text extents for speed
   double *widths = new double[n];
 
-  wxNode *current = text_list->GetFirst();
+  wxObjectList::compatibility_iterator current = text_list->GetFirst();
   int i = 0;
   while (current)
   {
@@ -359,7 +355,7 @@ void oglGetCentredTextExtent(wxDC& dc, wxList *text_list,
   long max_width = 0;
   long current_width = 0;
 
-  wxNode *current = text_list->GetFirst();
+  wxObjectList::compatibility_iterator current = text_list->GetFirst();
   while (current)
   {
     wxShapeTextLine *line = (wxShapeTextLine *)current->GetData();
@@ -383,7 +379,7 @@ wxStringList *oglFormatText(wxDC& dc, const wxString& text, double width, double
 
   // Make new lines into NULL strings at this point
   int i = 0; int j = 0; int len = text.Length();
-  wxChar word[200]; word[0] = 0;
+  wxChar word[400]; word[0] = 0;
   bool end_word = false; bool new_line = false;
   while (i < len)
   {
@@ -444,15 +440,15 @@ wxStringList *oglFormatText(wxDC& dc, const wxString& text, double width, double
   wxStringList *string_list = new wxStringList;
 
   wxString buffer;
-  wxStringListNode *node = word_list.GetFirst();
+  wxStringList::compatibility_iterator node = word_list.GetFirst();
   long x, y;
 
   while (node)
   {
     wxString oldBuffer(buffer);
 
-    wxChar *s = (wxChar *)node->GetData();
-    if (!s)
+    wxString s = node->GetData();
+    if (s.empty())
     {
       // FORCE NEW LINE
       if (buffer.Length() > 0)
@@ -507,7 +503,7 @@ void oglDrawFormattedText(wxDC& dc, wxList *text_list,
                     (long)(m_xpos - width/2.0), (long)(m_ypos - height/2.0),
                     (long)width+1, (long)height+1); // +1 to allow for rounding errors
 
-  wxNode *current = text_list->GetFirst();
+  wxObjectList::compatibility_iterator current = text_list->GetFirst();
   while (current)
   {
     wxShapeTextLine *line = (wxShapeTextLine *)current->GetData();
@@ -529,7 +525,7 @@ void oglFindPolylineCentroid(wxList *points, double *x, double *y)
   double xcount = 0;
   double ycount = 0;
 
-  wxNode *node = points->GetFirst();
+  wxObjectList::compatibility_iterator node = points->GetFirst();
   while (node)
   {
     wxRealPoint *point = (wxRealPoint *)node->GetData();
@@ -807,7 +803,7 @@ void UpdateListBox(wxListBox *item, wxList *list)
   if (!list)
     return;
 
-  wxNode *node = list->GetFirst();
+  wxObjectList::compatibility_iterator node = list->GetFirst();
   while (node)
   {
     wxChar *s = (wxChar *)node->GetData();
@@ -871,10 +867,12 @@ wxColour oglHexToColour(const wxString& hex)
         hex.Mid(0,2).ToLong(&r, 16);
         hex.Mid(2,2).ToLong(&g, 16);
         hex.Mid(4,2).ToLong(&b, 16);
-        return wxColour(r, g, b);
+        return wxColour((unsigned char)r,
+                        (unsigned char)g,
+                        (unsigned char)b);
     }
     else
-        return wxColour(0,0,0);
+        return *wxBLACK;
 }
 
 // RGB to 3-digit hex