X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a28fe6d54e9f3d0a3f0d52b6ae74f3a53f5e1415..bd0a76e228b5ce47c648c2e52857e77cf79e6ae5:/include/wx/rawbmp.h?ds=sidebyside diff --git a/include/wx/rawbmp.h b/include/wx/rawbmp.h index 105c85714c..91a29f6f19 100644 --- a/include/wx/rawbmp.h +++ b/include/wx/rawbmp.h @@ -5,13 +5,15 @@ // Modified by: // Created: 10.03.03 // RCS-ID: $Id$ -// Copyright: (c) 2002 Vadim Zeitlin +// Copyright: (c) 2002 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_RAWBMP_H_BASE_ #define _WX_RAWBMP_H_BASE_ +#include "wx/image.h" + // ---------------------------------------------------------------------------- // Abstract Pixel API // @@ -174,6 +176,7 @@ typedef wxPixelFormat wxImagePixelFormat; // used as default value for the pixel format in wxPixelIterator template template struct wxPixelFormatFor; +#if wxUSE_IMAGE // wxPixelFormatFor is only defined for wxImage, attempt to use it with other // classes (wxBitmap...) will result in compile errors which is exactly what we // want @@ -182,6 +185,7 @@ struct WXDLLEXPORT wxPixelFormatFor { typedef wxImagePixelFormat Format; }; +#endif //wxUSE_IMAGE // ---------------------------------------------------------------------------- // wxPixelData @@ -269,6 +273,7 @@ struct WXDLLEXPORT wxPixelDataOut }; }; +#if wxUSE_IMAGE // wxPixelData specialization for wxImage: this is the simplest case as we // don't have to care about different pixel formats here template <> @@ -388,9 +393,9 @@ struct WXDLLEXPORT wxPixelDataOut // ----------- // access to invidividual colour components - ChannelType& Red() { return m_ptr[PixelFormat::RED]; } - ChannelType& Green() { return m_ptr[PixelFormat::GREEN]; } - ChannelType& Blue() { return m_ptr[PixelFormat::BLUE]; } + ChannelType& Red() { return m_pRGB[PixelFormat::RED]; } + ChannelType& Green() { return m_pRGB[PixelFormat::GREEN]; } + ChannelType& Blue() { return m_pRGB[PixelFormat::BLUE]; } ChannelType& Alpha() { return *m_pAlpha; } // private: -- see comment in the beginning of the file @@ -426,7 +431,7 @@ struct WXDLLEXPORT wxPixelDataOut { m_stride = Iterator::SizePixel * m_width; - InitRect(rect.GetPositions(), rect.GetSize()); + InitRect(rect.GetPosition(), rect.GetSize()); } // we evaluate to true only if we could get access to bitmap data @@ -453,7 +458,9 @@ struct WXDLLEXPORT wxPixelDataOut Iterator m_pixels; }; }; +#endif //wxUSE_IMAGE +#if wxUSE_GUI // wxPixelData specialization for wxBitmap: here things are more interesting as // we also have to support different pixel formats template <> @@ -466,7 +473,7 @@ struct WXDLLEXPORT wxPixelDataOut // the type of the class we're working with typedef wxBitmap ImageType; - class Iterator + class WXDLLEXPORT Iterator { public: // the pixel format we use @@ -635,6 +642,7 @@ struct WXDLLEXPORT wxPixelDataOut } }; }; +#endif //wxUSE_GUI #ifdef __VISUALC__ // typedef-name 'foo' used as synonym for class-name 'bar' @@ -665,9 +673,13 @@ public: // some "predefined" pixel data classes +#if wxUSE_IMAGE typedef wxPixelData wxImagePixelData; +#endif //wxUSE_IMAGE +#if wxUSE_GUI typedef wxPixelData wxNativePixelData; typedef wxPixelData wxAlphaPixelData; +#endif //wxUSE_GUI // ---------------------------------------------------------------------------- // wxPixelIterator