X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a452af5e682893eb97b15cde1e63a09fd02e5931..ef094fa075bc56bcbc33b12159c395ea28afda3b:/include/wx/rawbmp.h diff --git a/include/wx/rawbmp.h b/include/wx/rawbmp.h index e5d03d0a6d..568fd7c667 100644 --- a/include/wx/rawbmp.h +++ b/include/wx/rawbmp.h @@ -100,9 +100,11 @@ - index of the alpha component or -1 if none - type which can contain the full pixel value (all channels) */ -template + class Pixel = wxUint32> + struct WXDLLEXPORT wxPixelFormat { // iterator over pixels is usually of type "ChannelType *" @@ -275,7 +277,7 @@ struct WXDLLEXPORT wxPixelDataOut typedef wxImagePixelFormat PixelFormat; // the type of the pixel components - typedef typename PixelFormat::ChannelType ChannelType; + typedef typename dummyPixelFormat::ChannelType ChannelType; // the pixel data we're working with typedef @@ -320,7 +322,7 @@ struct WXDLLEXPORT wxPixelDataOut { m_pRGB += PixelFormat::SizePixel; if ( m_pAlpha ) - m_pAlpha += PixelFormat::SizePixel; + ++m_pAlpha; return *this; } @@ -621,27 +623,34 @@ struct WXDLLEXPORT wxPixelDataOut }; }; +#ifdef __VISUALC__ + // typedef-name 'foo' used as synonym for class-name 'bar' + // (VC++ gives this warning each time wxPixelData::Base is used but it + // doesn't make any sense here -- what's wrong with using typedef instead + // of class, this is what it is here for!) + #pragma warning(disable: 4097) +#endif // __VISUALC__ + template > class wxPixelData : public wxPixelDataOut::template wxPixelDataIn { public: - wxPixelData(Image& image) - : wxPixelDataOut::template wxPixelDataIn(image) - { - } + typedef + typename wxPixelDataOut::template wxPixelDataIn + Base; - wxPixelData(Image& i, const wxPoint& pt, const wxSize& sz) - : wxPixelDataOut::template wxPixelDataIn(i, pt, sz) - { - } + wxPixelData(Image& image) : Base(image) { } - wxPixelData(Image& i, const wxRect& rect) - : wxPixelDataOut::template wxPixelDataIn(i, rect) - { - } + wxPixelData(Image& i, const wxRect& rect) : Base(i, rect) { } + + wxPixelData(Image& i, const wxPoint& pt, const wxSize& sz) + : Base(i, pt, sz) + { + } }; + // some "predefined" pixel data classes typedef wxPixelData wxImagePixelData; typedef wxPixelData wxNativePixelData; @@ -670,6 +679,7 @@ struct WXDLLEXPORT wxPixelIterator : wxPixelData::Iterator #ifdef __VISUALC__ #pragma warning(default: 4355) + #pragma warning(default: 4097) #endif #endif // _WX_RAWBMP_H_BASE_