]> git.saurik.com Git - wxWidgets.git/commitdiff
switched to new XPM code in wxMSW
authorVáclav Slavík <vslavik@fastmail.fm>
Tue, 8 May 2001 22:44:34 +0000 (22:44 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Tue, 8 May 2001 22:44:34 +0000 (22:44 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

17 files changed:
src/common/image.cpp
src/common/resourc2.cpp
src/common/resource.cpp
src/generic/dirctrlg.cpp
src/gtk/files.lst
src/gtk1/files.lst
src/motif/files.lst
src/msw/bitmap.cpp
src/msw/gdiimage.cpp
src/msw/makefile.b32
src/msw/makefile.bcc
src/msw/makefile.dos
src/msw/makefile.g95
src/msw/makefile.sc
src/msw/makefile.vc
src/msw/makefile.wat
src/os2/files.lst

index ece331c695eca0c28968ee1dcd8a555c091d6c7a..fbf84266bb9c9bc933d5fce9653a99cf5420e6e5 100644 (file)
@@ -1023,7 +1023,10 @@ wxImageHandler *wxImage::FindHandlerMime( const wxString& mimetype )
 
 void wxImage::InitStandardHandlers()
 {
-  AddHandler( new wxBMPHandler );
+    AddHandler(new wxBMPHandler);
+#if !defined(__WXGTK__) && !defined(__WXMOTIF__)
+    AddHandler(new wxXPMHandler);
+#endif
 }
 
 void wxImage::CleanUpHandlers()
index 7774e5a7c51a6d61dbfab18caa03ceb5ad276e43..2321126dde829509e169b9da73d46ff4507f8ff9 100644 (file)
@@ -817,7 +817,6 @@ wxBitmap wxResourceCreateBitmap(const wxString& resource, wxResourceTable *table
       }
       case wxBITMAP_TYPE_XPM_DATA:
       {
-#if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
         wxItemResource *item = table->FindResource(name);
         if (!item)
         {
@@ -826,9 +825,6 @@ wxBitmap wxResourceCreateBitmap(const wxString& resource, wxResourceTable *table
           return wxNullBitmap;
         }
         return wxBitmap(item->GetValue1());
-#else
-        wxLogWarning(_("No XPM facility available!"));
-#endif
         break;
       }
       default:
@@ -974,7 +970,6 @@ wxIcon wxResourceCreateIcon(const wxString& resource, wxResourceTable *table)
       {
       // *** XPM ICON NOT YET IMPLEMENTED IN WXWINDOWS ***
 /*
-#if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
         wxItemResource *item = table->FindResource(name);
         if (!item)
         {
@@ -984,9 +979,6 @@ wxIcon wxResourceCreateIcon(const wxString& resource, wxResourceTable *table)
           return NULL;
         }
         return wxIcon((char **)item->GetValue1());
-#else
-        wxLogWarning(_("No XPM facility available!"));
-#endif
 */
         wxLogWarning(_("No XPM icon facility available!"));
         break;
index bef7bdb0e4d835ace5a29debb34f2e33a32331d3..08709571b96b7e27e7b13d8096d2fd25aec17553 100644 (file)
@@ -2468,7 +2468,6 @@ wxBitmap wxResourceCreateBitmap(const wxString& resource, wxResourceTable *table
             }
         case wxBITMAP_TYPE_XPM_DATA:
             {
-#if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
                 wxItemResource *item = table->FindResource(name);
                 if (!item)
                 {
@@ -2476,10 +2475,6 @@ wxBitmap wxResourceCreateBitmap(const wxString& resource, wxResourceTable *table
                     return wxNullBitmap;
                 }
                 return wxBitmap((char **)item->GetValue1());
-#else
-                wxLogWarning(_("No XPM facility available!"));
-                break;
-#endif
             }
         default:
             {
@@ -2625,7 +2620,6 @@ wxIcon wxResourceCreateIcon(const wxString& resource, wxResourceTable *table)
             {
                 // *** XPM ICON NOT YET IMPLEMENTED IN WXWINDOWS ***
                 /*
-                #if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
                 wxItemResource *item = table->FindResource(name);
                 if (!item)
                 {
@@ -2635,9 +2629,6 @@ wxIcon wxResourceCreateIcon(const wxString& resource, wxResourceTable *table)
                 return NULL;
                 }
                 return wxIcon((char **)item->GetValue1());
-                #else
-                wxLogWarning(_("No XPM facility available!"));
-                #endif
                 */
                 wxLogWarning(_("No XPM icon facility available!"));
                 break;
index 6ee0ef2ab4fa4076bc1c5ed15e0adf8dbeb903ba..a37f39da70de8d2538bb042d24c2a65fba5edef9 100644 (file)
@@ -76,7 +76,6 @@
 #undef GetFirstChild
 #endif
 
-#if !defined(__WXMSW__) || wxUSE_XPM_IN_MSW || wxUSE_XPM_IN_OS2
 /* Closed folder */
 static char * icon1_xpm[] = {
 /* width height ncolors chars_per_pixel */
@@ -298,7 +297,6 @@ static char * icon8_xpm[] = {
 "                ",
 "                ",
 "                "};
-#endif // !wxMSW
 
 static const int ID_DIRCTRL = 1000;
 static const int ID_TEXTCTRL = 1001;
@@ -450,7 +448,6 @@ bool wxGenericDirCtrl::Create(wxWindow *parent,
         m_filterListCtrl->FillFilterList(filter, defaultFilter);
 
     m_imageList = new wxImageList(16, 16, TRUE);
-#if !defined(__WXMSW__) || wxUSE_XPM_IN_MSW
     m_imageList->Add(wxIcon(icon1_xpm));
     m_imageList->Add(wxIcon(icon2_xpm));
     m_imageList->Add(wxIcon(icon3_xpm));
@@ -459,18 +456,6 @@ bool wxGenericDirCtrl::Create(wxWindow *parent,
     m_imageList->Add(wxIcon(icon6_xpm));
     m_imageList->Add(wxIcon(icon7_xpm));
     m_imageList->Add(wxIcon(icon8_xpm));
-#elif defined(__WXMSW__)
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_CLOSED_FOLDER"), wxBITMAP_TYPE_ICO_RESOURCE));
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_OPEN_FOLDER"), wxBITMAP_TYPE_ICO_RESOURCE));
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_FILE"), wxBITMAP_TYPE_ICO_RESOURCE));
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_COMPUTER"), wxBITMAP_TYPE_ICO_RESOURCE));
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_DRIVE"), wxBITMAP_TYPE_ICO_RESOURCE));
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_CDROM"), wxBITMAP_TYPE_ICO_RESOURCE));
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_FLOPPY"), wxBITMAP_TYPE_ICO_RESOURCE));
-    m_imageList->Add(wxIcon(wxT("wxICON_SMALL_REMOVEABLE"), wxBITMAP_TYPE_ICO_RESOURCE));
-#else
-#error "Sorry, we don't have icons available for this platforms."
-#endif
     m_treeCtrl->SetImageList(m_imageList);
 
     m_showHidden = FALSE;
index 2a16902e9662b2fb0637e572a44f8d0ed254bb56..7146561693c488edb0408f65ca36b91a5b3d4306 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 16:57, 2001/05/01
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
 ALL_SOURCES = \
                generic/busyinfo.cpp \
@@ -449,7 +449,6 @@ ALL_HEADERS = \
                wxhtml.h \
                wxprec.h \
                xpmdecod.h \
-               xpmhand.h \
                zipstrm.h \
                zstream.h \
                gtk/accel.h \
index 2a16902e9662b2fb0637e572a44f8d0ed254bb56..7146561693c488edb0408f65ca36b91a5b3d4306 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 16:57, 2001/05/01
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
 ALL_SOURCES = \
                generic/busyinfo.cpp \
@@ -449,7 +449,6 @@ ALL_HEADERS = \
                wxhtml.h \
                wxprec.h \
                xpmdecod.h \
-               xpmhand.h \
                zipstrm.h \
                zstream.h \
                gtk/accel.h \
index 9f9975476c29b7992e24aeb366f85119c489678c..7d281c481cba0c4571926ed6cb7aa004188aa5f6 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 01:27, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MOTIF.T!
 ALL_SOURCES = \
                generic/busyinfo.cpp \
@@ -445,7 +445,6 @@ ALL_HEADERS = \
                wxhtml.h \
                wxprec.h \
                xpmdecod.h \
-               xpmhand.h \
                zipstrm.h \
                zstream.h \
                motif/accel.h \
index 959590f87998957e8793200c737dbe518a5797a6..79b21b8e874799a90b0fdb19607ddbcbe5634bdf 100644 (file)
@@ -45,6 +45,7 @@
 
 #include "wx/msw/dib.h"
 #include "wx/image.h"
+#include "wx/xpmdecod.h"
 
 // missing from mingw32 header
 #ifndef CLR_INVALID
@@ -283,9 +284,23 @@ wxBitmap::wxBitmap(const char bits[], int width, int height, int depth)
 // Create from XPM data
 bool wxBitmap::CreateFromXpm(const char **data)
 {
+#if wxUSE_IMAGE && wxUSE_XPM
     Init();
 
-    return Create((void *)data, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0);
+    wxCHECK_MSG( data != NULL, FALSE, wxT("invalid bitmap data") )
+    
+    wxXPMDecoder decoder;
+    wxImage img = decoder.ReadData(data);
+    wxCHECK_MSG( img.Ok(), FALSE, wxT("invalid bitmap data") )
+    
+    *this = wxBitmap(img);
+    
+    if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this);
+
+    return TRUE;
+#else
+       return FALSE;
+#endif
 }
 
 wxBitmap::wxBitmap(int w, int h, int d)
index dfc7900a1defbfdea6c20db05e4983113aeefdbf..215ddda18d31807a6c1f8d0916e92e658a55a23d 100644 (file)
 #include "wx/msw/gdiimage.h"
 #include "wx/bitmap.h"
 
-#if 0 // wxUSE_XPM_IN_MSW
-#   include "wx/xpmhand.h"
-#endif // wxUSE_XPM_IN_MSW
-
 #ifdef __WIN16__
 #   include "wx/msw/curico.h"
 #endif // __WIN16__
@@ -301,14 +297,6 @@ void wxGDIImage::InitStandardHandlers()
 {
     AddHandler(new wxBMPResourceHandler);
     AddHandler(new wxBMPFileHandler);
-
-    // GRG: Add these handlers by default if XPM support is enabled
-
-#if 0 // wxUSE_XPM_IN_MSW
-    AddHandler(new wxXPMFileHandler);
-    AddHandler(new wxXPMDataHandler);
-#endif // wxUSE_XPM_IN_MSW
-
     AddHandler(new wxICOResourceHandler);
     AddHandler(new wxICOFileHandler);
 }
index 953d25cc2597dc080551c7b81a5602ab9e802154..d913caf45596126f6279b22f718136a6aec9d318 100644 (file)
@@ -1,6 +1,6 @@
 
 
-# This file was automatically generated by tmake at 01:26, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
 
 #
@@ -601,8 +601,6 @@ $(MSWDIR)\wave.obj: $(MSWDIR)\wave.$(SRCSUFF)
 
 $(MSWDIR)\window.obj: $(MSWDIR)\window.$(SRCSUFF)
 
-$(MSWDIR)\xpmhand.obj: $(MSWDIR)\xpmhand.$(SRCSUFF)
-
 
 
 ########################################################
index 56894f3cb153a429e4f9a6b331b40c85ced6c56a..16338ef93820a26a4305e1cb9a1f9d9081842777 100644 (file)
@@ -1,6 +1,6 @@
 
 
-# This file was automatically generated by tmake at 01:26, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
 
 #
@@ -477,8 +477,6 @@ $(MSWDIR)\wave.obj: $(MSWDIR)\wave.$(SRCSUFF)
 
 $(MSWDIR)\window.obj: $(MSWDIR)\window.$(SRCSUFF)
 
-$(MSWDIR)\xpmhand.obj: $(MSWDIR)\xpmhand.$(SRCSUFF)
-
 
 
 ########################################################
index 9ec73748f32071304bfd4d3870e840652b7cfdb7..27aafb2fa42bff485843f9edc9392009a3df1356 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 01:26, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
 
 #
@@ -268,8 +268,7 @@ MSWOBJS2 = $(MSWDIR)\palette.obj \
                $(MSWDIR)\utils.obj \
                $(MSWDIR)\utilsexc.obj \
                $(MSWDIR)\wave.obj \
-               $(MSWDIR)\window.obj \
-               $(MSWDIR)\xpmhand.obj
+               $(MSWDIR)\window.obj
 
 # TODO: Implement XPM and PNG targets in this makefile!
 #  $(OLEDIR)\xpmhand \
@@ -756,11 +755,6 @@ $(MSWDIR)/window.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
 <<
 
-$(MSWDIR)/xpmhand.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-<<
-
 $(COMMDIR)/appcmn.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
index 8f555bfa32d3472195f59d569ad1c8a7aebc7d0d..9d6c966d90c401fd1c4fa14304fb2ee89d0a6ac4 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 01:26, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
 
 #
index f4b3544cb6e7dbe21bde96144b5d76c5a34544f8..2d4e6ed4827b4755b429cddef29d35374d45e023 100644 (file)
@@ -1,6 +1,6 @@
 
 
-# This file was automatically generated by tmake at 01:26, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
 
 # Symantec C++ makefile for the msw objects
@@ -264,8 +264,7 @@ MSWOBJS = $(MSWDIR)\accel.obj \
                $(MSWDIR)\utilsexc.obj \
                $(MSWDIR)\ole\uuid.obj \
                $(MSWDIR)\wave.obj \
-               $(MSWDIR)\window.obj \
-               $(MSWDIR)\xpmhand.obj
+               $(MSWDIR)\window.obj
 
 XPMOBJECTS =   $(XPMDIR)\crbuffri.obj\
                $(XPMDIR)\crdatfri.obj\
index 437f5623ab392f823ce6f661714b947fa8d9a7b3..f940d3b6aad2de1af9a3f64678312e1cfcb1fe6e 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 01:26, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
 
 # File:     makefile.vc
@@ -464,7 +464,11 @@ $(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
     $(link) @<<
     $(LINKFLAGS)
     -out:$(WXDIR)\lib\$(WXLIBNAME).dll
+<<<<<<< vc.t
+    $(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(GL_LIBS) $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib  $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib
+=======
     $(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(GL_LIBS) $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib
+>>>>>>> 1.32
        delayimp.lib
        /delayload:ws2_32.dll /delayload:advapi32.dll /delayload:user32.dll /delayload:gdi32.dll
        /delayload:comdlg32.dll /delayload:shell32.dll /delayload:comctl32.dll /delayload:ole32.dll
@@ -653,7 +657,6 @@ clean: $(PERIPH_CLEAN_TARGET)
         -rmdir ..\common\$(D)
         -rmdir ..\html\$(D)
 
-
 # Making documents
 docs:   allhlp allhtml allpdfrtf allhtb allhtmlhelp
 alldocs: docs
index 5ebfeff50f15e025711ec8d78d619671113cb25b..43e5b5ce18a6b45726b5f5c2eae3c51eadfd2550 100644 (file)
@@ -1,6 +1,6 @@
 #!/binb/wmake.exe
 
-# This file was automatically generated by tmake at 01:26, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
 
 #
@@ -647,9 +647,6 @@ wave.obj:     $(MSWDIR)\wave.cpp
 window.obj:     $(MSWDIR)\window.cpp
   *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
 
-#xpmhand.obj:     $(MSWDIR)\xpmhand.cpp
-#  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
-
 
 
 ########################################################
index 74bae32d7b43d4f38f2510ef7736f34bde1d24c2..9b25470e139702e566f934d3ec5e91e267f623af 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 01:27, 2001/04/29
+# This file was automatically generated by tmake at 00:44, 2001/05/09
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE OS2.T!
 ALL_SOURCES = \
                generic/busyinfo.cpp \
@@ -455,7 +455,6 @@ ALL_HEADERS = \
                wxhtml.h \
                wxprec.h \
                xpmdecod.h \
-               xpmhand.h \
                zipstrm.h \
                zstream.h \
                os2/accel.h \