]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/pen.h
Further wxRichTextCtrl performance improvements
[wxWidgets.git] / include / wx / gtk / pen.h
index d6c4d632b8d4a39941f2f22f410c5ba10f4bee60..2af7d460487e6bd46de499ee979727993b520b28 100644 (file)
@@ -1,70 +1,60 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        pen.h
+// Name:        wx/gtk/pen.h
 // Purpose:
 // Author:      Robert Roebling
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
-// Licence:    wxWindows licence
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
 
+#ifndef _WX_GTK_PEN_H_
+#define _WX_GTK_PEN_H_
 
 
-#ifndef __GTKPENH__
-#define __GTKPENH__
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/defs.h"
-#include "wx/object.h"
-#include "wx/string.h"
-#include "wx/gdiobj.h"
-#include "wx/gdicmn.h"
-
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
-
-class wxPen;
+typedef    gint8 wxGTKDash;
 
 //-----------------------------------------------------------------------------
 // wxPen
 //-----------------------------------------------------------------------------
 
 
 //-----------------------------------------------------------------------------
 // wxPen
 //-----------------------------------------------------------------------------
 
-class wxPen: public wxGDIObject
+class WXDLLIMPEXP_CORE wxPen: public wxPenBase
 {
 {
-  DECLARE_DYNAMIC_CLASS(wxPen)
+public:
+    wxPen() { }
+
+    wxPen( const wxColour &colour, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID );
+#if FUTURE_WXWIN_COMPATIBILITY_3_0
+    wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
+#endif
+
+    virtual ~wxPen();
+
+    bool operator==(const wxPen& pen) const;
+    bool operator!=(const wxPen& pen) const { return !(*this == pen); }
 
 
-  public:
-  
-    wxPen(void);
-    wxPen( const wxColour &colour, int width, int style );
-    wxPen( const wxString &colourName, int width, int style );
-    wxPen( const wxPen& pen );
-    wxPen( const wxPen* pen );
-    ~wxPen(void);
-    wxPen& operator = ( const wxPen& pen );
-    bool operator == ( const wxPen& pen );
-    bool operator != ( const wxPen& pen );
-    
     void SetColour( const wxColour &colour );
     void SetColour( const wxColour &colour );
-    void SetColour( const wxString &colourName );
-    void SetColour( int red, int green, int blue );
-    void SetCap( int capStyle );
-    void SetJoin( int joinStyle );
-    void SetStyle( int style );
+    void SetColour( unsigned char red, unsigned char green, unsigned char blue );
+    void SetCap( wxPenCap capStyle );
+    void SetJoin( wxPenJoin joinStyle );
+    void SetStyle( wxPenStyle style );
     void SetWidth( int width );
     void SetWidth( int width );
-    wxColour &GetColour(void) const;
-    int GetCap(void) const;
-    int GetJoin(void) const;
-    int GetStyle(void) const;
-    int GetWidth(void) const;
-    bool Ok(void) const;
-    
-    void Unshare(void);
-    
-    // no data :-)
+    void SetDashes( int number_of_dashes, const wxDash *dash );
+    void SetStipple(const wxBitmap& stipple);
+
+    wxColour GetColour() const;
+    wxPenCap GetCap() const;
+    wxPenJoin GetJoin() const;
+    wxPenStyle GetStyle() const;
+    int GetWidth() const;
+    int GetDashes(wxDash **ptr) const;
+    int GetDashCount() const;
+    wxDash* GetDash() const;
+    wxBitmap *GetStipple() const;
+
+protected:
+    virtual wxGDIRefData *CreateGDIRefData() const;
+    virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
+
+    DECLARE_DYNAMIC_CLASS(wxPen)
 };
 
 };
 
-#endif // __GTKPENH__
+#endif // _WX_GTK_PEN_H_