git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36566
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxEnhMetaFile *Close();
private:
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)
};
DECLARE_DYNAMIC_CLASS_NO_COPY(wxEnhMetaFileDC)
};
void SetWindowsMappingMode(int mm) { m_windowsMappingMode = mm; }
protected:
void SetWindowsMappingMode(int mm) { m_windowsMappingMode = mm; }
protected:
+ virtual void DoGetSize(int *width, int *height) const;
+
int m_windowsMappingMode;
wxMetafile* m_metaFile;
int m_windowsMappingMode;
wxMetafile* m_metaFile;
int width, int height,
const wxString& description)
{
int width, int height,
const wxString& description)
{
+ m_width = width;
+ m_height = height;
+
RECT rect;
RECT *pRect;
if ( width && height )
RECT rect;
RECT *pRect;
if ( width && height )
m_hDC = (WXHDC)::CreateEnhMetaFile(hdcRef, GetMetaFileName(filename),
pRect, description);
if ( !m_hDC )
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") );
wxEnhMetaFile *wxEnhMetaFileDC::Close()
{
wxCHECK_MSG( Ok(), NULL, _T("invalid wxEnhMetaFileDC") );
*externalLeading = tm.tmExternalLeading;
}
*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);
wxMetafile *wxMetafileDC::Close()
{
SelectOldObjects(m_hDC);