]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/ogl/basic.h
Updates to MIME-types and wxFileDialog code for better
[wxWidgets.git] / contrib / include / wx / ogl / basic.h
index d447693dfaa134376cf4ca0413f6ac4ef06a783a..8a2debc068ead22757fb2c886c7bb87a1a955903 100644 (file)
 #ifndef _OGL_BASIC_H_
 #define _OGL_BASIC_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "basic.h"
 #endif
 
+#ifndef wxUSE_DEPRECATED
+#define wxUSE_DEPRECATED 1
+#endif
+
+#if wxUSE_DEPRECATED
+#include <wx/deprecated/setup.h>
+#endif
+
 #define OGL_VERSION     2.0
 
 #ifndef DEFAULT_MOUSE_TOLERANCE
 #define DEFAULT_MOUSE_TOLERANCE 3
 #endif
 
-// Edit these lines if you positively don't want PROLOGIO support
-#ifndef PROLOGIO
-#define PROLOGIO
-#endif
-
 // Key identifiers
 #define KEY_SHIFT 1
 #define KEY_CTRL  2
@@ -110,7 +113,7 @@ class wxControlPoint;
 class wxShapeRegion;
 class wxShape;
 
-#ifdef PROLOGIO
+#if wxUSE_PROLOGIO
 class WXDLLEXPORT wxExpr;
 class WXDLLEXPORT wxExprDatabase;
 #endif
@@ -124,7 +127,7 @@ class WXDLLEXPORT wxExprDatabase;
 
 
 
-class wxShapeEvtHandler: public wxObject
+class WXDLLIMPEXP_OGL wxShapeEvtHandler: public wxObject, public wxClientDataContainer
 {
  DECLARE_DYNAMIC_CLASS(wxShapeEvtHandler)
 
@@ -182,14 +185,14 @@ class wxShapeEvtHandler: public wxObject
 
   // Does the copy - override for new event handlers which might store
   // app-specific data.
-  virtual void CopyData(wxShapeEvtHandler& copy) {};
+  virtual void CopyData(wxShapeEvtHandler& WXUNUSED(copy)) {};
 
  private:
   wxShapeEvtHandler*    m_previousHandler;
   wxShape*              m_handlerShape;
 };
 
-class wxShape: public wxShapeEvtHandler
+class WXDLLIMPEXP_OGL wxShape: public wxShapeEvtHandler
 {
  DECLARE_ABSTRACT_CLASS(wxShape)
 
@@ -228,7 +231,7 @@ class wxShape: public wxShapeEvtHandler
   virtual void OnEraseContents(wxDC& dc);
   virtual void OnHighlight(wxDC& dc);
   virtual void OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
-  virtual void OnLeftDoubleClick(double x, double y, int keys = 0, int attachment = 0) {}
+  virtual void OnLeftDoubleClick(double WXUNUSED(x), double WXUNUSED(y), int WXUNUSED(keys) = 0, int WXUNUSED(attachment) = 0) {}
   virtual void OnRightClick(double x, double y, int keys = 0, int attachment = 0);
   virtual void OnSize(double x, double y);
   virtual bool OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
@@ -299,8 +302,6 @@ class wxShape: public wxShapeEvtHandler
 
   void SetPen(wxPen *pen);
   void SetBrush(wxBrush *brush);
-  inline void SetClientData(wxObject *client_data) { m_clientData = client_data; };
-  inline wxObject *GetClientData() const { return m_clientData; };
 
   virtual void Show(bool show);
   virtual bool IsShown() const { return m_visible; }
@@ -346,7 +347,7 @@ class wxShape: public wxShapeEvtHandler
   virtual wxFont *GetFont(int regionId = 0) const;
   virtual void SetTextColour(const wxString& colour, int regionId = 0);
   virtual wxString GetTextColour(int regionId = 0) const;
-  virtual inline int GetNumberOfTextRegions() const { return m_regions.Number(); }
+  virtual inline int GetNumberOfTextRegions() const { return m_regions.GetCount(); }
   virtual void SetRegionName(const wxString& name, int regionId = 0);
 
   // Get the name representing the region for this image alone.
@@ -360,7 +361,7 @@ class wxShape: public wxShapeEvtHandler
   virtual int GetRegionId(const wxString& name);
 
   // Construct names for regions, unique even for children of a composite.
-  virtual void NameRegions(const wxString& parentName = "");
+  virtual void NameRegions(const wxString& parentName = wxEmptyString);
 
   // Get list of regions
   inline wxList& GetRegions() const { return (wxList&) m_regions; }
@@ -383,7 +384,7 @@ class wxShape: public wxShapeEvtHandler
   virtual void ClearText(int regionId = 0);
   void RemoveLine(wxLineShape *line);
 
-#ifdef PROLOGIO
+#if wxUSE_PROLOGIO
   // I/O
   virtual void WriteAttributes(wxExpr *clause);
   virtual void ReadAttributes(wxExpr *clause);
@@ -399,6 +400,7 @@ class 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
@@ -505,7 +507,8 @@ class 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();
 
@@ -520,9 +523,6 @@ class wxShape: public wxShapeEvtHandler
   wxBrush GetBackgroundBrush();
 
 
- private:
-  wxObject*             m_clientData;
-
  protected:
   wxShapeEvtHandler*    m_eventHandler;
   bool                  m_formatted;
@@ -530,7 +530,7 @@ class wxShape: public wxShapeEvtHandler
   wxPen*                m_pen;
   wxBrush*              m_brush;
   wxFont*               m_font;
-  wxColour*             m_textColour;
+  wxColour              m_textColour;
   wxString              m_textColourName;
   wxShapeCanvas*        m_canvas;
   wxList                m_lines;
@@ -571,7 +571,7 @@ class wxShape: public wxShapeEvtHandler
   long                  m_branchStyle;
 };
 
