git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35233
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
fi
AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
fi
+dnl ---------------------------------------------------------------------------
+dnl wxMetafile availability
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_METAFILE" = "yes"; then
+ if test "$wxUSE_MSW" != 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_PM" != 1; then
+ AC_MSG_WARN([wxMetafile is not available on this system... disabled])
+ wxUSE_METAFILE=no
+ fi
+fi
+
dnl ---------------------------------------------------------------------------
dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
dnl ---------------------------------------------------------------------------
#ifndef _WX_METAFIILE_H_
#define _WX_METAFIILE_H_
#ifndef _WX_METAFIILE_H_
#define _WX_METAFIILE_H_
#include "wx/dc.h"
#include "wx/gdiobj.h"
#include "wx/dc.h"
#include "wx/gdiobj.h"
-#endif // wxUSE_METAFILE
-
-
#endif
// _WX_METAFIILE_H_
#endif
// _WX_METAFIILE_H_
#ifndef _WX_METAFILE_H_BASE_
#define _WX_METAFILE_H_BASE_
#ifndef _WX_METAFILE_H_BASE_
#define _WX_METAFILE_H_BASE_
+#include "wx/defs.h"
+
+#if wxUSE_METAFILE
+
// provide synonyms for all metafile classes
#define wxMetaFile wxMetafile
#define wxMetaFileDC wxMetafileDC
// provide synonyms for all metafile classes
#define wxMetaFile wxMetafile
#define wxMetaFileDC wxMetafileDC
#include "wx/mac/metafile.h"
#endif
#include "wx/mac/metafile.h"
#endif
+#endif // wxUSE_METAFILE
#endif
// _WX_METAFILE_H_BASE_
#endif
// _WX_METAFILE_H_BASE_
#pragma interface "metafile.h"
#endif
#pragma interface "metafile.h"
#endif
-#include "wx/setup.h"
-
-#if wxUSE_METAFILE
-
#include "wx/dc.h"
#include "wx/gdiobj.h"
#include "wx/dc.h"
#include "wx/gdiobj.h"
#endif // wxUSE_DRAG_AND_DROP
#endif // wxUSE_DRAG_AND_DROP
-#endif // wxUSE_METAFILE
#endif
// _WX_METAFIILE_H_
#endif
// _WX_METAFIILE_H_
#ifndef _WX_METAFIILE_H_
#define _WX_METAFIILE_H_
#ifndef _WX_METAFIILE_H_
#define _WX_METAFIILE_H_
-#include "wx/setup.h"
-
-#if wxUSE_METAFILE
#include "wx/dc.h"
#include "wx/gdiobj.h"
#include "wx/dc.h"
#include "wx/gdiobj.h"
-#endif // wxUSE_METAFILE
#endif
// _WX_METAFIILE_H_
#endif
// _WX_METAFIILE_H_
#pragma interface "metafile.h"
#endif
#pragma interface "metafile.h"
#endif
-#include "wx/setup.h"
-
-#if wxUSE_METAFILE
-
#include "wx/dc.h"
#include "wx/gdiobj.h"
#include "wx/dc.h"
#include "wx/gdiobj.h"
#endif // wxUSE_DRAG_AND_DROP
#endif // wxUSE_DRAG_AND_DROP
-#endif // wxUSE_METAFILE
#endif
// _WX_METAFIILE_H_
#endif
// _WX_METAFIILE_H_
#include "wx/wx.h"
#endif
#include "wx/wx.h"
#endif
-#include "wx/intl.h"
-#include "wx/log.h"
-
-#include "wx/dirdlg.h"
-#include "wx/filedlg.h"
#include "wx/image.h"
#include "wx/clipbrd.h"
#include "wx/colordlg.h"
#include "wx/image.h"
#include "wx/clipbrd.h"
#include "wx/colordlg.h"
-#include "wx/sizer.h"
-#include "wx/dataobj.h"
-
-#if wxUSE_METAFILES
- #include "wx/metafile.h"
-#endif // wxUSE_METAFILES
+#include "wx/metafile.h"
#if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__)
#include "../sample.xpm"
#if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__)
#include "../sample.xpm"
// and the same thing fo metafiles
class DnDCanvasMetafile : public wxScrolledWindow
// and the same thing fo metafiles
class DnDCanvasMetafile : public wxScrolledWindow
- void OnPaint(wxPaintEvent& event)
+ void OnPaint(wxPaintEvent&)
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// ----------------------------------------------------------------------------
// Define a new frame type for the main frame
// ----------------------------------------------------------------------------
// Define a new frame type for the main frame
void OnCopyBitmap(wxCommandEvent& event);
void OnPasteBitmap(wxCommandEvent& event);
void OnCopyBitmap(wxCommandEvent& event);
void OnPasteBitmap(wxCommandEvent& event);
void OnPasteMetafile(wxCommandEvent& event);
void OnPasteMetafile(wxCommandEvent& event);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
void OnCopyFiles(wxCommandEvent& event);
void OnCopyFiles(wxCommandEvent& event);
// we don't draw the shape to a bitmap until it's really needed (i.e.
// we're asked to do so)
m_hasBitmap = false;
// we don't draw the shape to a bitmap until it's really needed (i.e.
// we're asked to do so)
m_hasBitmap = false;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
}
virtual ~DnDShapeDataObject() { delete m_shape; }
}
virtual ~DnDShapeDataObject() { delete m_shape; }
m_shape = (DnDShape *)NULL;
m_hasBitmap = false;
m_shape = (DnDShape *)NULL;
m_hasBitmap = false;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// but the bitmap format(s) are only supported for output
nFormats += m_dobjBitmap.GetFormatCount(dir);
// but the bitmap format(s) are only supported for output
nFormats += m_dobjBitmap.GetFormatCount(dir);
nFormats += m_dobjMetaFile.GetFormatCount(dir);
nFormats += m_dobjMetaFile.GetFormatCount(dir);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// under Windows
m_dobjBitmap.GetAllFormats(&formats[1], dir);
// under Windows
m_dobjBitmap.GetAllFormats(&formats[1], dir);
// don't assume that m_dobjBitmap has only 1 format
m_dobjMetaFile.GetAllFormats(&formats[1 +
m_dobjBitmap.GetFormatCount(dir)], dir);
// don't assume that m_dobjBitmap has only 1 format
m_dobjMetaFile.GetAllFormats(&formats[1 +
m_dobjBitmap.GetFormatCount(dir)], dir);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
{
return m_shape->GetDataSize();
}
{
return m_shape->GetDataSize();
}
else if ( m_dobjMetaFile.IsSupported(format) )
{
if ( !m_hasMetaFile )
else if ( m_dobjMetaFile.IsSupported(format) )
{
if ( !m_hasMetaFile )
return m_dobjMetaFile.GetDataSize(format);
}
return m_dobjMetaFile.GetDataSize(format);
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
else
{
wxASSERT_MSG( m_dobjBitmap.IsSupported(format),
else
{
wxASSERT_MSG( m_dobjBitmap.IsSupported(format),
else if ( m_dobjMetaFile.IsSupported(format) )
{
if ( !m_hasMetaFile )
else if ( m_dobjMetaFile.IsSupported(format) )
{
if ( !m_hasMetaFile )
return m_dobjMetaFile.GetDataHere(format, pBuf);
}
return m_dobjMetaFile.GetDataHere(format, pBuf);
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
else
{
wxASSERT_MSG( m_dobjBitmap.IsSupported(format),
else
{
wxASSERT_MSG( m_dobjBitmap.IsSupported(format),
// the shape has changed
m_hasBitmap = false;
// the shape has changed
m_hasBitmap = false;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
private:
// creates a bitmap and assigns it to m_dobjBitmap (also sets m_hasBitmap)
void CreateBitmap() const;
private:
// creates a bitmap and assigns it to m_dobjBitmap (also sets m_hasBitmap)
void CreateBitmap() const;
void CreateMetaFile() const;
void CreateMetaFile() const;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
wxDataFormat m_formatShape; // our custom format
wxBitmapDataObject m_dobjBitmap; // it handles bitmaps
bool m_hasBitmap; // true if m_dobjBitmap has valid bitmap
wxDataFormat m_formatShape; // our custom format
wxBitmapDataObject m_dobjBitmap; // it handles bitmaps
bool m_hasBitmap; // true if m_dobjBitmap has valid bitmap
wxMetaFileDataObject m_dobjMetaFile;// handles metafiles
bool m_hasMetaFile; // true if we have valid metafile
wxMetaFileDataObject m_dobjMetaFile;// handles metafiles
bool m_hasMetaFile; // true if we have valid metafile
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
DnDShape *m_shape; // our data
};
DnDShape *m_shape; // our data
};
static void ShowBitmap(const wxBitmap& bitmap);
static void ShowBitmap(const wxBitmap& bitmap);
static void ShowMetaFile(const wxMetaFile& metafile);
static void ShowMetaFile(const wxMetaFile& metafile);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// ----------------------------------------------------------------------------
// IDs for the menu commands
// ----------------------------------------------------------------------------
// IDs for the menu commands
EVT_MENU(Menu_Paste, DnDFrame::OnPaste)
EVT_MENU(Menu_CopyBitmap, DnDFrame::OnCopyBitmap)
EVT_MENU(Menu_PasteBitmap,DnDFrame::OnPasteBitmap)
EVT_MENU(Menu_Paste, DnDFrame::OnPaste)
EVT_MENU(Menu_CopyBitmap, DnDFrame::OnCopyBitmap)
EVT_MENU(Menu_PasteBitmap,DnDFrame::OnPasteBitmap)
EVT_MENU(Menu_PasteMFile, DnDFrame::OnPasteMetafile)
EVT_MENU(Menu_PasteMFile, DnDFrame::OnPasteMetafile)
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
EVT_MENU(Menu_CopyFiles, DnDFrame::OnCopyFiles)
EVT_UPDATE_UI(Menu_DragMoveDef, DnDFrame::OnUpdateUIMoveByDefault)
EVT_MENU(Menu_CopyFiles, DnDFrame::OnCopyFiles)
EVT_UPDATE_UI(Menu_DragMoveDef, DnDFrame::OnUpdateUIMoveByDefault)
EVT_PAINT(DnDCanvasBitmap::OnPaint)
END_EVENT_TABLE()
EVT_PAINT(DnDCanvasBitmap::OnPaint)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(DnDCanvasMetafile, wxScrolledWindow)
EVT_PAINT(DnDCanvasMetafile::OnPaint)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(DnDCanvasMetafile, wxScrolledWindow)
EVT_PAINT(DnDCanvasMetafile::OnPaint)
END_EVENT_TABLE()
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
#endif // wxUSE_DRAG_AND_DROP
#endif // wxUSE_DRAG_AND_DROP
clip_menu->AppendSeparator();
clip_menu->Append(Menu_CopyBitmap, _T("Copy &bitmap\tCtrl-Shift-C"));
clip_menu->Append(Menu_PasteBitmap, _T("Paste b&itmap\tCtrl-Shift-V"));
clip_menu->AppendSeparator();
clip_menu->Append(Menu_CopyBitmap, _T("Copy &bitmap\tCtrl-Shift-C"));
clip_menu->Append(Menu_PasteBitmap, _T("Paste b&itmap\tCtrl-Shift-V"));
clip_menu->AppendSeparator();
clip_menu->Append(Menu_PasteMFile, _T("Paste &metafile\tCtrl-M"));
clip_menu->AppendSeparator();
clip_menu->Append(Menu_PasteMFile, _T("Paste &metafile\tCtrl-M"));
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
clip_menu->AppendSeparator();
clip_menu->Append(Menu_CopyFiles, _T("Copy &files\tCtrl-F"));
clip_menu->AppendSeparator();
clip_menu->Append(Menu_CopyFiles, _T("Copy &files\tCtrl-F"));
wxTheClipboard->Close();
}
wxTheClipboard->Close();
}
void DnDFrame::OnPasteMetafile(wxCommandEvent& WXUNUSED(event))
{
void DnDFrame::OnPasteMetafile(wxCommandEvent& WXUNUSED(event))
{
wxTheClipboard->Close();
}
wxTheClipboard->Close();
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// ----------------------------------------------------------------------------
// file clipboard
// ----------------------------------------------------------------------------
// file clipboard
// DnDShapeDataObject
// ----------------------------------------------------------------------------
// DnDShapeDataObject
// ----------------------------------------------------------------------------
void DnDShapeDataObject::CreateMetaFile() const
{
void DnDShapeDataObject::CreateMetaFile() const
{
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
void DnDShapeDataObject::CreateBitmap() const
{
void DnDShapeDataObject::CreateBitmap() const
{
static void ShowMetaFile(const wxMetaFile& metafile)
{
static void ShowMetaFile(const wxMetaFile& metafile)
{
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
#endif // wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD
#endif // wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD