wxWidgets/include/wx/os2/pen.h
Vadim Zeitlin bd30752410 Just deprecate but don't schedule for removal wxNORMAL and friends.
Deprecate the use of the old untyped constants but don't schedule them from
removal in a future wx version by removing "#if WXWIN_COMPATIBILITY_3_0" tests
around their definition and use. Provoking deprecation warnings in the code
using these constants is worth it as they are unclear and it's easy to make
mistakes when using them, but breaking this code compilation outright can't be
justified -- even in the future.

Also use more informational wxDEPRECATED_MSG() instead of a simple
wxDEPRECATED() as it might not be obvious at all how should the code be
updated exactly.

Finally, avoid the use of deprecated constants inside the library itself.

As a side effect, this closes #15814.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-06 12:42:37 +00:00

105 lines
2.8 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/os2/pen.h
// Purpose: wxPen class
// Author: David Webster
// Modified by:
// Created: 10/10/99
// Copyright: (c) David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PEN_H_
#define _WX_PEN_H_
#include "wx/gdiobj.h"
#include "wx/bitmap.h"
typedef long wxPMDash;
// ----------------------------------------------------------------------------
// Pen
// ----------------------------------------------------------------------------
class WXDLLIMPEXP_CORE wxPen : public wxPenBase
{
public:
wxPen() { }
wxPen( const wxColour& rColour
,int nWidth = 1
,wxPenStyle nStyle = wxPENSTYLE_SOLID
);
wxPen( const wxBitmap& rStipple
,int nWidth
);
virtual ~wxPen() { }
bool operator == (const wxPen& rPen) const;
inline bool operator != (const wxPen& rPen) const
{ return !(*this == rPen); }
//
// Override in order to recreate the pen
//
void SetColour(const wxColour& rColour);
void SetColour(unsigned char cRed, unsigned char cGreen, unsigned char cBlue);
void SetWidth(int nWidth);
void SetStyle(wxPenStyle nStyle);
void SetStipple(const wxBitmap& rStipple);
void SetDashes( int nNbDashes
,const wxDash* pDash
);
void SetJoin(wxPenJoin nJoin);
void SetCap(wxPenCap nCap);
void SetPS(HPS hPS);
wxColour GetColour(void) const;
int GetWidth(void) const;
wxPenStyle GetStyle(void) const;
wxPenJoin GetJoin(void) const;
wxPenCap GetCap(void) const;
int GetPS(void) const;
int GetDashes(wxDash **ptr) const;
wxDash* GetDash() const;
int GetDashCount() const;
wxBitmap* GetStipple(void) const;
wxDEPRECATED_MSG("use wxPENSTYLE_XXX constants")
wxPen(const wxColour& col, int width, int style);
wxDEPRECATED_MSG("use wxPENSTYLE_XXX constants")
void SetStyle(int style) { SetStyle((wxPenStyle)style); }
//
// Implementation
//
//
// Useful helper: create the brush resource
//
bool RealizeResource(void);
bool FreeResource(bool bForce = false);
virtual WXHANDLE GetResourceHandle(void) const;
bool IsFree(void) const;
private:
LINEBUNDLE m_vLineBundle;
AREABUNDLE m_vAreaBundle;
protected:
virtual wxGDIRefData* CreateGDIRefData() const;
virtual wxGDIRefData* CloneGDIRefData(const wxGDIRefData* data) const;
// same as FreeResource() + RealizeResource()
bool Recreate();
DECLARE_DYNAMIC_CLASS(wxPen)
}; // end of CLASS wxPen
extern int wx2os2PenStyle(wxPenStyle nWxStyle);
#endif
// _WX_PEN_H_