]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/dc.tex
change configure to better detect gstreamer. Check create is valid in mediaplayer...
[wxWidgets.git] / docs / latex / wx / dc.tex
index 43b3a36bb851182be135a98f8c2d002a5beaf750..ef70d00a79d3d7f82a290f3c0a664e2cff23b53e 100644 (file)
@@ -31,14 +31,14 @@ them.
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
-\membersection{wxDC::wxDC}
+\membersection{wxDC::wxDC}\label{wxdcctor}
 
 \func{}{wxDC}{\void}
 
 Constructor.
 
 
 
 \func{}{wxDC}{\void}
 
 Constructor.
 
 
-\membersection{wxDC::\destruct{wxDC}}
+\membersection{wxDC::\destruct{wxDC}}\label{wxdcdtor}
 
 \func{}{\destruct{wxDC}}{\void}
 
 
 \func{}{\destruct{wxDC}}{\void}
 
@@ -109,7 +109,7 @@ This sequence of operations ensures that the source's transparent area need not
 and logical functions are supported.
 
 {\bf Note:} on Windows, blitting with masks can be speeded up considerably by compiling
 and logical functions are supported.
 
 {\bf Note:} on Windows, blitting with masks can be speeded up considerably by compiling
-wxWindows with the wxUSE\_DC\_CACHE option enabled. You can also influence whether MaskBlt
+wxWidgets with the wxUSE\_DC\_CACHE option enabled. You can also influence whether MaskBlt
 or the explicit mask blitting code above is used, by using \helpref{wxSystemOptions}{wxsystemoptions} and
 setting the {\bf no-maskblt} option to 1.
 
 or the explicit mask blitting code above is used, by using \helpref{wxSystemOptions}{wxsystemoptions} and
 setting the {\bf no-maskblt} option to 1.
 
@@ -193,6 +193,15 @@ wxUSE\_DC\_CACHEING preprocessor symbol for portability.
 \end{comment}
 
 
 \end{comment}
 
 
+\membersection{wxDC::ComputeScaleAndOrigin}\label{wxdccomputescaleandorigin}
+
+\func{virtual void}{ComputeScaleAndOrigin}{\void}
+
+Performs all necessary computations for given platform and context type
+after each change of scale and origin parameters. Usually called automatically 
+internally after such changes.
+
+
 \membersection{wxDC::CrossHair}\label{wxdccrosshair}
 
 \func{void}{CrossHair}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
 \membersection{wxDC::CrossHair}\label{wxdccrosshair}
 
 \func{void}{CrossHair}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
@@ -336,6 +345,24 @@ Draw an icon on the display (does nothing if the device context is PostScript).
 This can be the simplest way of drawing bitmaps on a window.
 
 
 This can be the simplest way of drawing bitmaps on a window.
 
 
+\membersection{wxDC::DrawLabel}\label{wxdcdrawlabel}
+
+\func{virtual void}{DrawLabel}{\param{const wxString\&}{ text},
+                               \param{const wxBitmap\&}{ image},
+                               \param{const wxRect\&}{ rect},
+                               \param{int}{ alignment = wxALIGN\_LEFT | wxALIGN\_TOP},
+                               \param{int}{ indexAccel = -1},
+                               \param{wxRect *}{rectBounding = NULL}}
+
+\func{void}{DrawLabel}{\param{const wxString\&}{ text}, \param{const wxRect\&}{ rect},
+                       \param{int}{ alignment = wxALIGN\_LEFT | wxALIGN\_TOP},
+                       \param{int}{ indexAccel = -1}}
+
+Draw optional bitmap and the text into the given rectangle and aligns it as specified
+by alignment parameter; it also will emphasize the character with the given index if
+it is != -1 and return the bounding rectangle if required.
+
+
 \membersection{wxDC::DrawLine}\label{wxdcdrawline}
 
 \func{void}{DrawLine}{\param{wxCoord}{ x1}, \param{wxCoord}{ y1}, \param{wxCoord}{ x2}, \param{wxCoord}{ y2}}
 \membersection{wxDC::DrawLine}\label{wxdcdrawline}
 
 \func{void}{DrawLine}{\param{wxCoord}{ x1}, \param{wxCoord}{ y1}, \param{wxCoord}{ x2}, \param{wxCoord}{ y2}}
