mingw32 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
9f303149a0
commit
bbd41262ca
184
src/msw/pen.cpp
184
src/msw/pen.cpp
@ -1,12 +1,12 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: pen.cpp
|
// Name: msw/pen.cpp
|
||||||
// Purpose: wxPen
|
// Purpose: wxPen
|
||||||
// Author: Julian Smart
|
// Author: Julian Smart
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 04/01/98
|
// Created: 04/01/98
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) Julian Smart and Markus Holzem
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
// Licence: wxWindows license
|
// Licence: wxWindows license
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
@ -59,8 +59,8 @@ wxPenRefData::wxPenRefData(const wxPenRefData& data)
|
|||||||
|
|
||||||
wxPenRefData::~wxPenRefData()
|
wxPenRefData::~wxPenRefData()
|
||||||
{
|
{
|
||||||
if ( m_hPen )
|
if ( m_hPen )
|
||||||
::DeleteObject((HPEN) m_hPen);
|
::DeleteObject((HPEN) m_hPen);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pens
|
// Pens
|
||||||
@ -114,7 +114,7 @@ wxPen::wxPen(const wxColour& col, int Width, int Style)
|
|||||||
(Style == wxUSER_DASH))
|
(Style == wxUSER_DASH))
|
||||||
M_PENDATA->m_width = 1;
|
M_PENDATA->m_width = 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
RealizeResource();
|
RealizeResource();
|
||||||
|
|
||||||
if ( wxThePenList )
|
if ( wxThePenList )
|
||||||
@ -162,18 +162,18 @@ bool wxPen::RealizeResource()
|
|||||||
M_PENDATA->m_cap==wxCAP_ROUND &&
|
M_PENDATA->m_cap==wxCAP_ROUND &&
|
||||||
M_PENDATA->m_style!=wxUSER_DASH &&
|
M_PENDATA->m_style!=wxUSER_DASH &&
|
||||||
M_PENDATA->m_style!=wxSTIPPLE &&
|
M_PENDATA->m_style!=wxSTIPPLE &&
|
||||||
M_PENDATA->m_width <= 1)
|
M_PENDATA->m_width <= 1)
|
||||||
{
|
{
|
||||||
M_PENDATA->m_hPen =
|
M_PENDATA->m_hPen =
|
||||||
(WXHPEN) CreatePen( wx2msPenStyle(M_PENDATA->m_style),
|
(WXHPEN) CreatePen( wx2msPenStyle(M_PENDATA->m_style),
|
||||||
M_PENDATA->m_width,
|
M_PENDATA->m_width,
|
||||||
ms_colour );
|
ms_colour );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DWORD ms_style = PS_GEOMETRIC | wx2msPenStyle(M_PENDATA->m_style);
|
DWORD ms_style = PS_GEOMETRIC | wx2msPenStyle(M_PENDATA->m_style);
|
||||||
|
|
||||||
switch(M_PENDATA->m_join)
|
switch(M_PENDATA->m_join)
|
||||||
{
|
{
|
||||||
case wxJOIN_BEVEL: ms_style |= PS_JOIN_BEVEL; break;
|
case wxJOIN_BEVEL: ms_style |= PS_JOIN_BEVEL; break;
|
||||||
case wxJOIN_MITER: ms_style |= PS_JOIN_MITER; break;
|
case wxJOIN_MITER: ms_style |= PS_JOIN_MITER; break;
|
||||||
@ -189,9 +189,9 @@ bool wxPen::RealizeResource()
|
|||||||
case wxCAP_ROUND: ms_style |= PS_ENDCAP_ROUND; break;
|
case wxCAP_ROUND: ms_style |= PS_ENDCAP_ROUND; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGBRUSH logb;
|
LOGBRUSH logb;
|
||||||
|
|
||||||
switch(M_PENDATA->m_style)
|
switch(M_PENDATA->m_style)
|
||||||
{
|
{
|
||||||
case wxSTIPPLE:
|
case wxSTIPPLE:
|
||||||
logb.lbStyle = BS_PATTERN ;
|
logb.lbStyle = BS_PATTERN ;
|
||||||
@ -201,72 +201,72 @@ bool wxPen::RealizeResource()
|
|||||||
logb.lbHatch = (LONG)0;
|
logb.lbHatch = (LONG)0;
|
||||||
break;
|
break;
|
||||||
case wxBDIAGONAL_HATCH:
|
case wxBDIAGONAL_HATCH:
|
||||||
logb.lbStyle = BS_HATCHED;
|
logb.lbStyle = BS_HATCHED;
|
||||||
logb.lbHatch = HS_BDIAGONAL;
|
logb.lbHatch = HS_BDIAGONAL;
|
||||||
break;
|
break;
|
||||||
case wxCROSSDIAG_HATCH:
|
case wxCROSSDIAG_HATCH:
|
||||||
logb.lbStyle = BS_HATCHED;
|
logb.lbStyle = BS_HATCHED;
|
||||||
logb.lbHatch = HS_DIAGCROSS;
|
logb.lbHatch = HS_DIAGCROSS;
|
||||||
break;
|
break;
|
||||||
case wxFDIAGONAL_HATCH:
|
case wxFDIAGONAL_HATCH:
|
||||||
logb.lbStyle = BS_HATCHED;
|
logb.lbStyle = BS_HATCHED;
|
||||||
logb.lbHatch = HS_FDIAGONAL;
|
logb.lbHatch = HS_FDIAGONAL;
|
||||||
break;
|
break;
|
||||||
case wxCROSS_HATCH:
|
case wxCROSS_HATCH:
|
||||||
logb.lbStyle = BS_HATCHED;
|
logb.lbStyle = BS_HATCHED;
|
||||||
logb.lbHatch = HS_CROSS;
|
logb.lbHatch = HS_CROSS;
|
||||||
break;
|
break;
|
||||||
case wxHORIZONTAL_HATCH:
|
case wxHORIZONTAL_HATCH:
|
||||||
logb.lbStyle = BS_HATCHED;
|
logb.lbStyle = BS_HATCHED;
|
||||||
logb.lbHatch = HS_HORIZONTAL;
|
logb.lbHatch = HS_HORIZONTAL;
|
||||||
break;
|
break;
|
||||||
case wxVERTICAL_HATCH:
|
case wxVERTICAL_HATCH:
|
||||||
logb.lbStyle = BS_HATCHED;
|
logb.lbStyle = BS_HATCHED;
|
||||||
logb.lbHatch = HS_VERTICAL;
|
logb.lbHatch = HS_VERTICAL;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logb.lbStyle = BS_SOLID;
|
logb.lbStyle = BS_SOLID;
|
||||||
#ifdef __WXDEBUG__
|
#ifdef __WXDEBUG__
|
||||||
// this should be unnecessary (it's unused) but suppresses the Purigy
|
// this should be unnecessary (it's unused) but suppresses the Purigy
|
||||||
// messages about uninitialized memory read
|
// messages about uninitialized memory read
|
||||||
logb.lbHatch = 0;
|
logb.lbHatch = 0;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
logb.lbColor = ms_colour;
|
logb.lbColor = ms_colour;
|
||||||
|
|
||||||
wxMSWDash *real_dash;
|
wxMSWDash *real_dash;
|
||||||
if (M_PENDATA->m_style==wxUSER_DASH && M_PENDATA->m_nbDash && M_PENDATA->m_dash)
|
if (M_PENDATA->m_style==wxUSER_DASH && M_PENDATA->m_nbDash && M_PENDATA->m_dash)
|
||||||
{
|
{
|
||||||
real_dash = new wxMSWDash[M_PENDATA->m_nbDash];
|
real_dash = new wxMSWDash[M_PENDATA->m_nbDash];
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i<M_PENDATA->m_nbDash; i++)
|
for (i=0; i<M_PENDATA->m_nbDash; i++)
|
||||||
real_dash[i] = M_PENDATA->m_dash[i] * M_PENDATA->m_width;
|
real_dash[i] = M_PENDATA->m_dash[i] * M_PENDATA->m_width;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
real_dash = (wxMSWDash*)NULL;
|
real_dash = (wxMSWDash*)NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Win32s doesn't have ExtCreatePen function...
|
// Win32s doesn't have ExtCreatePen function...
|
||||||
if (wxGetOsVersion()==wxWINDOWS_NT || wxGetOsVersion()==wxWIN95)
|
if (wxGetOsVersion()==wxWINDOWS_NT || wxGetOsVersion()==wxWIN95)
|
||||||
{
|
|
||||||
M_PENDATA->m_hPen =
|
|
||||||
(WXHPEN) ExtCreatePen( ms_style,
|
|
||||||
M_PENDATA->m_width,
|
|
||||||
&logb,
|
|
||||||
M_PENDATA->m_style==wxUSER_DASH
|
|
||||||
? M_PENDATA->m_nbDash
|
|
||||||
: 0,
|
|
||||||
real_dash );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
M_PENDATA->m_hPen =
|
M_PENDATA->m_hPen =
|
||||||
(WXHPEN) CreatePen( wx2msPenStyle(M_PENDATA->m_style),
|
(WXHPEN) ExtCreatePen( ms_style,
|
||||||
M_PENDATA->m_width,
|
M_PENDATA->m_width,
|
||||||
ms_colour );
|
&logb,
|
||||||
|
M_PENDATA->m_style == wxUSER_DASH
|
||||||
|
? M_PENDATA->m_nbDash
|
||||||
|
: 0,
|
||||||
|
(LPDWORD)real_dash );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
M_PENDATA->m_hPen =
|
||||||
|
(WXHPEN) CreatePen( wx2msPenStyle(M_PENDATA->m_style),
|
||||||
|
M_PENDATA->m_width,
|
||||||
|
ms_colour );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (real_dash)
|
if (real_dash)
|
||||||
@ -274,9 +274,9 @@ bool wxPen::RealizeResource()
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
M_PENDATA->m_hPen =
|
M_PENDATA->m_hPen =
|
||||||
(WXHPEN) CreatePen( wx2msPenStyle(M_PENDATA->m_style),
|
(WXHPEN) CreatePen( wx2msPenStyle(M_PENDATA->m_style),
|
||||||
M_PENDATA->m_width,
|
M_PENDATA->m_width,
|
||||||
ms_colour );
|
ms_colour );
|
||||||
#endif
|
#endif
|
||||||
#ifdef WXDEBUG_CREATE
|
#ifdef WXDEBUG_CREATE
|
||||||
if (M_PENDATA->m_hPen==0)
|
if (M_PENDATA->m_hPen==0)
|
||||||
@ -289,10 +289,10 @@ bool wxPen::RealizeResource()
|
|||||||
|
|
||||||
WXHANDLE wxPen::GetResourceHandle()
|
WXHANDLE wxPen::GetResourceHandle()
|
||||||
{
|
{
|
||||||
if ( !M_PENDATA )
|
if ( !M_PENDATA )
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return (WXHANDLE)M_PENDATA->m_hPen;
|
return (WXHANDLE)M_PENDATA->m_hPen;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxPen::FreeResource(bool force)
|
bool wxPen::FreeResource(bool force)
|
||||||
@ -313,17 +313,17 @@ bool wxPen::IsFree() const
|
|||||||
|
|
||||||
void wxPen::Unshare()
|
void wxPen::Unshare()
|
||||||
{
|
{
|
||||||
// Don't change shared data
|
// Don't change shared data
|
||||||
if (!m_refData)
|
if (!m_refData)
|
||||||
{
|
{
|
||||||
m_refData = new wxPenRefData();
|
m_refData = new wxPenRefData();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wxPenRefData* ref = new wxPenRefData(*(wxPenRefData*)m_refData);
|
wxPenRefData* ref = new wxPenRefData(*(wxPenRefData*)m_refData);
|
||||||
UnRef();
|
UnRef();
|
||||||
m_refData = ref;
|
m_refData = ref;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxPen::SetColour(const wxColour& col)
|
void wxPen::SetColour(const wxColour& col)
|
||||||
@ -331,7 +331,7 @@ void wxPen::SetColour(const wxColour& col)
|
|||||||
Unshare();
|
Unshare();
|
||||||
|
|
||||||
M_PENDATA->m_colour = col;
|
M_PENDATA->m_colour = col;
|
||||||
|
|
||||||
RealizeResource();
|
RealizeResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +340,7 @@ void wxPen::SetColour(unsigned char r, unsigned char g, unsigned char b)
|
|||||||
Unshare();
|
Unshare();
|
||||||
|
|
||||||
M_PENDATA->m_colour.Set(r, g, b);
|
M_PENDATA->m_colour.Set(r, g, b);
|
||||||
|
|
||||||
RealizeResource();
|
RealizeResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ void wxPen::SetStipple(const wxBitmap& Stipple)
|
|||||||
|
|
||||||
M_PENDATA->m_stipple = Stipple;
|
M_PENDATA->m_stipple = Stipple;
|
||||||
M_PENDATA->m_style = wxSTIPPLE;
|
M_PENDATA->m_style = wxSTIPPLE;
|
||||||
|
|
||||||
RealizeResource();
|
RealizeResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -378,7 +378,7 @@ void wxPen::SetDashes(int nb_dashes, const wxDash *Dash)
|
|||||||
|
|
||||||
M_PENDATA->m_nbDash = nb_dashes;
|
M_PENDATA->m_nbDash = nb_dashes;
|
||||||
M_PENDATA->m_dash = (wxMSWDash *)Dash;
|
M_PENDATA->m_dash = (wxMSWDash *)Dash;
|
||||||
|
|
||||||
RealizeResource();
|
RealizeResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,30 +404,30 @@ int wx2msPenStyle(int wx_style)
|
|||||||
{
|
{
|
||||||
int cstyle;
|
int cstyle;
|
||||||
switch (wx_style)
|
switch (wx_style)
|
||||||
{
|
{
|
||||||
case wxDOT:
|
case wxDOT:
|
||||||
cstyle = PS_DOT;
|
cstyle = PS_DOT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxDOT_DASH:
|
case wxDOT_DASH:
|
||||||
cstyle = PS_DASHDOT;
|
cstyle = PS_DASHDOT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxSHORT_DASH:
|
case wxSHORT_DASH:
|
||||||
case wxLONG_DASH:
|
case wxLONG_DASH:
|
||||||
cstyle = PS_DASH;
|
cstyle = PS_DASH;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxTRANSPARENT:
|
case wxTRANSPARENT:
|
||||||
cstyle = PS_NULL;
|
cstyle = PS_NULL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxUSER_DASH:
|
case wxUSER_DASH:
|
||||||
#ifdef __WIN32__
|
#ifdef __WIN32__
|
||||||
// Win32s doesn't have PS_USERSTYLE
|
// Win32s doesn't have PS_USERSTYLE
|
||||||
if (wxGetOsVersion()==wxWINDOWS_NT || wxGetOsVersion()==wxWIN95)
|
if (wxGetOsVersion()==wxWINDOWS_NT || wxGetOsVersion()==wxWIN95)
|
||||||
cstyle = PS_USERSTYLE;
|
cstyle = PS_USERSTYLE;
|
||||||
else
|
else
|
||||||
cstyle = PS_DOT; // We must make a choice... This is mine!
|
cstyle = PS_DOT; // We must make a choice... This is mine!
|
||||||
#else
|
#else
|
||||||
cstyle = PS_DASH;
|
cstyle = PS_DASH;
|
||||||
|
Loading…
Reference in New Issue
Block a user