X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eaaa6a06a25774c18d10bb8182cc1934ed0ed9aa..213ba43b706f97c0920b70473796871de8a1f6f5:/docs/latex/wx/bitmap.tex diff --git a/docs/latex/wx/bitmap.tex b/docs/latex/wx/bitmap.tex index f18676eb78..6428ab392c 100644 --- a/docs/latex/wx/bitmap.tex +++ b/docs/latex/wx/bitmap.tex @@ -10,9 +10,23 @@ either monochrome or colour. \helpref{wxGDIObject}{wxgdiobject}\\ \helpref{wxObject}{wxobject} +\wxheading{Include file} + + + +\wxheading{Predefined objects} + +Objects: + +{\bf wxNullBitmap} + \wxheading{See also} -\helpref{wxBitmap overview}{wxbitmapoverview}, \helpref{wxDC::Blit}{wxdcblit}, \helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}, \helpref{wxMemoryDC}{wxmemorydc} +\helpref{wxBitmap overview}{wxbitmapoverview}, +\helpref{supported bitmap file formats}{supportedbitmapformats}, +\helpref{wxDC::Blit}{wxdcblit}, +\helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}, \helpref{wxBitmap}{wxbitmap}, +\helpref{wxMemoryDC}{wxmemorydc} \latexignore{\rtfignore{\wxheading{Members}}} @@ -24,22 +38,33 @@ Default constructor. \func{}{wxBitmap}{\param{const wxBitmap\& }{bitmap}} -\func{}{wxBitmap}{\param{const wxBitmap* }{bitmap}} - -Copy constructors. +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. +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. +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. +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}} @@ -49,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.} @@ -61,23 +103,30 @@ Loads a bitmap from a file or resource. screen is used.} \docparam{name}{This can refer to a resource name under MS Windows, or a filename under MS Windows and X. -Its meaning is determined by the {\it flags} parameter.} +Its meaning is determined by the {\it type} parameter.} \docparam{type}{May be one of the following: \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. -If all possible wxWindows settings are used, the Windows platform supports BMP, BMP\_RESOURCE, -XPM\_DATA, and XPM. Under X, the available formats are BMP, GIF, XBM, and XPM.} +If all possible wxWindows settings are used, the Windows platform supports BMP file, BMP resource, +XPM data, and XPM. Under wxGTK, the available formats are BMP file, XPM data, XPM file, and PNG file. +Under wxMotif, the available formats are XBM data, XBM file, XPM data, XPM file. + +In addition, wxBitmap can read all formats that \helpref{wxImage}{wximage} can, which currently include +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} @@ -115,12 +164,33 @@ The eighth form constructs a bitmap from a file or resource. {\it name} can refe to a resource name under MS Windows, or a filename under MS Windows and X. Under Windows, {\it type} defaults to wxBITMAP\_TYPE\_BMP\_RESOURCE. -Under X, {\it type} defaults to wxBITMAP\_TYPE\_XBM. +Under X, {\it type} defaults to wxBITMAP\_TYPE\_XPM. \wxheading{See also} \helpref{wxBitmap::LoadFile}{wxbitmaploadfile} +\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 +a bitmap from the given data, which can be of arbitrary type.} +\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 +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} @@ -156,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}} @@ -259,7 +337,7 @@ or set for the bitmap. \constfunc{wxMask*}{GetMask}{\void} -Gets the associated mask if any) which may have been loaded from a file +Gets the associated mask (if any) which may have been loaded from a file or set for the bitmap. \wxheading{See also} @@ -276,6 +354,13 @@ Gets the width of the bitmap in pixels. \helpref{wxBitmap::GetHeight}{wxbitmapgetheight} +\membersection{wxBitmap::GetSubBitmap}\label{wxbitmapgetsubbitmap} + +\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::InitStandardHandlers} \func{static void}{InitStandardHandlers}{\void} @@ -324,7 +409,11 @@ The meaning of {\it name} is determined by the {\it type} parameter.} \twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Load an XPM bitmap file.} \end{twocollist} -The validity of these flags depends on the platform and wxWindows configuration.} +The validity of these flags depends on the platform and wxWindows configuration. + +In addition, wxBitmap can read all formats that \helpref{wxImage}{wximage} can +(wxBITMAP\_TYPE\_JPEG, wxBITMAP\_TYPE\_PNG, wxBITMAP\_TYPE\_GIF, wxBITMAP\_TYPE\_PCX, wxBITMAP\_TYPE\_PNM). +(Of course you must have wxImage handlers loaded.) } \wxheading{Return value} @@ -383,10 +472,15 @@ Saves a bitmap in the named file. \twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Save an XPM bitmap file.} \end{twocollist} -The validity of these flags depends on the platform and wxWindows configuration.} +The validity of these flags depends on the platform and wxWindows configuration. + +In addition, wxBitmap can save all formats that \helpref{wxImage}{wximage} can +(wxBITMAP\_TYPE\_JPEG, wxBITMAP\_TYPE\_PNG). +(Of course you must have wxImage handlers loaded.) } -\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should -probably be eliminated; instead the app should set the palette before saving.} +\docparam{palette}{An optional palette used for saving the bitmap.} +% TODO: this parameter should +%probably be eliminated; instead the app should set the palette before saving. \wxheading{Return value} @@ -446,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} @@ -535,6 +623,10 @@ application initialisation. \helpref{wxObject}{wxobject} +\wxheading{Include files} + + + \wxheading{See also} \helpref{wxBitmap}{wxbitmap}, \helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor} @@ -637,8 +729,7 @@ Saves a bitmap in the named file. \docparam{type}{See \helpref{wxBitmap::wxBitmap}{wxbitmapconstr} for values this can take.} -\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should -probably be eliminated; instead the app should set the palette before saving.} +\docparam{palette}{An optional palette used for saving the bitmap.} \wxheading{Return value}