@@ -383,7 +410,7 @@ The current pen is used for drawing the outline, and the current brush
 for filling the shape.  Using a transparent brush suppresses filling.
 The programmer is responsible for deleting the list of points.
 
 for filling the shape.  Using a transparent brush suppresses filling.
 The programmer is responsible for deleting the list of points.
 
-Note that wxWindows automatically closes the first and last points.
+Note that wxWidgets automatically closes the first and last points.
 
 \pythonnote{The wxPython version of this method accepts a Python list
 of wxPoint objects.}
 
 \pythonnote{The wxPython version of this method accepts a Python list
 of wxPoint objects.}
@@ -395,18 +422,41 @@ of wxPoint objects.}
 
 \membersection{wxDC::DrawPolyPolygon}\label{wxdcdrawpolypolygon}
 
 
 \membersection{wxDC::DrawPolyPolygon}\label{wxdcdrawpolypolygon}
 
-\func{void}{DrawPolyPolygon}{\param{int }{n}, \param{int }{start\[\]}, \param{wxPoint }{points\[\]}, \param{wxCoord }{xoffset}, \param{wxCoord }{yoffset}, \param{int }{fillStyle = \texttt{wxODDEVEN\_RULE}}}
+\func{void}{DrawPolyPolygon}{\param{int}{ n}, \param{int}{ count[]}, \param{wxPoint}{ points[]}, \param{wxCoord}{ xoffset = 0}, \param{wxCoord}{ yoffset = 0},\\
+  \param{int }{fill\_style = wxODDEVEN\_RULE}}
+
+Draws two or more filled polygons using an array of {\it points}, adding the
+optional offset coordinates.
+
+Notice that for the platforms providing a native implementation
+of this function (Windows and PostScript-based wxDC currently), this is more
+efficient than using \helpref{DrawPolygon}{wxdcdrawpolygon} in a loop.
 
 
-Draw many polygons at once. For the platforms providing a native implementation
-of this function (Windows and PostScript-based wxDC), this is more efficient
-than using \helpref{DrawPolygon}{wxdcdrawpolygon} in a loop.
+{\it n} specifies the number of polygons to draw, the array {\it count} of size 
+{\it n} specifies the number of points in each of the polygons in the 
+{\it points} array.
+
+The last argument specifies the fill rule: {\bf wxODDEVEN\_RULE} (the default)
+or {\bf wxWINDING\_RULE}.
+
+The current pen is used for drawing the outline, and the current brush for
+filling the shape.  Using a transparent brush suppresses filling.
+
+The polygons maybe disjoint or overlapping. Each polygon specified in a call to
+{\bf DrawPolyPolygon} must be closed. Unlike polygons created by the
+\helpref{DrawPolygon}{wxdcdrawpolygon} member function, the polygons created by
+{\bf DrawPolyPolygon} are not closed automatically.
+
+\pythonnote{Not implemented yet}
+
+\perlnote{Not implemented yet}
 
 
 \membersection{wxDC::DrawPoint}\label{wxdcdrawpoint}
 
 \func{void}{DrawPoint}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
 
 
 
 \membersection{wxDC::DrawPoint}\label{wxdcdrawpoint}
 
 \func{void}{DrawPoint}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
 
-Draws a point using the current pen.
+Draws a point using the color of the current pen. Note that the other properties of the pen are not used, such as width etc..
 
 
 \membersection{wxDC::DrawRectangle}\label{wxdcdrawrectangle}
 
 
 \membersection{wxDC::DrawRectangle}\label{wxdcdrawrectangle}
@@ -552,8 +602,6 @@ function will still return true.
 
 \membersection{wxDC::GetBackground}\label{wxdcgetbackground}
 
 
 \membersection{wxDC::GetBackground}\label{wxdcgetbackground}
 
