]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/metafile.cpp
Added 32-bit (UCS-4) wxUString class
[wxWidgets.git] / src / os2 / metafile.cpp
index 797b023742c5eb9a9bf4e9c04d1e27ca86e0e169..2938562b0320831e75ca7f42ddb95d2a27d4c118 100644 (file)
@@ -15,8 +15,8 @@
 #if wxUSE_METAFILE
 
 #ifndef WX_PRECOMP
-#include "wx/utils.h"
-#include "wx/app.h"
+    #include "wx/utils.h"
+    #include "wx/app.h"
 #endif
 
 #include "wx/metafile.h"
@@ -66,6 +66,16 @@ wxMetafile::~wxMetafile(void)
 {
 }
 
+wxGDIRefData *wxMetafile::CreateGDIRefData() const
+{
+    return new wxMetafileRefData;
+}
+
+wxGDIRefData *wxMetafile::CloneGDIRefData(const wxGDIRefData *data) const
+{
+    return new wxMetafileRefData(*wx_static_cast(const wxMetafileRefData *, data));
+}
+
 bool wxMetafile::SetClipboard(int width, int height)
 {
 #if !wxUSE_CLIPBOARD
@@ -80,7 +90,7 @@ bool wxMetafile::SetClipboard(int width, int height)
     if (!alreadyOpen)
     {
         wxOpenClipboard();
-        if (!wxEmptyClipboard()) return FALSE;
+        if (!wxEmptyClipboard()) return false;
     }
     bool success = wxSetClipboardData(wxDF_METAFILE, this, width,height);
     if (!alreadyOpen) wxCloseClipboard();
@@ -91,7 +101,7 @@ bool wxMetafile::SetClipboard(int width, int height)
 bool wxMetafile::Play(wxDC *dc)
 {
     if (!m_refData)
-        return FALSE;
+        return false;
 
  //   if (dc->GetHDC() && M_METAFILEDATA->m_metafile)
  //       PlayMetaFile((HDC) dc->GetHDC(), (HMETAFILE) M_METAFILEDATA->m_metafile);
@@ -122,7 +132,8 @@ void wxMetafile::SetWindowsMappingMode(int mm)
 
 // Original constructor that does not takes origin and extent. If you use this,
 // *DO* give origin/extent arguments to wxMakeMetafilePlaceable.
-wxMetafileDC::wxMetafileDC(const wxString& file)
+wxMetafileDCImpl::wxMetafileDCImpl(wxDC *owner, const wxString& file)
+    : wxPMDCImpl(owner)
 {
   m_metaFile = NULL;
   m_minX = 10000;
@@ -152,11 +163,12 @@ wxMetafileDC::wxMetafileDC(const wxString& file)
 
 // New constructor that takes origin and extent. If you use this, don't
 // give origin/extent arguments to wxMakeMetafilePlaceable.
-wxMetafileDC::wxMetafileDC( const wxString& file,
-                            int WXUNUSED(xext),
-                            int WXUNUSED(yext),
-                            int WXUNUSED(xorg),
-                            int WXUNUSED(yorg) )
+wxMetafileDCImpl::wxMetafileDCImpl( wxDC *owner, const wxString& file,
+                                    int WXUNUSED(xext),
+                                    int WXUNUSED(yext),
+                                    int WXUNUSED(xorg),
+                                    int WXUNUSED(yorg) )
+    : wxPMDCImpl(owner)
 {
     m_minX = 10000;
     m_minY = 10000;
@@ -178,22 +190,21 @@ wxMetafileDC::wxMetafileDC( const wxString& file,
     SetMapMode(wxMM_TEXT); // NOTE: does not set HDC mapmode (this is correct)
 }
 
-wxMetafileDC::~wxMetafileDC(void)
+wxMetafileDCImpl::~wxMetafileDCImpl(void)
 {
   m_hDC = 0;
 }
 
-void wxMetafileDC::GetTextExtent(const wxString& WXUNUSED(string),
-                                 long *WXUNUSED(x),
-                                 long *WXUNUSED(y),
-                                 long *WXUNUSED(descent),
-                                 long *WXUNUSED(externalLeading),
-                                 wxFont *theFont,
-                                 bool WXUNUSED(use16bit) ) const
+void wxMetafileDCImpl::DoGetTextExtent(const wxString& WXUNUSED(string),
+                                     wxCoord *WXUNUSED(x),
+                                     wxCoord *WXUNUSED(y),
+                                     wxCoord *WXUNUSED(descent),
+                                     wxCoord *WXUNUSED(externalLeading),
+                                     const wxFont *theFont) const
 {
-    wxFont *fontToUse = theFont;
+    const wxFont *fontToUse = theFont;
     if (!fontToUse)
-        fontToUse = (wxFont*) &m_font;
+        fontToUse = &m_font;
 
     // TODO:
 /*
@@ -217,7 +228,7 @@ void wxMetafileDC::GetTextExtent(const wxString& WXUNUSED(string),
 */
 }
 
-wxMetafile *wxMetafileDC::Close(void)
+wxMetafile *wxMetafileDCImpl::Close(void)
 {
   SelectOldObjects(m_hDC);
   HANDLE mf = 0; // TODO: CloseMetaFile((HDC) m_hDC);
@@ -232,7 +243,7 @@ wxMetafile *wxMetafileDC::Close(void)
   return NULL;
 }
 
-void wxMetafileDC::SetMapMode(int mode)
+void wxMetafileDCImpl::SetMapMode(int mode)
 {
   m_mappingMode = mode;
 
@@ -354,13 +365,13 @@ bool wxMakeMetafilePlaceable(const wxString& WXUNUSED(filename),
 
     FILE *fd = fopen(filename.fn_str(), "rb");
     if (!fd)
-        return FALSE;
+        return false;
 
     wxChar tempFileBuf[256];
     wxGetTempFileName(wxT("mf"), tempFileBuf);
     FILE *fHandle = fopen(wxConvFile.cWX2MB(tempFileBuf), "wb");
     if (!fHandle)
-        return FALSE;
+        return false;
     fwrite((void *)&header, sizeof(unsigned char), sizeof(mfPLACEABLEHEADER), fHandle);
 
     // Calculate origin and extent