A DC is a “device context” onto which graphics and text can be drawn.
It is intended to represent different output devices and offers a common abstract API for drawing on any of them.
wxWidgets offers an alternative drawing API based on the modern drawing backends GDI+, CoreGraphics and Cairo. See GraphicsContext, GraphicsRenderer and related classes. There is also a GCDC linking the APIs by offering the DC API on top of a GraphicsContext.
DC is an abstract base class and cannot be created directly. Use PaintDC, ClientDC, WindowDC, ScreenDC, MemoryDC or PrinterDC. Notice that device contexts which are associated with windows (i.e. ClientDC, WindowDC and PaintDC) use the window font and colours by default (starting with wxWidgets 2.9.0) but the other device context classes use system-default values so you always must set the appropriate fonts and colours before using them.
In addition to the versions of the methods documented below, there are also versions which accept single Point parameter instead of the two Coord ones or Point and Size instead of the four Coord parameters.
Beginning with wxWidgets 2.9.0 the entire DC code has been reorganized. All platform dependent code (actually all drawing code) has been moved into backend classes which derive from a common DCImpl class. The user-visible classes such as ClientDC and PaintDC merely forward all calls to the backend implementation.
In the DC context there is a distinction between logical units and device units. Device units are the units native to the particular device; e.g. for a screen, a device unit is a pixel. For a printer, the device unit is defined by the resolution of the printer (usually given in DPI: dot-per-inch). All DC functions use instead logical units, unless where explicitly stated. Logical units are arbitrary units mapped to device units using the current mapping mode (see DC.SetMapMode ). This mechanism allows to reuse the same code which prints on e.g. a window on the screen to print on e.g. a paper.
In general DC methods don’t support alpha transparency and the alpha component of Colour is simply ignored and you need to use GraphicsContext for full transparency support. There are, however, a few exceptions: first, under Mac OS X colours with alpha channel are supported in all the normal DC-derived classes as they use GraphicsContext internally. Second, under all platforms SVGFileDC also fully supports alpha channel. In both of these cases the instances of Pen or Brush that are built from Colour use the colour’s alpha values when stroking or filling.
On some platforms (currently only under MSW and only on Windows NT, i.e. not Windows 9x/ME, systems) DC has support for applying an arbitrary affine transformation matrix to its coordinate system. Call CanUseTransformMatrix to check if this support is available and then call SetTransformMatrix if it is. If the transformation matrix is not supported, SetTransformMatrix always simply returns False and doesn’t do anything.
See also
Device Contexts, GraphicsContext, DCFontChanger, DCTextColourChanger, DCPenChanger, DCBrushChanger, DCClipper
Todo
Precise definition of default/initial state. Pixelwise definition of operations (e.g. last point of a line not drawn).
GCDC, MemoryDC, MetafileDC, MirrorDC, PostScriptDC, PrinterDC, ScreenDC, SVGFileDC, WindowDC
Blit | Copy from a source DC to this DC. |
CalcBoundingBox | Adds the specified point to the bounding box which can be retrieved with MinX , MaxX and MinY , MaxY functions. |
CanUseTransformMatrix | Check if the use of transformation matrix is supported by the current system. |
Clear | Clears the device context using the current background brush. |
CopyAttributes | Copy attributes from another DC. |
CrossHair | Displays a cross hair using the current pen. |
DestroyClippingRegion | Destroys the current clipping region so that none of the DC is clipped. |
DeviceToLogicalX | Convert device X coordinate to logical coordinate, using the current mapping mode, user scale factor, device origin and axis orientation. |
DeviceToLogicalXRel | Convert device X coordinate to relative logical coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation. |
DeviceToLogicalY | Converts device Y coordinate to logical coordinate, using the current mapping mode, user scale factor, device origin and axis orientation. |
DeviceToLogicalYRel | Convert device Y coordinate to relative logical coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation. |
DrawArc | Draws an arc of a circle, centred on (xc, yc), with starting point (xStart, yStart) and ending at (xEnd, yEnd). |
DrawBitmap | Draw a bitmap on the device context at the specified point. |
DrawCheckMark | Draws a check mark inside the given rectangle. |
DrawCircle | Draws a circle with the given centre and radius. |
DrawEllipse | Draws an ellipse contained in the rectangle specified either with the given top left corner and the given size or directly. |
DrawEllipticArc | Draws an arc of an ellipse. |
DrawIcon | Draw an icon on the display (does nothing if the device context is PostScript). |
DrawLabel | 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. |
DrawLine | Draws a line from the first point to the second. |
DrawLines | This method uses a list of Points, adding the optional offset coordinate. |
DrawPoint | Draws a point using the color of the current pen. |
DrawPolygon | This method draws a filled polygon using a list of Points, adding the optional offset coordinate. |
DrawRectangle | Draws a rectangle with the given top left corner, and with the given size. |
DrawRotatedText | Draws the text rotated by angle degrees (positive angles are counterclockwise; the full angle is 360 degrees). |
DrawRoundedRectangle | Draws a rectangle with the given top left corner, and with the given size. |
DrawSpline | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. |
DrawText | Draws a text string at the specified point, using the current text font, and the current text foreground and background colours. |
EndDoc | Ends a document (only relevant when outputting to a printer). |
EndPage | Ends a document page (only relevant when outputting to a printer). |
FloodFill | Flood fills the device context starting from the given point, using the current brush colour, and using a style:. |
GetBackground | Gets the brush used for painting the background. |
GetBackgroundMode | Returns the current background mode: SOLID or TRANSPARENT . |
GetBoundingBox | GetBoundingBox() -> (x1,y1, x2,y2) |
GetBrush | Gets the current brush. |
GetCGContext | |
GetCharHeight | Gets the character height of the currently set font. |
GetCharWidth | Gets the average character width of the currently set font. |
GetClippingBox | Gets the rectangle surrounding the current clipping region. |
GetClippingRect | Gets the rectangle surrounding the current clipping region |
GetDepth | Returns the depth (number of bits/pixel) of this DC. |
GetDeviceOrigin | Returns the current device origin. |
GetFont | Gets the current font. |
GetFontMetrics | Returns the various font characteristics. |
GetGdkDrawable | |
GetHDC | |
GetLayoutDirection | Gets the current layout direction of the device context. |
GetLogicalFunction | Gets the current logical function. |
GetLogicalOrigin | |
GetLogicalScale | |
GetMapMode | Gets the current mapping mode for the device context. |
GetFullMultiLineTextExtent | Gets the dimensions of the string using the currently selected font. |
GetPPI | Returns the resolution of the device in pixels per inch. |
GetPartialTextExtents | Fills the widths array with the widths from the beginning of text to the corresponding character of text. |
GetPen | Gets the current pen. |
GetSize | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. |
GetSizeMM | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. |
GetTextBackground | Gets the current text background colour. |
GetFullTextExtent | Gets the dimensions of the string using the currently selected font. |
GetTextForeground | Gets the current text foreground colour. |
GetUserScale | Gets the current user scale factor. |
GradientFillConcentric | Fill the area specified by rect with a radial gradient, starting from initialColour at the centre of the circle and fading to destColour on the circle outside. |
GradientFillLinear | Fill the area specified by rect with a linear gradient, starting from initialColour and eventually fading to destColour. |
IsOk | Returns True if the DC is ok to use. |
LogicalToDeviceX | Converts logical X coordinate to device coordinate, using the current mapping mode, user scale factor, device origin and axis orientation. |
LogicalToDeviceXRel | Converts logical X coordinate to relative device coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation. |
LogicalToDeviceY | Converts logical Y coordinate to device coordinate, using the current mapping mode, user scale factor, device origin and axis orientation. |
LogicalToDeviceYRel | Converts logical Y coordinate to relative device coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation. |
MaxX | Gets the maximum horizontal extent used in drawing commands so far. |
MaxY | Gets the maximum vertical extent used in drawing commands so far. |
MinX | Gets the minimum horizontal extent used in drawing commands so far. |
MinY | Gets the minimum vertical extent used in drawing commands so far. |
ResetBoundingBox | Resets the bounding box: after a call to this function, the bounding box doesn’t contain anything. |
ResetTransformMatrix | Revert the transformation matrix to identity matrix. |
SetAxisOrientation | Sets the x and y axis orientation (i.e., the direction from lowest to highest values on the axis). |
SetBackground | Sets the current background brush for the DC. |
SetBackgroundMode | mode may be one of SOLID and TRANSPARENT . |
SetBrush | Sets the current brush for the DC. |
SetClippingRegion | Sets the clipping region for this device context to the intersection of the given region described by the parameters of this method and the previously set clipping region. |
SetDeviceClippingRegion | Sets the clipping region for this device context. |
SetDeviceOrigin | Sets the device origin (i.e., the origin in pixels after scaling has been applied). |
SetFont | Sets the current font for the DC. |
SetLayoutDirection | Sets the current layout direction for the device context. |
SetLogicalFunction | Sets the current logical function for the device context. |
SetLogicalOrigin | |
SetLogicalScale | |
SetMapMode | The mapping mode of the device context defines the unit of measurement used to convert logical units to device units. |
SetPalette | If this is a window DC or memory DC, assigns the given palette to the window or bitmap associated with the DC. |
SetPen | Sets the current pen for the DC. |
SetTextBackground | Sets the current text background colour for the DC. |
SetTextForeground | Sets the current text foreground colour for the DC. |
SetUserScale | Sets the user scaling factor, useful for applications which require ‘zooming’. |
StartDoc | Starts a document (only relevant when outputting to a printer). |
StartPage | Starts a document page (only relevant when outputting to a printer). |
StretchBlit | Copy from a source DC to this DC possibly changing the scale. |
__nonzero__ |
Background | See GetBackground and SetBackground |
BackgroundMode | See GetBackgroundMode and SetBackgroundMode |
BoundingBox | See GetBoundingBox |
Brush | See GetBrush and SetBrush |
CGContext | See GetCGContext |
CharHeight | See GetCharHeight |
CharWidth | See GetCharWidth |
ClippingRect | See GetClippingRect |
Depth | See GetDepth |
DeviceOrigin | See GetDeviceOrigin and SetDeviceOrigin |
Font | See GetFont and SetFont |
FontMetrics | See GetFontMetrics |
GdkDrawable | See GetGdkDrawable |
HDC | See GetHDC |
LayoutDirection | See GetLayoutDirection and SetLayoutDirection |
LogicalFunction | See GetLogicalFunction and SetLogicalFunction |
MapMode | See GetMapMode and SetMapMode |
PPI | See GetPPI |
Pen | See GetPen and SetPen |
Pixel | See GetPixel |
Size | See GetSize |
SizeMM | See GetSizeMM |
TextBackground | See GetTextBackground and SetTextBackground |
TextForeground | See GetTextForeground and SetTextForeground |
A DC is a “device context” onto which graphics and text can be drawn.
Copy from a source DC to this DC.
With this method you can specify the destination coordinates and the size of area to copy which will be the same for both the source and target DCs. If you need to apply scaling while copying, use StretchBlit .
Notice that source DC coordinates xsrc and ysrc are interpreted using the current source DC coordinate system, i.e. the scale, origin position and axis directions are taken into account when transforming them to physical (pixel) coordinates.
Parameters: |
|
---|---|
Return type: | bool |
Note
There is partial support for Blit in PostScriptDC, under X.
See also
Adds the specified point to the bounding box which can be retrieved with MinX , MaxX and MinY , MaxY functions.
Parameters: |
|
---|
See also
Check if the use of transformation matrix is supported by the current system.
Currently this function always returns False for non-MSW platforms and may return False for old (Windows 9x/ME) Windows systems. Normally support for the transformation matrix is always available in any relatively recent Windows versions.
Return type: | bool |
---|
New in version 2.9.2.
Clears the device context using the current background brush.
Copy attributes from another DC.
The copied attributes currently are:
Parameters: | dc (DC) – A valid (i.e. its IsOk must return True) source device context. |
---|
Overloaded Implementations:
CrossHair (self, x, y)
Displays a cross hair using the current pen.
This is a vertical and horizontal line the height and width of the window, centred on the given point.
Parameters: |
|
---|
CrossHair (self, pt)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | pt (Point) – |
---|
Destroys the current clipping region so that none of the DC is clipped.
See also
Convert device X coordinate to logical coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
Parameters: | x (int) – |
---|---|
Return type: | int |
Convert device X coordinate to relative logical coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
Use this for converting a width, for example.
Parameters: | x (int) – |
---|---|
Return type: | int |
Converts device Y coordinate to logical coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
Parameters: | y (int) – |
---|---|
Return type: | int |
Convert device Y coordinate to relative logical coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
Use this for converting a height, for example.
Parameters: | y (int) – |
---|---|
Return type: | int |
Overloaded Implementations:
DrawArc (self, xStart, yStart, xEnd, yEnd, xc, yc)
Draws an arc of a circle, centred on (xc, yc), with starting point (xStart, yStart) and ending at (xEnd, yEnd).
The current pen is used for the outline and the current brush for filling the shape.
The arc is drawn in a counter-clockwise direction from the start point to the end point.
Parameters: |
|
---|
DrawArc (self, ptStart, ptEnd, centre)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
Overloaded Implementations:
DrawBitmap (self, bitmap, x, y, useMask=False)
Draw a bitmap on the device context at the specified point.
If transparent is True and the bitmap has a transparency mask, the bitmap will be drawn transparently.
When drawing a mono-bitmap, the current text foreground colour will be used to draw the foreground of the bitmap (all bits set to 1), and the current text background colour to draw the background (all bits set to 0).
Parameters: |
|
---|
See also
DrawBitmap (self, bmp, pt, useMask=False)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
Overloaded Implementations:
DrawCheckMark (self, x, y, width, height)
Draws a check mark inside the given rectangle.
Parameters: |
|
---|
DrawCheckMark (self, rect)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | rect (Rect) – |
---|
Overloaded Implementations:
DrawCircle (self, x, y, radius)
Draws a circle with the given centre and radius.
Parameters: |
|
---|
See also
DrawCircle (self, pt, radius)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
|
---|
Overloaded Implementations:
DrawEllipse (self, x, y, width, height)
Draws an ellipse contained in the rectangle specified either with the given top left corner and the given size or directly.
The current pen is used for the outline and the current brush for filling the shape.
Parameters: |
|
---|
See also
DrawEllipse (self, pt, size)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
DrawEllipse (self, rect)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | rect (Rect) – |
---|
Overloaded Implementations:
DrawEllipticArc (self, x, y, width, height, start, end)
Draws an arc of an ellipse.
The current pen is used for drawing the arc and the current brush is used for drawing the pie.
x and y specify the x and y coordinates of the upper-left corner of the rectangle that contains the ellipse.
width and height specify the width and height of the rectangle that contains the ellipse.
start and end specify the start and end of the arc relative to the three-o’clock position from the center of the rectangle. Angles are specified in degrees (360 is a complete circle). Positive values mean counter-clockwise motion. If start is equal to end, a complete ellipse will be drawn.
Parameters: |
|
---|
DrawEllipticArc (self, pt, sz, sa, ea)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
Overloaded Implementations:
DrawIcon (self, icon, x, y)
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.
Parameters: |
|
---|
DrawIcon (self, icon, pt)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
Overloaded Implementations:
DrawLabel (self, text, bitmap, rect, alignment=ALIGN_LEFT|ALIGN_TOP, 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.
Parameters: | |
---|---|
Return type: |
DrawLabel (self, text, rect, alignment=ALIGN_LEFT|ALIGN_TOP, indexAccel=-1)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
|
---|
Overloaded Implementations:
DrawLine (self, x1, y1, x2, y2)
Draws a line from the first point to the second.
The current pen is used for drawing the line. Note that the point (x2, y2) is not part of the line and is not drawn by this function (this is consistent with the behaviour of many other toolkits).
Parameters: |
|
---|
DrawLine (self, pt1, pt2)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
This method uses a list of Points, adding the optional offset coordinate.
The programmer is responsible for deleting the list of points.
Overloaded Implementations:
DrawPoint (self, x, y)
Draws a point using the color of the current pen.
Note that the other properties of the pen are not used, such as width.
Parameters: |
|
---|
DrawPoint (self, pt)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | pt (Point) – |
---|
This method draws a filled polygon using a list of Points, adding the optional offset coordinate.
The first and last points are automatically closed.
The last argument specifies the fill rule: ``ODDEVEN_RULE`` (the default) or ``WINDING_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 programmer is responsible for deleting the list of points.
Overloaded Implementations:
DrawRectangle (self, x, y, width, height)
Draws a rectangle with the given top left corner, and with the given size.
The current pen is used for the outline and the current brush for filling the shape.
Parameters: |
|
---|
DrawRectangle (self, pt, sz)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
DrawRectangle (self, rect)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | rect (Rect) – |
---|
Overloaded Implementations:
DrawRotatedText (self, text, x, y, angle)
Draws the text rotated by angle degrees (positive angles are counterclockwise; the full angle is 360 degrees).
Parameters: |
|
---|
Note
Under Win9x only TrueType fonts can be drawn by this function. In particular, a font different from NORMAL_FONT should be used as the latter is not a TrueType font. SWISS_FONT is an example of a font which is.
See also
DrawRotatedText (self, text, point, angle)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
|
---|
Overloaded Implementations:
DrawRoundedRectangle (self, x, y, width, height, radius)
Draws a rectangle with the given top left corner, and with the given size.
The corners are quarter-circles using the given radius. The current pen is used for the outline and the current brush for filling the shape.
If radius is positive, the value is assumed to be the radius of the rounded corner. If radius is negative, the absolute value is assumed to be the proportion of the smallest dimension of the rectangle. This means that the corner can be a sensible size relative to the size of the rectangle, and also avoids the strange effects X produces when the corners are too big for the rectangle.
Parameters: |
|
---|
DrawRoundedRectangle (self, pt, sz, radius)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
DrawRoundedRectangle (self, rect, radius)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
|
---|
Overloaded Implementations:
DrawSpline (self, points)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | points (PointList) – |
---|
DrawSpline (self, x1, y1, x2, y2, x3, y3)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
|
---|
Overloaded Implementations:
DrawText (self, text, x, y)
Draws a text string at the specified point, using the current text font, and the current text foreground and background colours.
The coordinates refer to the top-left corner of the rectangle bounding the string. See GetTextExtent for how to get the dimensions of a text string, which can be used to position the text more precisely and DrawLabel if you need to align the string differently.
Starting from wxWidgets 2.9.2 text parameter can be a multi-line string, i.e. contain new line characters, and will be rendered correctly.
Parameters: |
|
---|
Note
The current logical function is ignored by this function.
DrawText (self, text, pt)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
|
---|
Ends a document (only relevant when outputting to a printer).
Ends a document page (only relevant when outputting to a printer).
Overloaded Implementations:
FloodFill (self, x, y, colour, style=FLOOD_SURFACE)
Flood fills the device context starting from the given point, using the current brush colour, and using a style:.
Parameters: |
|
---|---|
Return type: | bool |
Returns: | False if the operation failed. |
Note
The present implementation for non-Windows platforms may fail to find colour borders if the pixels do not match the colour exactly. However the function will still return True. This method shouldn’t be used with PaintDC under non-Windows platforms as it uses GetPixel internally and this may give wrong results, notably in wxGTK. If you need to flood fill PaintDC, create a temporary MemoryDC, flood fill it and then blit it to, or draw as a bitmap on, PaintDC. See the example of doing this in the drawing sample and BufferedPaintDC class.
FloodFill (self, pt, col, style=FLOOD_SURFACE)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
|
---|---|
Return type: | bool |
Returns the current background mode: SOLID or TRANSPARENT .
Return type: | int |
---|
See also
GetBoundingBox() -> (x1,y1, x2,y2)
Returns the min and max points used in drawing commands so far.
Gets the character height of the currently set font.
Return type: | int |
---|
Gets the average character width of the currently set font.
Return type: | int |
---|
Gets the rectangle surrounding the current clipping region.
Return type: | tuple |
---|---|
Returns: | ( x, y, width, height ) |
Gets the rectangle surrounding the current clipping region
Returns the depth (number of bits/pixel) of this DC.
Return type: | int |
---|
See also
Gets the current font.
Notice that even although each device context object has some default font after creation, this method would return a NullFont initially and only after calling SetFont a valid font is returned.
Return type: | Font |
---|
Returns the various font characteristics.
This method allows to retrieve some of the font characteristics not returned by GetTextExtent , notably internal leading and average character width.
Currently this method returns correct results only under wxMSW, in the other ports the internal leading will always be 0 and the average character width will be computed as the width of the character ‘x’.
Return type: | FontMetrics |
---|
New in version 2.9.2.
Return type: | long |
---|
Gets the current layout direction of the device context.
On platforms where RTL layout is supported, the return value will either be Layout_LeftToRight or Layout_RightToLeft . If RTL layout is not supported, the return value will be Layout_Default .
Return type: | LayoutDirection |
---|
See also
Gets the current logical function.
Return type: | RasterOperationMode |
---|
See also
Return type: | tuple |
---|---|
Returns: | ( x, y ) |
Return type: | tuple |
---|---|
Returns: | ( x, y ) |
Gets the current mapping mode for the device context.
Return type: | MappingMode |
---|
See also
Overloaded Implementations:
GetFullMultiLineTextExtent (self, string, font=None)
Gets the dimensions of the string using the currently selected font.
string is the text string to measure, heightLine, if non None, is where to store the height of a single line.
The text extent is set in the given w and h pointers.
If the optional parameter font is specified and valid, then it is used for the text extent calculation, otherwise the currently selected font is used.
Parameters: |
|
---|---|
Return type: | tuple |
Returns: | ( w, h, heightLine ) |
Note
This function works with both single-line and multi-line strings.
See also
Font, SetFont , GetPartialTextExtents , GetTextExtent
GetFullMultiLineTextExtent (self, string)
Gets the dimensions of the string using the currently selected font.
string is the text string to measure, heightLine, if non None, is where to store the height of a single line.
Parameters: | string (string) – |
---|---|
Return type: | Size |
Returns: | The text extent as a Size object. |
Note
This function works with both single-line and multi-line strings.
See also
Font, SetFont , GetPartialTextExtents , GetTextExtent
Fills the widths array with the widths from the beginning of text to the corresponding character of text.
The generic version simply builds a running total of the widths of each character using GetTextExtent , however if the various platforms have a native API function that is faster or more accurate than the generic implementation then it should be used instead.
Parameters: | text (string) – |
---|---|
Return type: | list of integers |
See also
GetMultiLineTextExtent , GetTextExtent
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Overloaded Implementations:
GetFullTextExtent (self, string, font=None)
Gets the dimensions of the string using the currently selected font.
string is the text string to measure, descent is the dimension from the baseline of the font to the bottom of the descender, and externalLeading is any extra vertical space added to the font by the font designer (usually is zero).
The text extent is returned in w and h pointers or as a Size object depending on which version of this function is used.
If the optional parameter font is specified and valid, then it is used for the text extent calculation. Otherwise the currently selected font is.
Parameters: |
|
---|---|
Return type: | tuple |
Returns: | ( w, h, descent, externalLeading ) |
Note
This function only works with single-line strings.
See also
Font, SetFont , GetPartialTextExtents , GetMultiLineTextExtent
GetFullTextExtent (self, string)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | string (string) – |
---|---|
Return type: | Size |
Gets the current user scale factor.
Return type: | tuple |
---|---|
Returns: | ( x, y ) |
See also
Overloaded Implementations:
GradientFillConcentric (self, rect, initialColour, destColour)
Fill the area specified by rect with a radial gradient, starting from initialColour at the centre of the circle and fading to destColour on the circle outside.
The circle is placed at the centre of rect.
Parameters: |
---|
Note
Currently this function is very slow, don’t use it for real-time drawing.
GradientFillConcentric (self, rect, initialColour, destColour, circleCenter)
Fill the area specified by rect with a radial gradient, starting from initialColour at the centre of the circle and fading to destColour on the circle outside.
circleCenter are the relative coordinates of centre of the circle in the specified rect.
Parameters: |
---|
Note
Currently this function is very slow, don’t use it for real-time drawing.
Fill the area specified by rect with a linear gradient, starting from initialColour and eventually fading to destColour.
The nDirection specifies the direction of the colour change, default is to use initialColour on the left part of the rectangle and destColour on the right one.
Parameters: |
---|
Returns True if the DC is ok to use.
Return type: | bool |
---|
Converts logical X coordinate to device coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
Parameters: | x (int) – |
---|---|
Return type: | int |
Converts logical X coordinate to relative device coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
Use this for converting a width, for example.
Parameters: | x (int) – |
---|---|
Return type: | int |
Converts logical Y coordinate to device coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
Parameters: | y (int) – |
---|---|
Return type: | int |
Converts logical Y coordinate to relative device coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
Use this for converting a height, for example.
Parameters: | y (int) – |
---|---|
Return type: | int |
Gets the maximum horizontal extent used in drawing commands so far.
Return type: | int |
---|
Gets the maximum vertical extent used in drawing commands so far.
Return type: | int |
---|
Gets the minimum horizontal extent used in drawing commands so far.
Return type: | int |
---|
Gets the minimum vertical extent used in drawing commands so far.
Return type: | int |
---|
Resets the bounding box: after a call to this function, the bounding box doesn’t contain anything.
See also
Revert the transformation matrix to identity matrix.
New in version 2.9.2.
Sets the x and y axis orientation (i.e., the direction from lowest to highest values on the axis).
The default orientation is x axis from left to right and y axis from top down.
Parameters: |
|
---|
Sets the current background brush for the DC.
Parameters: | brush (Brush) – |
---|
mode may be one of SOLID and TRANSPARENT .
This setting determines whether text will be drawn with a background colour or not.
Parameters: | mode (int) – |
---|
Sets the current brush for the DC.
If the argument is NullBrush (or another invalid brush; see Brush.IsOk ), the current brush is selected out of the device context (leaving DC without any valid brush), allowing the current brush to be destroyed safely.
Parameters: | brush (Brush) – |
---|
Overloaded Implementations:
SetClippingRegion (self, x, y, width, height)
Sets the clipping region for this device context to the intersection of the given region described by the parameters of this method and the previously set clipping region.
The clipping region is an area to which drawing is restricted. Possible uses for the clipping region are for clipping text or for speeding up window redraws when only a known area of the screen is damaged.
Notice that you need to call DestroyClippingRegion if you want to set the clipping region exactly to the region specified.
Also note that if the clipping region is empty, any previously set clipping region is destroyed, i.e. it is equivalent to calling DestroyClippingRegion , and not to clipping out all drawing on the DC as might be expected.
Parameters: |
|
---|
See also
SetClippingRegion (self, pt, sz)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: |
---|
SetClippingRegion (self, rect)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Parameters: | rect (Rect) – |
---|
Sets the clipping region for this device context.
Unlike SetClippingRegion , this function works with physical coordinates and not with the logical ones.
Parameters: | region (Region) – |
---|
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.
Parameters: |
|
---|
Sets the current font for the DC.
If the argument is NullFont (or another invalid font; see Font.IsOk ), the current font is selected out of the device context (leaving DC without any valid font), allowing the current font to be destroyed safely.
Parameters: | font (Font) – |
---|
See also
Sets the current layout direction for the device context.
Parameters: | dir (LayoutDirection) – May be either Layout_Default , Layout_LeftToRight or Layout_RightToLeft . |
---|
See also
Sets the current logical function for the device context.
It determines how a source pixel (from a pen or brush colour, or source device context if using Blit ) combines with a destination pixel in the current device context. Text drawing is not affected by this function.
See RasterOperationMode enumeration values for more info.
The default is COPY , which simply draws with the current colour. The others combine the current colour and the background using a logical operation. INVERT is commonly used for drawing rubber bands or moving outlines, since drawing twice reverts to the original colour.
Parameters: | function (RasterOperationMode) – |
---|
Parameters: |
|
---|
Parameters: |
|
---|
The mapping mode of the device context defines the unit of measurement used to convert logical units to device units.
Note that in X, text drawing isn’t handled consistently with the mapping mode; a font is always specified in point size. However, setting the user scale (see SetUserScale ) scales the text appropriately. In Windows, scalable TrueType fonts are always used; in X, results depend on availability of fonts, but usually a reasonable match is found.
The coordinate origin is always at the top left of the screen/printer.
Drawing to a Windows printer device context uses the current mapping mode, but mapping mode is currently ignored for PostScript output.
Parameters: | mode (MappingMode) – |
---|
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 NullPalette , the current palette is selected out of the device context, and the original palette restored.
Parameters: | palette (Palette) – |
---|
See also
Palette
Sets the current pen for the DC.
If the argument is NullPen (or another invalid pen; see Pen.IsOk ), the current pen is selected out of the device context (leaving DC without any valid pen), allowing the current pen to be destroyed safely.
Parameters: | pen (Pen) – |
---|
See also
MemoryDC for the interpretation of colours when drawing into a monochrome bitmap.
Sets the current text background colour for the DC.
Parameters: | colour (Colour) – |
---|
Sets the current text foreground colour for the DC.
Parameters: | colour (Colour) – |
---|
See also
MemoryDC for the interpretation of colours when drawing into a monochrome bitmap.
Sets the user scaling factor, useful for applications which require ‘zooming’.
Parameters: |
|
---|
Starts a document (only relevant when outputting to a printer).
message is a message to show while printing.
Parameters: | message (string) – |
---|---|
Return type: | bool |
Starts a document page (only relevant when outputting to a printer).
Copy from a source DC to this DC possibly changing the scale.
Unlike Blit , this method allows to specify different source and destination region sizes, meaning that it can stretch or shrink it while copying. The same can be achieved by changing the scale of the source or target DC but calling this method is simpler and can also be more efficient if the platform provides a native implementation of it.
The meaning of its other parameters is the same as with Blit , in particular all source coordinates are interpreted using the source DC coordinate system, i.e. are affected by its scale, origin translation and axis direction.
Parameters: |
|
---|---|
Return type: | bool |
Blit in PostScriptDC, under X.
See MemoryDC for typical usage.
New in version 2.9.0.
Return type: | int |
---|
See GetBackground and SetBackground
See GetBackgroundMode and SetBackgroundMode
See GetBoundingBox
See GetCGContext
See GetCharHeight
See GetCharWidth
See GetClippingRect
See GetDeviceOrigin and SetDeviceOrigin
See GetFontMetrics
See GetGdkDrawable
See GetLayoutDirection and SetLayoutDirection
See GetLogicalFunction and SetLogicalFunction
See GetMapMode and SetMapMode
See GetPixel
See GetTextBackground and SetTextBackground
See GetTextForeground and SetTextForeground