| Version: 3.3.1

Public Member Functions | List of all members
wxMetafile Class Reference
Class List by Category » Graphics Device Interface (GDI)

`#include <wx/metafile.h>`

Inheritance diagram for wxMetafile:
[legend]

## Detailed Description

A wxMetafile represents the MS Windows metafile object, so metafile operations have no effect in X.

In wxWidgets, only sufficient functionality has been provided for copying a graphic to the clipboard; this may be extended in a future version.

Presently, the only way of creating a metafile is to use a wxMetafileDC.

Availability: only available for the wxMSW port.

##

Library: wxCore
Category: Graphics Device Interface (GDI)

See also
  wxMetafileDC

## Public Member Functions
| wxMetafile (const wxString &filename=wxEmptyString)
| Constructor. More...
| ~wxMetafile ()
| Destructor. More...
bool | IsOk ()
| Returns true if the metafile is valid. More...
bool | Play (wxDC *dc)
| Plays the metafile into the given device context, returning true if successful. More...
bool | SetClipboard (int width=0, int height=0)
| Passes the metafile data to the clipboard. More...
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to nullptr the internal reference data. More...
| wxObject (const wxObject &other)
| Copy ctor. More...
virtual | ~wxObject ()
| Destructor. More...
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class. More...
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj. More...
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone. More...
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer. More...
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
void | UnShare ()
| This is the same of AllocExclusive() but this method is public. More...
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...
void * | operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...

## Additional Inherited Members
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Constructor & Destructor Documentation

## ◆ wxMetafile()

wxMetafile::wxMetafile | ( | const wxString & | filename = `wxEmptyString` | ) |

Constructor.

If a filename is given, the Windows disk metafile is read in. Check whether this was performed successfully by using the IsOk() member.

## ◆ ~wxMetafile()

wxMetafile::~wxMetafile | ( |  | ) |

Destructor.

See Object Destruction for more info.

## Member Function Documentation

## ◆ IsOk()

bool wxMetafile::IsOk | ( |  | ) |

Returns true if the metafile is valid.

## ◆ Play()

bool wxMetafile::Play | ( | wxDC * | dc | ) |

Plays the metafile into the given device context, returning true if successful.

## ◆ SetClipboard()

bool wxMetafile::SetClipboard | ( | int | width = `0`,
|  | int | height = `0`
| ) |  |

Passes the metafile data to the clipboard.

The metafile can no longer be used for anything, but the wxMetafile object must still be destroyed by the application.

Below is an example of metafile, metafile device context and clipboard use from the `hello.cpp` example. Note the way the metafile dimensions are passed to the clipboard, making use of the device context's ability to keep track of the maximum extent of drawing commands.

wxMetafileDC dc;
if (dc.IsOk())
{
Draw(dc, false);
wxMetafile *mf = dc.Close();
if (mf)
{
bool success = mf->SetClipboard((int)(dc.MaxX() + 10), (int)(dc.MaxY() + 10));
delete mf;
}
}
wxDC::MaxX
wxCoord MaxX() const
Gets the maximum horizontal extent used in drawing commands so far.
wxDC::MaxY
wxCoord MaxY() const
Gets the maximum vertical extent used in drawing commands so far.
wxMetafileDC
This is a type of device context that allows a metafile object to be created (Windows only),...
Definition: metafile.h:35
wxMetafileDC::Close
wxMetafile * Close()
This must be called after the device context is finished with.
wxMetafile
A wxMetafile represents the MS Windows metafile object, so metafile operations have no effect in X.
Definition: metafile.h:76
wxMetafile::SetClipboard
bool SetClipboard(int width=0, int height=0)
Passes the metafile data to the clipboard.
wxReadOnlyDC::IsOk
bool IsOk() const
Returns true if the DC is ok to use.