]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/xpmdecod.h
Ensure wxCharTypeBuffer data is NUL-terminated after extend() call.
[wxWidgets.git] / include / wx / xpmdecod.h
index 99c9895eb5c7e985514f01e5d4b304bfe0900eec..db2f2ef15b55ba3ec6b6ee7e6e9a0d9423aa061f 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        xpmdecod.h
+// Name:        wx/xpmdecod.h
 // Purpose:     wxXPMDecoder, XPM reader for wxImage and wxBitmap
 // Author:      Vaclav Slavik
 // CVS-ID:      $Id$
 #ifndef _WX_XPMDECOD_H_
 #define _WX_XPMDECOD_H_
 
-#if defined(__GNUG__) && !defined(__APPLE__)
-#pragma interface "xpmdecod.h"
-#endif
-
-#include "wx/setup.h"
+#include "wx/defs.h"
 
+#if wxUSE_IMAGE && wxUSE_XPM
 
-class WXDLLEXPORT wxImage;
-class WXDLLEXPORT wxInputStream;
+class WXDLLIMPEXP_FWD_CORE wxImage;
+class WXDLLIMPEXP_FWD_BASE wxInputStream;
 
 // --------------------------------------------------------------------------
 // wxXPMDecoder class
 // --------------------------------------------------------------------------
 
-class WXDLLEXPORT wxXPMDecoder
+class WXDLLIMPEXP_CORE wxXPMDecoder
 {
 public:
     // constructor, destructor, etc.
@@ -33,14 +30,23 @@ public:
 
 #if wxUSE_STREAMS
     // Is the stream XPM file?
+    // NOTE: this function modifies the current stream position
     bool CanRead(wxInputStream& stream);
+
     // Read XPM file from the stream, parse it and create image from it
     wxImage ReadFile(wxInputStream& stream);
 #endif
+
     // Read directly from XPM data (as passed to wxBitmap ctor):
-    wxImage ReadData(const char **xpm_data);
-};
+    wxImage ReadData(const char* const* xpm_data);
 
+#ifdef __BORLANDC__
+    // needed for Borland 5.5
+    wxImage ReadData(char** xpm_data)
+        { return ReadData(const_cast<const char* const*>(xpm_data)); }
+#endif
+};
 
-#endif  // _WX_GIFDECOD_H_
+#endif // wxUSE_IMAGE && wxUSE_XPM
 
+#endif  // _WX_XPM_H_