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:
@@ -306,7 +306,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (__WXMSW__)
|
#if defined (__WXMSW__)
|
||||||
#if !defined(__DIGITALMARS__) && !defined(__WATCOMC__)
|
#if !defined(__WATCOMC__)
|
||||||
#define wxHAVE_RAW_BITMAP
|
#define wxHAVE_RAW_BITMAP
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@@ -100,9 +100,17 @@
|
|||||||
- index of the alpha component or -1 if none
|
- index of the alpha component or -1 if none
|
||||||
- type which can contain the full pixel value (all channels)
|
- 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,
|
template <typename Channel,
|
||||||
size_t Bpp, int R, int G, int B, int A = -1,
|
size_t Bpp, int R, int G, int B, int A = -1,
|
||||||
typename Pixel = wxUint32>
|
typename Pixel = wxUint32>
|
||||||
|
#endif
|
||||||
|
|
||||||
struct WXDLLEXPORT wxPixelFormat
|
struct WXDLLEXPORT wxPixelFormat
|
||||||
{
|
{
|
||||||
// iterator over pixels is usually of type "ChannelType *"
|
// 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> >
|
template <class Image, class PixelFormat = wxPixelFormatFor<Image> >
|
||||||
class wxPixelData :
|
class wxPixelData :
|
||||||
public wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>
|
public wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>
|
||||||
@@ -641,6 +671,7 @@ public:
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
#endif // __DIGITALMARS__
|
||||||
|
|
||||||
// some "predefined" pixel data classes
|
// some "predefined" pixel data classes
|
||||||
typedef wxPixelData<wxImage> wxImagePixelData;
|
typedef wxPixelData<wxImage> wxImagePixelData;
|
||||||
|
Reference in New Issue
Block a user