X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ab272c0bf8d2ca2d2d691215fbc0e65a8782f73d..00b4a13e0c2f37dae491f3743319321b6ab059ea:/docs/latex/wx/bmpdatob.tex diff --git a/docs/latex/wx/bmpdatob.tex b/docs/latex/wx/bmpdatob.tex index 3c2c283193..fb7b1c8535 100644 --- a/docs/latex/wx/bmpdatob.tex +++ b/docs/latex/wx/bmpdatob.tex @@ -1,79 +1,47 @@ \section{\class{wxBitmapDataObject}}\label{wxbitmapdataobject} -wxBitmapDataObject is a specialization of wxDataObject for bitmap data. It can be -used without change to paste data into the \helpref{wxClipboard}{wxclipboard} -or a \helpref{wxDropSource}{wxdropsource}. A user may wish to derive a new class -from this class for providing a bitmap on-demand in order to minimize memory consumption -when offering data in several formats, such as a bitmap and GIF. +wxBitmapDataObject is a specialization of wxDataObject for bitmap data. It can +be used without change to paste data into the +\helpref{wxClipboard}{wxclipboard} or a \helpref{wxDropSource}{wxdropsource}. A +user may wish to derive a new class from this class for providing a bitmap +on-demand in order to minimize memory consumption when offering data in several +formats, such as a bitmap and GIF. -In order to offer bitmap data on-demand \helpref{GetSize}{wxbitmapdataobjectgetsize} -and \helpref{WriteData}{wxbitmapdataobjectwritedata} will have to be overridden. +\pythonnote{If you wish to create a derived wxBitmapDataObject class in +wxPython you should derive the class from wxPyBitmapDataObject +in order to get Python-aware capabilities for the various virtual +methods.} -\wxheading{Derived from} +\wxheading{Virtual functions to override} -\helpref{wxDataObject}{wxdataobject} +This class may be used as is, but +\helpref{GetBitmap}{wxbitmapdataobjectgetbitmap} may be overridden to increase +efficiency. -\wxheading{See also} +\wxheading{Derived from} +\helpref{wxDataObjectSimple}{wxdataobjectsimple}\\ \helpref{wxDataObject}{wxdataobject} -\latexignore{\rtfignore{\wxheading{Members}}} - -\membersection{wxBitmapDataObject::wxBitmapDataObject}\label{wxbitmapdataobjectwxbitmapdataobject} - -\func{}{wxBitmapDataObject}{\void} - -Default constructor. Call \helpref{SetBitmap}{wxbitmapdataobjectsettext} later -or override \helpref{WriteData}{wxbitmapdataobjectwritedata} and -\helpref{GetSize}{wxbitmapdataobjectgetsize} for providing data on-demand. - -\func{}{wxBitmapDataObject}{\param{const wxBitmap\& }{bitmap}} - -Constructor, passing a bitmap. - -\membersection{wxBitmapDataObject::GetSize}\label{wxbitmapdataobjectgetsize} +\wxheading{Include files} -\constfunc{virtual size\_t}{GetSize}{\void} + -Returns the data size. By default, returns the size of the bitmap data -set in the constructor or using \helpref{SetBitmap}{wxbitmapdataobjectsettext}. -This can be overridden to provide size data on-demand. Note that you'd -have to call the inherited GetSize method as this is the only way -to get to know the transfer size of the bitmap in a platform dependent -way - a bitmap has different size under GTK and Windows. In practice, -this would look like this: - -\begin{verbatim} -size_t MyBitmapDataObject::GetSize() -{ - // Get bitmap from global container. This container - // should be able to "produce" data in all formats - // offered by the application but store it only in - // one format to reduce memory consumption. - - wxBitmap my_bitmap = my_global_container->GetBitmap(); - - // temporarily set bitmap - - SetBitmap( my_bitmap ); +\wxheading{See also} - size_t ret = wxBitmapDataObject::GetSize(); - - // unset bitmap again - - SetBitmap( wxNullBitmap ); +\helpref{Clipboard and drag and drop overview}{wxdndoverview}, +\helpref{wxDataObject}{wxdataobject}, +\helpref{wxDataObjectSimple}{wxdataobjectsimple}, +\helpref{wxFileDataObject}{wxfiledataobject}, +\helpref{wxTextDataObject}{wxtextdataobject}, +\helpref{wxDataObject}{wxdataobject} - retrun ret; -} -\end{verbatim} +\func{}{wxBitmapDataObject}{\param{const wxBitmap\& }{bitmap = wxNullBitmap}} -TODO: Offer a nicer way to do this. Maybe by providing a platform -dependent function in this class like -\begin{verbatim} -size_t GetBitmapSize( const wxBitmap &bitmap ) -\end{verbatim} +Constructor, optionally passing a bitmap (otherwise use +\helpref{SetBitmap}{wxbitmapdataobjectsetbitmap} later). -\membersection{wxBitmapDataObject::GetBitmap}\label{wxbitmapdataobjectgettext} +\membersection{wxBitmapDataObject::GetBitmap}\label{wxbitmapdataobjectgetbitmap} \constfunc{virtual wxBitmap}{GetBitmap}{\void} @@ -82,30 +50,11 @@ this method when offering data on-demand, but this is not required by wxWindows' internals. Use this method to get data in bitmap form from the \helpref{wxClipboard}{wxclipboard}. -\membersection{wxBitmapDataObject::SetBitmap}\label{wxbitmapdataobjectsettext} +\membersection{wxBitmapDataObject::SetBitmap}\label{wxbitmapdataobjectsetbitmap} \func{virtual void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}} -Sets the bitmap associated with the data object. This method is called -internally when retrieving data from the \helpref{wxClipboard}{wxclipboard} -and may be used to paste data to the clipboard directly (instead of -on-demand). - -\membersection{wxBitmapDataObject::WriteData}\label{wxbitmapdataobjectwritedata} - -\constfunc{virtual void}{WriteData}{\param{void}{*dest} } - -Write the data owned by this class to {\it dest}. By default, this -calls \helpref{WriteBitmap}{wxbitmapdataobjectwritebitmap} with the bitmap -set in the constructor or using \helpref{SetBitmap}{wxbitmapdataobjectsetbitmap}. -This can be overridden to provide bitmap data on-demand; in this case -\helpref{WriteBitmap}{wxbitmapdataobjectwritebitmap} must be called from -within th overriding WriteData() method. - -\membersection{wxBitmapDataObject::WriteBitmap}\label{wxbitmapdataobjectwritebitmap} - -\constfunc{void}{WriteBitmap}{\param{const wxBitmap\& }{bitmap}\param{void}{*dest} } - -Writes the the bitmap {\it bitmap} to {\it dest}. This method must be called -from \helpref{WriteData}{wxbitmapdataobjectwritedata}. +Sets the bitmap associated with the data object. This method is called when the +data object receives data. Usually there will be no reason to override this +function.