-\func{wxBrush\&}{GetBackground}{\void}
-
 \constfunc{const wxBrush\&}{GetBackground}{\void}
 
 Gets the brush used for painting the background (see \helpref{wxDC::SetBackground}{wxdcsetbackground}).
 \constfunc{const wxBrush\&}{GetBackground}{\void}
 
 Gets the brush used for painting the background (see \helpref{wxDC::SetBackground}{wxdcsetbackground}).
@@ -572,8 +620,6 @@ Returns the current background mode: {\tt wxSOLID} or {\tt wxTRANSPARENT}.
 
 \membersection{wxDC::GetBrush}\label{wxdcgetbrush}
 
 
 \membersection{wxDC::GetBrush}\label{wxdcgetbrush}
 
-\func{wxBrush\&}{GetBrush}{\void}
-
 \constfunc{const wxBrush\&}{GetBrush}{\void}
 
 Gets the current brush (see \helpref{wxDC::SetBrush}{wxdcsetbrush}).
 \constfunc{const wxBrush\&}{GetBrush}{\void}
 
 Gets the current brush (see \helpref{wxDC::SetBrush}{wxdcsetbrush}).
@@ -608,8 +654,6 @@ rectangle are returned as a tuple.}
 
 \membersection{wxDC::GetFont}\label{wxdcgetfont}
 
 
 \membersection{wxDC::GetFont}\label{wxdcgetfont}
 
-\func{wxFont\&}{GetFont}{\void}
-
 \constfunc{const wxFont\&}{GetFont}{\void}
 
 Gets the current font (see \helpref{wxDC::SetFont}{wxdcsetfont}).
 \constfunc{const wxFont\&}{GetFont}{\void}
 
 Gets the current font (see \helpref{wxDC::SetFont}{wxdcsetfont}).
@@ -629,17 +673,24 @@ Gets the current logical function (see \helpref{wxDC::SetLogicalFunction}{wxdcse
 Gets the {\it mapping mode} for the device context (see \helpref{wxDC::SetMapMode}{wxdcsetmapmode}).
 
 
 Gets the {\it mapping mode} for the device context (see \helpref{wxDC::SetMapMode}{wxdcsetmapmode}).
 
 
-\membersection{wxDC::GetOptimization}\label{wxdcgetoptimization}
+\membersection{wxDC::GetPartialTextExtents}\label{wxdcgetpartialtextextents}
 
 
-\func{bool}{GetOptimization}{\void}
+\constfunc{bool}{GetPartialTextExtents}{\param{const wxString\&  }{text}, 
+\param{wxArrayInt\& }{widths}}
 
 
-Returns true if device context optimization is on.
-See \helpref{wxDC::SetOptimization}{wxsetoptimization} for details.
+Fills the {\it widths} array with the widths from the begining of 
+{\it text} to the coresponding character of {\it text}.  The generic
+version simply builds a running total of the widths of each character
+using \helpref{GetTextExtent}{wxdcgettextextent}, however if the
+various platforms have a native API function that is faster or more
+accurate than the generic implementaiton then it should be used
+instead. 
 
 
+\pythonnote{This method only takes the {\it text} parameter and
+  returns a Python list of integers.}
 
 
-\membersection{wxDC::GetPen}\label{wxdcgetpen}
 
 
-\func{wxPen\&}{GetPen}{\void}
+\membersection{wxDC::GetPen}\label{wxdcgetpen}
 
 \constfunc{const wxPen\&}{GetPen}{\void}
 
 
 \constfunc{const wxPen\&}{GetPen}{\void}
 
@@ -650,8 +701,8 @@ Gets the current pen (see \helpref{wxDC::SetPen}{wxdcsetpen}).
 
 \func{bool}{GetPixel}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxColour *}{colour}}
 
 
 \func{bool}{GetPixel}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxColour *}{colour}}
 
-Sets {\it colour} to the colour at the specified location. Windows only; an X implementation
-is being worked on. Not available for wxPostScriptDC or wxMetafileDC.
+Sets {\it colour} to the colour at the specified location.
+Not available for wxPostScriptDC or wxMetafileDC.
 
 \pythonnote{For wxPython the wxColour value is returned and is not
 required as a parameter.}
 
 \pythonnote{For wxPython the wxColour value is returned and is not
 required as a parameter.}
