possible fix for templates with digitalmars

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Chris Elliott 2003-05-06 15:08:52 +00:00
parent 59fac08507
commit 957f03699b
2 changed files with 32 additions and 1 deletions

View File

@ -306,7 +306,7 @@
#endif
#if defined (__WXMSW__)
#if !defined(__DIGITALMARS__) && !defined(__WATCOMC__)
#if !defined(__WATCOMC__)
#define wxHAVE_RAW_BITMAP
#endif
#endif

View File

@ -100,9 +100,17 @@
- index of the alpha component or -1 if none
- type which can contain the full pixel value (all channels)
*/
#ifdef __DIGITALMARS__
template <class Channel,
size_t Bpp, int R, int G, int B, int A = -1,
class Pixel = wxUint32>
#else
template <typename Channel,
size_t Bpp, int R, int G, int B, int A = -1,
typename Pixel = wxUint32>
#endif
struct WXDLLEXPORT wxPixelFormat
{
// iterator over pixels is usually of type "ChannelType *"
@ -621,6 +629,28 @@ struct WXDLLEXPORT wxPixelDataOut<wxBitmap>
};
};
#ifdef __DIGITALMARS__
template <class Image, class PixelFormat = wxPixelFormatFor<Image> >
class wxPixelData :
public wxPixelDataOut<Image>:: wxPixelDataIn<PixelFormat>
{
public:
wxPixelData(Image& image)
: wxPixelDataOut<Image>:: wxPixelDataIn<PixelFormat>(image)
{
}
wxPixelData(Image& i, const wxPoint& pt, const wxSize& sz)
: wxPixelDataOut<Image>:: wxPixelDataIn<PixelFormat>(i, pt, sz)
{
}
wxPixelData(Image& i, const wxRect& rect)
: wxPixelDataOut<Image>:: wxPixelDataIn<PixelFormat>(i, rect)
{
}
};
#else // not __DIGITALMARS__
template <class Image, class PixelFormat = wxPixelFormatFor<Image> >
class wxPixelData :
public wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>
@ -641,6 +671,7 @@ public:
{
}
};
#endif // __DIGITALMARS__
// some "predefined" pixel data classes
typedef wxPixelData<wxImage> wxImagePixelData;