X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ecb8b06ade47981aa828a3f7fb4278f822456d3..949cb163a78520153dbdb3cd2e2dbaab075be9ca:/src/msw/pen.cpp?ds=sidebyside diff --git a/src/msw/pen.cpp b/src/msw/pen.cpp index 599d747603..dc52acc011 100644 --- a/src/msw/pen.cpp +++ b/src/msw/pen.cpp @@ -5,11 +5,11 @@ // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "pen.h" #endif @@ -30,7 +30,8 @@ #endif #include "wx/msw/private.h" -#include "assert.h" + +static int wx2msPenStyle(int wx_style); IMPLEMENT_DYNAMIC_CLASS(wxPen, wxGDIObject) @@ -143,13 +144,12 @@ bool wxPen::RealizeResource() return TRUE; } - COLORREF ms_colour = 0; - ms_colour = M_PENDATA->m_colour.GetPixel(); + COLORREF ms_colour = M_PENDATA->m_colour.GetPixel(); // Join style, Cap style, Pen Stippling only on Win32. // Currently no time to find equivalent on Win3.1, sorry // [if such equiv exist!!] -#if defined(__WIN32__) && !defined(__WXMICROWIN__) +#if defined(__WIN32__) && !defined(__WXMICROWIN__) && !defined(__WXWINCE__) if (M_PENDATA->m_join==wxJOIN_ROUND && M_PENDATA->m_cap==wxCAP_ROUND && M_PENDATA->m_style!=wxUSER_DASH && @@ -232,8 +232,9 @@ bool wxPen::RealizeResource() if (M_PENDATA->m_style==wxUSER_DASH && M_PENDATA->m_nbDash && M_PENDATA->m_dash) { real_dash = new wxMSWDash[M_PENDATA->m_nbDash]; + int rw = M_PENDATA->m_width > 1 ? M_PENDATA->m_width : 1; for ( int 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] * rw; } else { @@ -278,7 +279,7 @@ bool wxPen::RealizeResource() return FALSE; } -WXHANDLE wxPen::GetResourceHandle() +WXHANDLE wxPen::GetResourceHandle() const { if ( !M_PENDATA ) return 0; @@ -396,7 +397,7 @@ int wx2msPenStyle(int wx_style) int cstyle; switch (wx_style) { -#if !defined(__WXMICROWIN__) +#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__) case wxDOT: cstyle = PS_DOT; break; @@ -416,7 +417,7 @@ int wx2msPenStyle(int wx_style) #endif case wxUSER_DASH: -#if !defined(__WXMICROWIN__) +#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__) #ifdef __WIN32__ // Win32s doesn't have PS_USERSTYLE if (wxGetOsVersion()==wxWINDOWS_NT || wxGetOsVersion()==wxWIN95)