@@ -659,17 +710,20 @@ required as a parameter.}
 \perlnote{This method only takes the parameters {\tt x} and {\tt y} and returns
 a Wx::Colour value}
 
 \perlnote{This method only takes the parameters {\tt x} and {\tt y} and returns
 a Wx::Colour value}
 
+\membersection{wxDC::GetPPI}\label{wxdcgetppi}
+
+\constfunc{wxSize}{GetPPI}{\void}
+
+Returns the resolution of the device in pixels per inch.
 
 \membersection{wxDC::GetSize}\label{wxdcgetsize}
 
 
 \membersection{wxDC::GetSize}\label{wxdcgetsize}
 
-\func{void}{GetSize}{\param{wxCoord *}{width}, \param{wxCoord *}{height}}
+\constfunc{void}{GetSize}{\param{wxCoord *}{width}, \param{wxCoord *}{height}}
 
 
-For a PostScript device context, this gets the maximum size of graphics
-drawn so far on the device context.
+\constfunc{wxSize}{GetSize}{\void}
 
 
-For a Windows printer device context, this gets the horizontal and vertical
-resolution. It can be used to scale graphics to fit the page when using
-a Windows printer device context. For example, if {\it maxX} and {\it maxY}\rtfsp
+This gets the horizontal and vertical resolution in device units. It can be used to scale graphics to fit the page.
+For example, if {\it maxX} and {\it maxY}\rtfsp
 represent the maximum horizontal and vertical `pixel' values used in your
 application, the following code will scale the graphic to fit on the
 printer page:
 represent the maximum horizontal and vertical `pixel' values used in your
 application, the following code will scale the graphic to fit on the
 printer page:
@@ -698,10 +752,15 @@ implements the following methods:\par
 \end{twocollist}
 }}
 
 \end{twocollist}
 }}
 
+\membersection{wxDC::GetSizeMM}\label{wxdcgetsizemm}
 
 
-\membersection{wxDC::GetTextBackground}\label{wxdcgettextbackground}
+\constfunc{void}{GetSizeMM}{\param{wxCoord *}{width}, \param{wxCoord *}{height}}
+
+\constfunc{wxSize}{GetSizeMM}{\void}
 
 
-\func{wxColour\&}{GetTextBackground}{\void}
+Returns the horizontal and vertical resolution in millimetres.
+
+\membersection{wxDC::GetTextBackground}\label{wxdcgettextbackground}
 
 \constfunc{const wxColour\&}{GetTextBackground}{\void}
 
 
 \constfunc{const wxColour\&}{GetTextBackground}{\void}
 
@@ -743,14 +802,11 @@ See also \helpref{wxFont}{wxfont}, \helpref{wxDC::SetFont}{wxdcsetfont}.
 
 \membersection{wxDC::GetTextForeground}\label{wxdcgettextforeground}
 
 
 \membersection{wxDC::GetTextForeground}\label{wxdcgettextforeground}
 
-\func{wxColour\&}{GetTextForeground}{\void}
-
 \constfunc{const wxColour\&}{GetTextForeground}{\void}
 
 Gets the current text foreground colour (see \helpref{wxDC::SetTextForeground}{wxdcsettextforeground}).
 
 
 \constfunc{const wxColour\&}{GetTextForeground}{\void}
 
 Gets the current text foreground colour (see \helpref{wxDC::SetTextForeground}{wxdcsettextforeground}).
 
 
-
 \membersection{wxDC::GetUserScale}\label{wxdcgetuserscale}
 
 \func{void}{GetUserScale}{\param{double}{ *x}, \param{double}{ *y}}
 \membersection{wxDC::GetUserScale}\label{wxdcgetuserscale}
 
 \func{void}{GetUserScale}{\param{double}{ *x}, \param{double}{ *y}}
@@ -860,17 +916,6 @@ left to right orientation, false to invert it.}
 bottom up orientation, false to invert it.}
 
 
 bottom up orientation, false to invert it.}
 
 
