X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/23324ae1c7938ba904770fc456d3c07764b9c5e9..3201a1046ba71ba8e5ef2ed694fde34d12f743f3:/interface/metafile.h?ds=sidebyside diff --git a/interface/metafile.h b/interface/metafile.h index 7ce2472338..f994f22cec 100644 --- a/interface/metafile.h +++ b/interface/metafile.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: metafile.h -// Purpose: documentation for wxMetafileDC class +// Purpose: interface of wxMetafileDC // Author: wxWidgets team // RCS-ID: $Id$ // Licence: wxWindows license @@ -9,29 +9,28 @@ /** @class wxMetafileDC @wxheader{metafile.h} - + This is a type of device context that allows a metafile object to be created (Windows only), and has most of the characteristics of a normal @b wxDC. The wxMetafileDC::Close member must be called after drawing into the device context, to return a metafile. The only purpose for this at present is to allow the metafile to be copied to the clipboard (see wxMetafile). - + Adding metafile capability to an application should be easy if you already write to a wxDC; simply pass the wxMetafileDC to your drawing function instead. You may wish to conditionally compile this code so it is not compiled under X (although no harm will result if you leave it in). - + Note that a metafile saved to disk is in standard Windows metafile format, and cannot be imported into most applications. To make it importable, call the function ::wxMakeMetafilePlaceable after closing your disk-based metafile device context. - + @library{wxcore} @category{dc} - - @seealso - wxMetafile, wxDC + + @see wxMetafile, wxDC */ class wxMetafileDC : public wxDC { @@ -52,25 +51,25 @@ public: metafile is returned, and ownership of it passes to the calling application (so it should be destroyed explicitly). */ - wxMetafile * Close(); + wxMetafile* Close(); }; + /** @class wxMetafile @wxheader{metafile.h} - + A @b 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. - + @library{wxcore} @category{FIXME} - - @seealso - wxMetafileDC + + @see wxMetafileDC */ class wxMetafile : public wxObject { @@ -92,19 +91,18 @@ public: /** Returns @true if the metafile is valid. */ -#define bool Ok() /* implementation is private */ + bool Ok(); /** Plays the metafile into the given device context, returning @true if successful. */ - bool Play(wxDC * dc); + bool Play(wxDC* dc); /** 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 a example of metafile, metafile device context and clipboard use from the @c hello.cpp example. Note the way the metafile dimensions are passed to the clipboard, making use of the device context's ability @@ -114,38 +112,45 @@ public: }; + // ============================================================================ // Global functions/macros // ============================================================================ +/** @ingroup group_funcmacro_gdi */ +//@{ + /** Given a filename for an existing, valid metafile (as constructed using - wxMetafileDC) - makes it into a placeable metafile by prepending a header containing the given - bounding box. The bounding box may be obtained from a device context after - drawing - into it, using the functions wxDC::MinX, wxDC::MinY, wxDC::MaxX and wxDC::MaxY. - - In addition to adding the placeable metafile header, this function adds - the equivalent of the following code to the start of the metafile data: + wxMetafileDC) makes it into a placeable metafile by prepending a header + containing the given bounding box. The bounding box may be obtained from a + device context after drawing into it, using the functions wxDC::MinX(), + wxDC::MinY(), wxDC::MaxX() and wxDC::MaxY(). + + In addition to adding the placeable metafile header, this function adds the + equivalent of the following code to the start of the metafile data: + @code SetMapMode(dc, MM_ANISOTROPIC); - SetWindowOrg(dc, minX, minY); - SetWindowExt(dc, maxX - minX, maxY - minY); + SetWindowOrg(dc, minX, minY); + SetWindowExt(dc, maxX - minX, maxY - minY); @endcode - + This simulates the wxMM_TEXT mapping mode, which wxWidgets assumes. - - Placeable metafiles may be imported by many Windows applications, and can be - used in RTF (Rich Text Format) files. - - @e scale allows the specification of scale for the metafile. - + + Placeable metafiles may be imported by many Windows applications, and can + be used in RTF (Rich Text Format) files. + + @a scale allows the specification of scale for the metafile. + This function is only available under Windows. + + @header{wx/metafile.h} */ -bool wxMakeMetafilePlaceable(const wxString& filename, int minX, - int minY, - int maxX, - int maxY, - float scale=1.0); +bool wxMakeMetafilePlaceable(const wxString& filename, + int minX, int minY, + int maxX, int maxY, + float scale = 1.0); + +//@}