\helpref{wxGDIObject}{wxgdiobject}\\
\helpref{wxObject}{wxobject}
-\wxheading{Include files}
+\wxheading{Include file}
<wx/bitmap.h>
\func{}{wxBitmap}{\param{void*}{ data}, \param{int}{ type}, \param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
-Creates a bitmap from the given data, which can be of arbitrary type.
-Windows only, I think.
+Creates a bitmap from the given data which is interpreted in platform-dependent
+manner.
\func{}{wxBitmap}{\param{const char}{ bits[]}, \param{int}{ width}, \param{int}{ height}\\
\param{int}{ depth = 1}}
Creates a bitmap from an array of bits.
-Note that the bit depth is ignored on GTK+ and Motif. If you want to create a bitmap
-from something else than a 1-bit data array, use the \helpref{wxImage}{wximage} class.
+You should only use this function for monochrome bitmaps ({\it depth} 1) in
+portable programs: in this case the {\it bits} parameter should contain an XBM
+image.
+
+For other bit depths, the behaviour is platform dependent: under Windows, the
+data is passed without any changes to the underlying {\tt CreateBitmap()} API.
+Under other platforms, only monochrome bitmaps may be created using this
+constructor and \helpref{wxImage}{wximage} should be used for creating colour
+bitmaps from static data.
\func{}{wxBitmap}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
-Creates a new bitmap. A depth of -1 indicates the depth of the current screen or
-visual. Some platforms only support 1 for monochrome and -1 for the current colour
-setting.
+Creates a new bitmap. A depth of -1 indicates the depth of the current screen
+or visual. Some platforms only support 1 for monochrome and -1 for the current
+colour setting.
\func{}{wxBitmap}{\param{const char**}{ bits}}
Loads a bitmap from a file or resource.
+\func{}{wxBitmap}{\param{const wxImage\&}{ img}, \param{int}{ depth = -1}}
+
+Creates bitmap object from the image. This has to be done
+to actually display an image as you cannot draw an image directly on a window.
+The resulting bitmap will use the provided colour depth (or that of the
+current system if depth is -1) which entails that a colour reduction has
+to take place.
+
+When in 8-bit mode (PseudoColour mode), the GTK port will use a color cube created
+on program start-up to look up colors. This ensures a very fast conversion, but
+the image quality won't be perfect (and could be better for photo images using more
+sophisticated dithering algorithms).
+
+On Windows, if there is a palette present (set with SetPalette), it will be used when
+creating the wxBitmap (most useful in 8-bit display mode). On other platforms,
+the palette is currently ignored.
+
\wxheading{Parameters}
\docparam{bits}{Specifies an array of pixel values.}
\twocolwidtha{5cm}
\begin{twocollist}
-\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_BMP}}}{Load a Windows bitmap file.}
-\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_BMP\_RESOURCE}}}{Load a Windows bitmap from the resource database.}
-\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_GIF}}}{Load a GIF bitmap file.}
-\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_XBM}}}{Load an X bitmap file.}
-\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_XPM}}}{Load an XPM bitmap file.}
-\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_RESOURCE}}}{Load a Windows resource name.}
+\twocolitem{\indexit{wxBITMAP\_TYPE\_BMP}}{Load a Windows bitmap file.}
+\twocolitem{\indexit{wxBITMAP\_TYPE\_BMP\_RESOURCE}}{Load a Windows bitmap from the resource database.}
+\twocolitem{\indexit{wxBITMAP\_TYPE\_GIF}}{Load a GIF bitmap file.}
+\twocolitem{\indexit{wxBITMAP\_TYPE\_XBM}}{Load an X bitmap file.}
+\twocolitem{\indexit{wxBITMAP\_TYPE\_XPM}}{Load an XPM bitmap file.}
+\twocolitem{\indexit{wxBITMAP\_TYPE\_RESOURCE}}{Load a Windows resource name.}
\end{twocollist}
The validity of these flags depends on the platform and wxWindows configuration.
wxBITMAP\_TYPE\_JPEG, wxBITMAP\_TYPE\_TIF, wxBITMAP\_TYPE\_PNG, wxBITMAP\_TYPE\_GIF, wxBITMAP\_TYPE\_PCX,
and wxBITMAP\_TYPE\_PNM. Of course, you must have wxImage handlers loaded. }
+\docparam{img}{Platform-independent wxImage object.}
+
\wxheading{Remarks}
The first form constructs a bitmap object with no data; an assignment or another member function such as Create
\end{twocollist}}
}
+\perlnote{Constructors supported by wxPerl are:\par
+\begin{itemize}
+\item{Wx::Bitmap->new( width, height, depth = -1 )}
+\item{Wx::Bitmap->new( name, type )}
+\item{Wx::Bitmap->new( icon )}
+\end{itemize}
+}
+
\membersection{wxBitmap::\destruct{wxBitmap}}
\func{}{\destruct{wxBitmap}}{\void}
This function is called by wxWindows on exit.
-\membersection{wxBitmap::Create}
+\membersection{wxBitmap::ConvertToImage}\label{wxbitmapconverttoimage}
+
+\func{wxImage}{ConvertToImage}{\void}
+
+Creates an image from a platform-dependent bitmap. This preserves
+mask information so that bitmaps and images can be converted back
+and forth without loss in that respect.
+
+\membersection{wxBitmap::Create}\label{wxbitmapcreate}
\func{virtual bool}{Create}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
\membersection{wxBitmap::GetSubBitmap}\label{wxbitmapgetsubbitmap}
-\constfunc{wxBitmap}{GetSubBitmap}{\param{const wxRect&}{rect}}
+\constfunc{wxBitmap}{GetSubBitmap}{\param{const wxRect\&}{rect}}
Returns a sub bitmap of the current one as long as the rect belongs entirely to
the bitmap. This function preserves bit depth and mask information.
\membersection{wxBitmap::SetPalette}\label{wxbitmapsetpalette}
-\func{void}{SetPalette}{\param{wxPalette* }{palette}}
+\func{void}{SetPalette}{\param{const wxPalette\& }{palette}}
-Sets the associated palette: it will be deleted in the wxBitmap
-destructor, so if you do not wish it to be deleted automatically,
-reset the palette to NULL before the bitmap is deleted.
+Sets the associated palette.
\wxheading{Parameters}
\docparam{palette}{The palette to set.}
-\wxheading{Remarks}
-
-The bitmap object owns the palette once this has been called.
-
\wxheading{See also}
\helpref{wxPalette}{wxpalette}