-\membersection{wxDC::SetDeviceOrigin}\label{wxdcsetdeviceorigin}
-
-\func{void}{SetDeviceOrigin}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
-
-Sets the device origin (i.e., the origin in pixels after scaling has been
-applied).
-
-This function may be useful in Windows printing
-operations for placing a graphic on a page.
-
-
 \membersection{wxDC::SetBackground}\label{wxdcsetbackground}
 
 \func{void}{SetBackground}{\param{const wxBrush\& }{brush}}
 \membersection{wxDC::SetBackground}\label{wxdcsetbackground}
 
 \func{void}{SetBackground}{\param{const wxBrush\& }{brush}}
@@ -886,6 +931,22 @@ Sets the current background brush for the DC.
 whether text will be drawn with a background colour or not.
 
 
 whether text will be drawn with a background colour or not.
 
 
+\membersection{wxDC::SetBrush}\label{wxdcsetbrush}
+
+\func{void}{SetBrush}{\param{const wxBrush\& }{brush}}
+
+Sets the current brush for the DC.
+
+If the argument is wxNullBrush, the current brush is selected out of the device
+context, and the original brush restored, allowing the current brush to
+be destroyed safely.
+
+See also \helpref{wxBrush}{wxbrush}.
+
+See also \helpref{wxMemoryDC}{wxmemorydc} for the interpretation of colours
+when drawing into a monochrome bitmap.
+
 \membersection{wxDC::SetClippingRegion}\label{wxdcsetclippingregion}
 
 \func{void}{SetClippingRegion}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 \membersection{wxDC::SetClippingRegion}\label{wxdcsetclippingregion}
 
 \func{void}{SetClippingRegion}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
@@ -911,32 +972,15 @@ when only a known area of the screen is damaged.
 \helpref{wxDC::DestroyClippingRegion}{wxdcdestroyclippingregion}, \helpref{wxRegion}{wxregion}
 
 
 \helpref{wxDC::DestroyClippingRegion}{wxdcdestroyclippingregion}, \helpref{wxRegion}{wxregion}
 
 
-\membersection{wxDC::SetPalette}\label{wxdcsetpalette}
-
-\func{void}{SetPalette}{\param{const wxPalette\& }{palette}}
-
-If this is a window DC or memory DC, assigns the given palette to the window
-or bitmap associated with the DC. If the argument is wxNullPalette, the current
-palette is selected out of the device context, and the original palette
-restored.
-
-See \helpref{wxPalette}{wxpalette} for further details.
-
-
-\membersection{wxDC::SetBrush}\label{wxdcsetbrush}
-
-\func{void}{SetBrush}{\param{const wxBrush\& }{brush}}
-
-Sets the current brush for the DC.
+\membersection{wxDC::SetDeviceOrigin}\label{wxdcsetdeviceorigin}
 
 
-If the argument is wxNullBrush, the current brush is selected out of the device
-context, and the original brush restored, allowing the current brush to
-be destroyed safely.
+\func{void}{SetDeviceOrigin}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
 
 
-See also \helpref{wxBrush}{wxbrush}.
+Sets the device origin (i.e., the origin in pixels after scaling has been
+applied).
 
 
-See also \helpref{wxMemoryDC}{wxmemorydc} for the interpretation of colours
-when drawing into a monochrome bitmap.
+This function may be useful in Windows printing
+operations for placing a graphic on a page.
 
 
 \membersection{wxDC::SetFont}\label{wxdcsetfont}
 
 
 \membersection{wxDC::SetFont}\label{wxdcsetfont}
@@ -999,12 +1043,10 @@ user scale} (see \helpref{wxDC::SetUserScale}{wxdcsetuserscale}) scales the text
 Windows, scalable TrueType fonts are always used; in X, results depend
 on availability of fonts, but usually a reasonable match is found.
 
 Windows, scalable TrueType fonts are always used; in X, results depend
 on availability of fonts, but usually a reasonable match is found.
 
