]> git.saurik.com Git - wxWidgets.git/commitdiff
wxShapeRegion::SetText shouldn't append to formatted strings list
authorJulian Smart <julian@anthemion.co.uk>
Fri, 2 Jan 2004 11:56:21 +0000 (11:56 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 2 Jan 2004 11:56:21 +0000 (11:56 +0000)
Addition of accessors to allow an app to do alternate diagram streaming

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

contrib/include/wx/ogl/basic.h
contrib/include/wx/ogl/basicp.h
contrib/include/wx/ogl/lines.h
contrib/src/ogl/basic2.cpp

index 2c2ee175631cd8b4c9e403df43598b04f2828535..5839382e33592dc13cfb3553be44e456697c6d28 100644 (file)
@@ -400,6 +400,7 @@ class WXDLLIMPEXP_OGL wxShape: public wxShapeEvtHandler
                                      int nth = 0, int no_arcs = 1, wxLineShape *line = NULL);
   virtual int GetNumberOfAttachments() const;
   virtual bool AttachmentIsValid(int attachment) const;
+  virtual wxList& GetAttachments() { return m_attachmentPoints; }
 
   // Only get the attachment position at the _edge_ of the shape, ignoring
   // branching mode. This is used e.g. to indicate the edge of interest, not the point
@@ -506,7 +507,8 @@ class WXDLLIMPEXP_OGL wxShape: public wxShapeEvtHandler
 
   // Rotate about the given axis by the given amount in radians.
   virtual void Rotate(double x, double y, double theta);
-  virtual inline double GetRotation() const { return m_rotation; }
+  virtual double GetRotation() const { return m_rotation; }
+  virtual void SetRotation(double rotation) { m_rotation = rotation; }
 
   void ClearAttachments();
 
@@ -629,10 +631,17 @@ class WXDLLIMPEXP_OGL wxPolygonShape: public wxShape
   void Copy(wxShape& copy);
 
   inline wxList *GetPoints() { return m_points; }
+  inline wxList *GetOriginalPoints() { return m_originalPoints; }
 
   // Rotate about the given axis by the given amount in radians
   virtual void Rotate(double x, double y, double theta);
 
+  double GetOriginalWidth() const { return m_originalWidth; }
+  double GetOriginalHeight() const { return m_originalHeight; }
+
+  void SetOriginalWidth(double w) { m_originalWidth = w; }
+  void SetOriginalHeight(double h) { m_originalHeight = h; }
+
  private:
   wxList*       m_points;
   wxList*       m_originalPoints;
@@ -654,6 +663,7 @@ class WXDLLIMPEXP_OGL wxRectangleShape: public wxShape
   void OnDraw(wxDC& dc);
   void SetSize(double x, double y, bool recursive = TRUE);
   void SetCornerRadius(double rad); // If > 0, rounded corners
+  double GetCornerRadius() const { return m_cornerRadius; }
 
 #if wxUSE_PROLOGIO
   void WriteAttributes(wxExpr *clause);
index 5c5b40317a52e6e7e8694bfd499d59c9ce7e4134..6c0e1e8368d65fbd7862424b502d2c905c0088ce 100644 (file)
@@ -138,7 +138,7 @@ class WXDLLIMPEXP_OGL wxShapeRegion: public wxObject
 
   // Accessors
   inline void SetText(const wxString& s)
-    { m_regionText = s; m_formattedText.Append(new wxShapeTextLine(0,0,s));}
+    { m_regionText = s; }
   void SetFont(wxFont *f);
   void SetMinSize(double w, double h);
   void SetSize(double w, double h);
index 4ecf39fd18547978e025057ad9814ee289a792d9..a7f2f96ec05ee7d16955f8174251f42caba80cf0 100644 (file)
@@ -248,6 +248,8 @@ class WXDLLIMPEXP_OGL wxLineShape: public wxShape
   void SetAlignmentType(bool isEnd, int alignType);
   bool GetAlignmentOrientation(bool isEnd);
   int GetAlignmentType(bool isEnd);
+  int GetAlignmentStart() const { return m_alignmentStart; }
+  int GetAlignmentEnd() const { return m_alignmentEnd; }
 
   // Find next control point in line after the start/end point
   // (depending on whether the node object is at start or end)
index b79a6c754570fd19ecaddeb3650c9f3fdc74becf..b65c7df5b21884a5994512eaff0c5e24f739216f 100644 (file)
@@ -63,23 +63,31 @@ void wxPolygonShape::Create(wxList *the_points)
 {
   ClearPoints();
 
-  m_originalPoints = the_points;
-
-  // Duplicate the list of points
-  m_points = new wxList;
-
-  wxNode *node = the_points->GetFirst();
-  while (node)
+  if (!the_points)
   {
-    wxRealPoint *point = (wxRealPoint *)node->GetData();
-    wxRealPoint *new_point = new wxRealPoint(point->x, point->y);
-    m_points->Append((wxObject*) new_point);
-    node = node->GetNext();
+      m_originalPoints = new wxList;
+      m_points = new wxList;
+  }
+  else
+  {
+      m_originalPoints = the_points;
+      
+      // Duplicate the list of points
+      m_points = new wxList;
+      
+      wxNode *node = the_points->GetFirst();
+      while (node)
+      {
+          wxRealPoint *point = (wxRealPoint *)node->GetData();
+          wxRealPoint *new_point = new wxRealPoint(point->x, point->y);
+          m_points->Append((wxObject*) new_point);
+          node = node->GetNext();
+      }
+      CalculateBoundingBox();
+      m_originalWidth = m_boundWidth;
+      m_originalHeight = m_boundHeight;
+      SetDefaultRegionSize();
   }
-  CalculateBoundingBox();
-  m_originalWidth = m_boundWidth;
-  m_originalHeight = m_boundHeight;
-  SetDefaultRegionSize();
 }
 
 wxPolygonShape::~wxPolygonShape()