| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        metafile.h
 
- // Purpose:     interface of wxMetafileDC
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     @class wxMetafileDC
 
-     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}
 
-     @see wxMetafile, wxDC
 
- */
 
- class wxMetafileDC : public wxDC
 
- {
 
- public:
 
-     /**
 
-         Constructor.
 
-         If no filename is passed, the metafile is created in memory.
 
-     */
 
-     wxMetafileDC(const wxString& filename = wxEmptyString);
 
-     /**
 
-         Destructor.
 
-     */
 
-     ~wxMetafileDC();
 
-     /**
 
-         This must be called after the device context is finished with.
 
-         A metafile is returned, and ownership of it passes to the calling
 
-         application (so it should be destroyed explicitly).
 
-     */
 
-     wxMetafile* Close();
 
- };
 
- /**
 
-     @class wxMetafile
 
-     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.
 
-     @onlyfor{wxmsw}
 
-     @library{wxcore}
 
-     @category{gdi}
 
-     @see wxMetafileDC
 
- */
 
- class wxMetafile : public wxObject
 
- {
 
- public:
 
-     /**
 
-         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(const wxString& filename = wxEmptyString);
 
-     /**
 
-         Destructor.
 
-         See @ref overview_refcount_destruct for more info.
 
-     */
 
-     ~wxMetafile();
 
-     /**
 
-         Returns @true if the metafile is valid.
 
-     */
 
-     bool IsOk();
 
-     /**
 
-         Plays the metafile into the given device context, returning
 
-         @true if successful.
 
-     */
 
-     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
 
-         to keep track of the maximum extent of drawing commands.
 
-         @code
 
-         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;
 
-             }
 
-         }
 
-         @endcode
 
-     */
 
-     bool SetClipboard(int width = 0, int height = 0);
 
- };
 
- // ============================================================================
 
- // Global functions/macros
 
- // ============================================================================
 
- /** @addtogroup 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:
 
-     @code
 
-     SetMapMode(dc, MM_ANISOTROPIC);
 
-     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.
 
-     @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);
 
- //@}
 
 
  |