// Created: 10.03.03
// RCS-ID: $Id$
// Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwidgets.org>
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_RAWBMP_H_BASE_
#define _WX_RAWBMP_H_BASE_
+#include "wx/image.h"
+
// ----------------------------------------------------------------------------
// Abstract Pixel API
//
// used as default value for the pixel format in wxPixelIterator template
template <class T> 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
{
typedef wxImagePixelFormat Format;
};
+#endif //wxUSE_IMAGE
// ----------------------------------------------------------------------------
// wxPixelData
};
};
+#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 <>
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 <>
// the type of the class we're working with
typedef wxBitmap ImageType;
- class Iterator
+ class WXDLLEXPORT Iterator
{
public:
// the pixel format we use
}
};
};
+#endif //wxUSE_GUI
#ifdef __VISUALC__
// typedef-name 'foo' used as synonym for class-name 'bar'
// some "predefined" pixel data classes
+#if wxUSE_IMAGE
typedef wxPixelData<wxImage> wxImagePixelData;
+#endif //wxUSE_IMAGE
+#if wxUSE_GUI
typedef wxPixelData<wxBitmap, wxNativePixelFormat> wxNativePixelData;
typedef wxPixelData<wxBitmap, wxAlphaPixelFormat> wxAlphaPixelData;
+#endif //wxUSE_GUI
// ----------------------------------------------------------------------------
// wxPixelIterator