]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagbmp.cpp
When inserting a new menu don't try to find th eposition of the current one
[wxWidgets.git] / src / common / imagbmp.cpp
index 010c34084a44ab17b3f740c53d358cc8e0e372a9..0e2ab30f51f93c3ad9a8850d68bbbd18c1db91bc 100644 (file)
@@ -7,7 +7,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "imagbmp.h"
 #endif
 
@@ -20,7 +20,7 @@
 
 #include "wx/defs.h"
 
-#if wxUSE_IMAGE && wxUSE_STREAMS
+#if wxUSE_IMAGE
 
 #include "wx/imagbmp.h"
 #include "wx/bitmap.h"
@@ -43,7 +43,7 @@
 #endif
 
 #ifdef __WXMSW__
-#include <windows.h>
+#include "wx/msw/wrapwin.h"
 #endif
 
 //-----------------------------------------------------------------------------
@@ -52,6 +52,8 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxBMPHandler,wxImageHandler)
 
+#if wxUSE_STREAMS
+
 #ifndef BI_RGB
 #define BI_RGB       0
 #define BI_RLE8      1
@@ -457,7 +459,7 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
     wxUint16        aWord;
 
     // allocate space for palette if needed:
-    _cmap *cmap = NULL;
+    _cmap *cmap;
 
     if ( bpp < 16 )
     {
@@ -600,27 +602,23 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
         ptr = data;
     }
 
-    int line = 0;
-    int column = 0;
     int linesize = ((width * bpp + 31) / 32) * 4;
 
     /* BMPs are stored upside down */
-    for ( line = (height - 1); line >= 0; line-- )
+    for ( int line = (height - 1); line >= 0; line-- )
     {
         int linepos = 0;
-        for ( column = 0; column < width ; )
+        for ( int column = 0; column < width ; )
         {
             if ( bpp < 16 )
             {
-                int index = 0;
                 linepos++;
                 aByte = stream.GetC();
                 if ( bpp == 1 )
                 {
-                    int bit = 0;
-                    for (bit = 0; bit < 8 && column < width; bit++)
+                    for (int bit = 0; bit < 8 && column < width; bit++)
                     {
-                        index = ((aByte & (0x80 >> bit)) ? 1 : 0);
+                        int index = ((aByte & (0x80 >> bit)) ? 1 : 0);
                         ptr[poffset] = cmap[index].r;
                         ptr[poffset + 1] = cmap[index].g;
                         ptr[poffset + 2] = cmap[index].b;
@@ -698,10 +696,9 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
                     }
                     else
                     {
-                        int nibble = 0;
-                        for (nibble = 0; nibble < 2 && column < width; nibble++)
+                        for (int nibble = 0; nibble < 2 && column < width; nibble++)
                         {
-                            index = ((aByte & (0xF0 >> nibble * 4)) >> (!nibble * 4));
+                            int index = ((aByte & (0xF0 >> nibble * 4)) >> (!nibble * 4));
                             if ( index >= 16 )
                                 index = 15;
                             ptr[poffset] = cmap[index].r;
@@ -964,6 +961,8 @@ bool wxBMPHandler::DoCanRead(wxInputStream& stream)
     return hdr[0] == 'B' && hdr[1] == 'M';
 }
 
+#endif // wxUSE_STREAMS
+
 
 #if wxUSE_ICO_CUR
 //-----------------------------------------------------------------------------
@@ -972,6 +971,8 @@ bool wxBMPHandler::DoCanRead(wxInputStream& stream)
 
 IMPLEMENT_DYNAMIC_CLASS(wxICOHandler, wxBMPHandler)
 
+#if wxUSE_STREAMS
+
 struct ICONDIRENTRY
 {
     wxUint8         bWidth;               // Width of the image
@@ -1288,6 +1289,7 @@ bool wxICOHandler::DoCanRead(wxInputStream& stream)
     return hdr[0] == '\0' && hdr[1] == '\0' && hdr[2] == '\1' && hdr[3] == '\0';
 }
 
+#endif // wxUSE_STREAMS
 
 
 //-----------------------------------------------------------------------------
@@ -1296,6 +1298,8 @@ bool wxICOHandler::DoCanRead(wxInputStream& stream)
 
 IMPLEMENT_DYNAMIC_CLASS(wxCURHandler, wxICOHandler)
 
+#if wxUSE_STREAMS
+
 bool wxCURHandler::DoCanRead(wxInputStream& stream)
 {
     stream.SeekI(0);
@@ -1307,12 +1311,16 @@ bool wxCURHandler::DoCanRead(wxInputStream& stream)
     return hdr[0] == '\0' && hdr[1] == '\0' && hdr[2] == '\2' && hdr[3] == '\0';
 }
 
+#endif // wxUSE_STREAMS
+
 //-----------------------------------------------------------------------------
 // wxANIHandler
 //-----------------------------------------------------------------------------
 
 IMPLEMENT_DYNAMIC_CLASS(wxANIHandler, wxCURHandler)
 
+#if wxUSE_STREAMS
+
 bool wxANIHandler::LoadFile(wxImage *image, wxInputStream& stream,
                             bool verbose, int index)
 {
@@ -1470,6 +1478,8 @@ int wxANIHandler::GetImageCount(wxInputStream& stream)
     return wxNOT_FOUND;
 }
 
+#endif // wxUSE_STREAMS
+
 #endif // wxUSE_ICO_CUR
 
-#endif // wxUSE_IMAGE && wxUSE_STREAMS
+#endif // wxUSE_IMAGE