]> git.saurik.com Git - wxWidgets.git/blame_incremental - docs/latex/wx/metafile.tex
If somebody ever decides to actually check in fsfile.tex and
[wxWidgets.git] / docs / latex / wx / metafile.tex
... / ...
CommitLineData
1\section{\class{wxMetafile}}\label{wxmetafile}
2
3A {\bf wxMetafile} represents the MS Windows metafile object, so metafile
4operations have no effect in X. In wxWindows, only sufficient functionality
5has been provided for copying a graphic to the clipboard; this may be extended
6in a future version. Presently, the only way of creating a metafile
7is to use a wxMetafileDC.
8
9\wxheading{Derived from}
10
11\helpref{wxObject}{wxobject}
12
13\wxheading{Include files}
14
15<wx/metafile.h>
16
17\wxheading{See also}
18
19\helpref{wxMetafileDC}{wxmetafiledc}
20
21\latexignore{\rtfignore{\wxheading{Members}}}
22
23\membersection{wxMetafile::wxMetafile}
24
25\func{}{wxMetafile}{\param{const wxString\& }{filename = ""}}
26
27Constructor. If a filename is given, the Windows disk metafile is
28read in. Check whether this was performed successfully by
29using the \helpref{wxMetafile::Ok}{wxmetafileok} member.
30
31\membersection{wxMetafile::\destruct{wxMetafile}}
32
33\func{}{\destruct{wxMetafile}}{\void}
34
35Destructor.
36
37\membersection{wxMetafile::Ok}\label{wxmetafileok}
38
39\func{bool}{Ok}{\void}
40
41Returns TRUE if the metafile is valid.
42
43\membersection{wxMetafile::Play}\label{wxmetafileplay}
44
45\func{bool}{Play}{\param{wxDC *}{dc}}
46
47Plays the metafile into the given device context, returning
48TRUE if successful.
49
50\membersection{wxMetafile::SetClipboard}
51
52\func{bool}{SetClipboard}{\param{int}{ width = 0}, \param{int}{ height = 0}}
53
54Passes the metafile data to the clipboard. The metafile can no longer be
55used for anything, but the wxMetafile object must still be destroyed by
56the application.
57
58Below is a example of metafle, metafile device context and clipboard use
59from the {\tt hello.cpp} example. Note the way the metafile dimensions
60are passed to the clipboard, making use of the device context's ability
61to keep track of the maximum extent of drawing commands.
62
63\begin{verbatim}
64 wxMetafileDC dc;
65 if (dc.Ok())
66 {
67 Draw(dc, FALSE);
68 wxMetafile *mf = dc.Close();
69 if (mf)
70 {
71 bool success = mf->SetClipboard((int)(dc.MaxX() + 10), (int)(dc.MaxY() + 10));
72 delete mf;
73 }
74 }
75\end{verbatim}
76
77\section{\class{wxMetafileDC}}\label{wxmetafiledc}
78
79This is a type of device context that allows a metafile object to be
80created (Windows only), and has most of the characteristics of a normal
81\rtfsp{\bf wxDC}. The \helpref{wxMetafileDC::Close}{wxmetafiledcclose} member must be called after drawing into the
82device context, to return a metafile. The only purpose for this at
83present is to allow the metafile to be copied to the clipboard (see \helpref{wxMetafile}{wxmetafile}).
84
85Adding metafile capability to an application should be easy if you
86already write to a wxDC; simply pass the wxMetafileDC to your drawing
87function instead. You may wish to conditionally compile this code so it
88is not compiled under X (although no harm will result if you leave it
89in).
90
91Note that a metafile saved to disk is in standard Windows metafile format,
92and cannot be imported into most applications. To make it importable,
93call the function \helpref{::wxMakeMetafilePlaceable}{wxmakemetafileplaceable} after
94closing your disk-based metafile device context.
95
96\wxheading{Derived from}
97
98\helpref{wxDC}{wxdc}\\
99\helpref{wxObject}{wxobject}
100
101\wxheading{Include files}
102
103<wx/metafile.h>
104
105\wxheading{See also}
106
107\helpref{wxMetafile}{wxmetafile}, \helpref{wxDC}{wxdc}
108
109\latexignore{\rtfignore{\wxheading{Members}}}
110
111\membersection{wxMetafileDC::wxMetafileDC}
112
113\func{}{wxMetafileDC}{\param{const wxString\& }{filename = ""}}
114
115Constructor. If no filename is passed, the metafile is created
116in memory.
117
118\membersection{wxMetafileDC::\destruct{wxMetafileDC}}
119
120\func{}{\destruct{wxMetafileDC}}{\void}
121
122Destructor.
123
124\membersection{wxMetafileDC::Close}\label{wxmetafiledcclose}
125
126\func{wxMetafile *}{Close}{\void}
127
128This must be called after the device context is finished with. A
129metafile is returned, and ownership of it passes to the calling
130application (so it should be destroyed explicitly).
131