-class wxPolygonShape: public wxShape
+class WXDLLIMPEXP_OGL wxPolygonShape: public wxShape
 {
  DECLARE_DYNAMIC_CLASS(wxPolygonShape)
  public:
@@ -618,7 +618,7 @@ class wxPolygonShape: public wxShape
   // Recalculates the centre of the polygon
   virtual void CalculatePolygonCentre();
 
-#ifdef PROLOGIO
+#if wxUSE_PROLOGIO
   void WriteAttributes(wxExpr *clause);
   void ReadAttributes(wxExpr *clause);
 #endif
@@ -626,15 +626,22 @@ class wxPolygonShape: public wxShape
   int GetNumberOfAttachments() const;
   bool GetAttachmentPosition(int attachment, double *x, double *y,
                                      int nth = 0, int no_arcs = 1, wxLineShape *line = NULL);
-  bool AttachmentIsValid(int attachment);
+  bool AttachmentIsValid(int attachment) const;
   // Does the copying for this object
   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;
@@ -644,7 +651,7 @@ class wxPolygonShape: public wxShape
   double        m_originalHeight;
 };
 
-class wxRectangleShape: public wxShape
+class WXDLLIMPEXP_OGL wxRectangleShape: public wxShape
 {
  DECLARE_DYNAMIC_CLASS(wxRectangleShape)
  public:
@@ -656,8 +663,9 @@ class 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; }
 
-#ifdef PROLOGIO
+#if wxUSE_PROLOGIO
   void WriteAttributes(wxExpr *clause);
   void ReadAttributes(wxExpr *clause);
 #endif
@@ -679,7 +687,7 @@ protected:
   double m_cornerRadius;
 };
 
-class wxTextShape: public wxRectangleShape
+class WXDLLIMPEXP_OGL wxTextShape: public wxRectangleShape
 {
  DECLARE_DYNAMIC_CLASS(wxTextShape)
  public:
@@ -687,15 +695,15 @@ class wxTextShape: public wxRectangleShape
 
   void OnDraw(wxDC& dc);
 
-#ifdef PROLOGIO
-  void WriteAttributes(wxExpr *clause);
+#if wxUSE_PROLOGIO
+    void WriteAttributes(wxExpr *clause);
 #endif
 
   // Does the copying for this object
   void Copy(wxShape& copy);
 };
 
-class wxEllipseShape: public wxShape
+class WXDLLIMPEXP_OGL wxEllipseShape: public wxShape
 {
  DECLARE_DYNAMIC_CLASS(wxEllipseShape)
  public:
@@ -709,7 +717,7 @@ class wxEllipseShape: public wxShape
   void OnDraw(wxDC& dc);
   void SetSize(double x, double y, bool recursive = TRUE);
 
-#ifdef PROLOGIO
+#if wxUSE_PROLOGIO
   void WriteAttributes(wxExpr *clause);
   void ReadAttributes(wxExpr *clause);
 #endif
@@ -732,7 +740,7 @@ protected:
   double m_height;
 };
 
-class wxCircleShape: public wxEllipseShape
+class WXDLLIMPEXP_OGL wxCircleShape: public wxEllipseShape
 {
  DECLARE_DYNAMIC_CLASS(wxCircleShape)
  public: