X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f9ee644eac14adc5fcdf522f2483f13ebe66c9dd..4d01e58361f8e0d9a559ae8bb1646d13e2ba9198:/docs/latex/wx/bitmap.tex diff --git a/docs/latex/wx/bitmap.tex b/docs/latex/wx/bitmap.tex index 8150715c47..6428ab392c 100644 --- a/docs/latex/wx/bitmap.tex +++ b/docs/latex/wx/bitmap.tex @@ -10,7 +10,7 @@ either monochrome or colour. \helpref{wxGDIObject}{wxgdiobject}\\ \helpref{wxObject}{wxobject} -\wxheading{Include files} +\wxheading{Include file} @@ -42,22 +42,29 @@ Copy constructor. \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}} @@ -67,6 +74,23 @@ Creates a bitmap from XPM data. 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.} @@ -85,12 +109,12 @@ Its meaning is determined by the {\it type} parameter.} \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. @@ -102,6 +126,8 @@ In addition, wxBitmap can read all formats that \helpref{wxImage}{wximage} can, 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 @@ -146,17 +172,25 @@ Under X, {\it type} defaults to wxBITMAP\_TYPE\_XPM. \pythonnote{Constructors supported by wxPython are:\par \indented{2cm}{\begin{twocollist} -\twocolitem{\bf{wxBitmap(name, flag)}}{Loads a bitmap from a file} -\twocolitem{\bf{wxBitmapFromData(data, type, width, height, depth=1)}}{Creates +\twocolitem{{\bf wxBitmap(name, flag)}}{Loads a bitmap from a file} +\twocolitem{{\bf wxBitmapFromData(data, type, width, height, depth=1)}}{Creates a bitmap from the given data, which can be of arbitrary type.} -\twocolitem{\bf{wxNoRefBitmap(name, flag)}}{This one won't own the +\twocolitem{{\bf wxNoRefBitmap(name, flag)}}{This one won't own the reference, so Python won't call the destructor, this is good for toolbars and such where the parent will manage the bitmap.} -\twocolitem{\bf{wxEmptyBitmap(width, height, depth = -1)}}{Creates an +\twocolitem{{\bf wxEmptyBitmap(width, height, depth = -1)}}{Creates an empty bitmap with the given specifications} \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} @@ -192,7 +226,15 @@ Deletes all bitmap handlers. 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}} @@ -314,7 +356,7 @@ Gets the width of the bitmap in pixels. \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. @@ -498,20 +540,14 @@ Sets the validity member (does not affect the bitmap data). \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}