wxEnhMetaFile *Close();
private:
+ virtual void DoGetSize(int *width, int *height) const;
+
+ // size passed to ctor and returned by DoGetSize()
+ int m_width,
+ m_height;
+
DECLARE_DYNAMIC_CLASS_NO_COPY(wxEnhMetaFileDC)
};
void SetWindowsMappingMode(int mm) { m_windowsMappingMode = mm; }
protected:
+ virtual void DoGetSize(int *width, int *height) const;
+
int m_windowsMappingMode;
wxMetafile* m_metaFile;
int width, int height,
const wxString& description)
{
- ScreenHDC hdcRef;
+ m_width = width;
+ m_height = height;
+
RECT rect;
RECT *pRect;
if ( width && height )
pRect = (LPRECT)NULL;
}
+ ScreenHDC hdcRef;
m_hDC = (WXHDC)::CreateEnhMetaFile(hdcRef, GetMetaFileName(filename),
pRect, description);
if ( !m_hDC )
}
}
+void wxEnhMetaFileDC::DoGetSize(int *width, int *height) const
+{
+ if ( width )
+ *width = m_width;
+ if ( height )
+ *height = m_height;
+}
+
wxEnhMetaFile *wxEnhMetaFileDC::Close()
{
wxCHECK_MSG( Ok(), NULL, _T("invalid wxEnhMetaFileDC") );
*externalLeading = tm.tmExternalLeading;
}
+void wxMetafileDC::DoGetSize(int *width, int *height) const
+{
+ wxCHECK_RET( m_refData, _T("invalid wxMetafileDC") );
+
+ if ( width )
+ *width = M_METAFILEDATA->m_width;
+ if ( height )
+ *height = M_METAFILEDATA->m_height;
+}
+
wxMetafile *wxMetafileDC::Close()
{
SelectOldObjects(m_hDC);