-Note that the coordinate origin should ideally be selectable, but for
-now is always at the top left of the screen/printer.
+The coordinate origin is always at the top left of the screen/printer.
 
 
-Drawing to a Windows printer device context under UNIX
-uses the current mapping mode, but mapping mode is currently ignored for
-PostScript output.
+Drawing to a Windows printer device context uses the current mapping mode,
+but mapping mode is currently ignored for PostScript output.
 
 The mapping mode can be one of the following:
 
 
 The mapping mode can be one of the following:
 
@@ -1018,19 +1060,16 @@ The mapping mode can be one of the following:
 \end{twocollist}
 
 
 \end{twocollist}
 
 
-\membersection{wxDC::SetOptimization}\label{wxsetoptimization}
+\membersection{wxDC::SetPalette}\label{wxdcsetpalette}
 
 
-\func{void}{SetOptimization}{\param{bool }{optimize}}
+\func{void}{SetPalette}{\param{const wxPalette\& }{palette}}
 
 
-If {\it optimize} is true (the default), this function sets optimization mode on.
-This currently means that under X, the device context will not try to set a pen or brush
-property if it is known to be set already. This approach can fall down
-if non-wxWindows code is using the same device context or window, for example
-when the window is a panel on which the windowing system draws panel items.
-The wxWindows device context 'memory' will now be out of step with reality.
+If this is a window DC or memory DC, assigns the given palette to the window
+or bitmap associated with the DC. If the argument is wxNullPalette, the current
+palette is selected out of the device context, and the original palette
+restored.
 
 
-Setting optimization off, drawing, then setting it back on again, is a trick
-that must occasionally be employed.
+See \helpref{wxPalette}{wxpalette} for further details. 
 
 
 \membersection{wxDC::SetPen}\label{wxdcsetpen}
 
 
 \membersection{wxDC::SetPen}\label{wxdcsetpen}
@@ -1076,7 +1115,7 @@ Sets the user scaling factor, useful for applications which require
 \func{bool}{StartDoc}{\param{const wxString\& }{message}}
 
 Starts a document (only relevant when outputting to a printer).
 \func{bool}{StartDoc}{\param{const wxString\& }{message}}
 
 Starts a document (only relevant when outputting to a printer).
-Message is a message to show whilst printing.
+Message is a message to show while printing.
 
 
 \membersection{wxDC::StartPage}\label{wxdcstartpage}
 
 
 \membersection{wxDC::StartPage}\label{wxdcstartpage}
@@ -1087,9 +1126,9 @@ Starts a document page (only relevant when outputting to a printer).
 
 \section{\class{wxDCClipper}}\label{wxdcclipper}
 
 
 \section{\class{wxDCClipper}}\label{wxdcclipper}
 
-This is a small helper class which sets the specified to its constructor
+This is a small helper class which sets the specified DC to its constructor
 clipping region and then automatically destroys it in its destructor. Using
 clipping region and then automatically destroys it in its destructor. Using
-it ensures that unwanted clipping region is not left set on the DC.
+it ensures that an unwanted clipping region is not left set on the DC.
 
 \wxheading{Derived from}
 
 
 \wxheading{Derived from}
 
@@ -1106,7 +1145,7 @@ No base class
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
-\membersection{wxDCClipper::wxDCClipper}
+\membersection{wxDCClipper::wxDCClipper}\label{wxdcclipperctor}
 
 \func{}{wxDCClipper}{\param{wxDC\& }{dc}, \param{wxCoord }{x},\param{wxCoord }{y},\param{wxCoord }{w},\param{wxCoord }{h},}
 
 
 \func{}{wxDCClipper}{\param{wxDC\& }{dc}, \param{wxCoord }{x},\param{wxCoord }{y},\param{wxCoord }{w},\param{wxCoord }{h},}
 
@@ -1116,7 +1155,7 @@ Constructor: sets the the clipping region for the given device context to the
 specified rectangle.
 
 
 specified rectangle.
 
 
-\membersection{wxDCClipper::\destruct{wxDCClipper}}
+\membersection{wxDCClipper::\destruct{wxDCClipper}}\label{wxdcclipperdtor}
 
 \func{}{\destruct{wxDCClipper}}{\void}
 
 
 \func{}{\destruct{wxDCClipper}}{\void}