bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width,
wxCoord height, wxDC* source, wxCoord xsrc, wxCoord ysrc,
int logicalFunc = wxCOPY, bool useMask = false,
- wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
+ wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
/**
Adds the specified point to the bounding box which can be retrieved
*/
void Clear();
- /**
- 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.
- */
- virtual void ComputeScaleAndOrigin();
-
/**
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
@see SetTextForeground(), SetTextBackground(), wxMemoryDC
*/
void DrawBitmap(const wxBitmap& bitmap, wxCoord x, wxCoord y,
- bool transparent);
+ bool useMask = false);
//@{
/**
the string. See GetTextExtent() for how to get the dimensions of a text
string, which can be used to position the text more precisely.
- @note The current @ref GetLogicalFunction() "logical function" is
+ @note The current @ref GetLogicalFunction() "logical function" is
ignored by this function.
*/
void DrawText(const wxString& text, wxCoord x, wxCoord y);
@see wxDC::SetBackground()
*/
- const wxBrush GetBackground() const;
+ const wxBrush& GetBackground() const;
/**
Returns the current background mode: @c wxSOLID or @c wxTRANSPARENT.
@see wxDC::SetBrush()
*/
- const wxBrush GetBrush() const;
+ const wxBrush& GetBrush() const;
/**
Gets the character height of the currently set font.
are returned as a tuple.
@endWxPythonOnly
*/
- void GetClippingBox(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
+ void GetClippingBox(wxCoord *x, wxCoord *y, wxCoord *width, wxCoord *height) const;
/**
Returns the depth (number of bits/pixel) of this DC.
wxNullFont initially and only after calling SetFont() a valid font is
returned.
*/
- const wxFont GetFont() const;
+ const wxFont& GetFont() const;
/**
Gets the current layout direction of the device context. On platforms
void GetMultiLineTextExtent(const wxString& string, wxCoord* w,
wxCoord* h,
wxCoord* heightLine = NULL,
- wxFont* font = NULL) const;
+ const wxFont* font = NULL) const;
/**
Gets the dimensions of the string using the currently selected font.
@a string is the text string to measure, @e heightLine, if non @NULL,
@see wxFont, SetFont(), GetPartialTextExtents(), GetTextExtent()
*/
- const wxSize GetMultiLineTextExtent(const wxString& string) const;
+ wxSize GetMultiLineTextExtent(const wxString& string) const;
/**
Fills the @a widths array with the widths from the beginning of @a text
@see SetPen()
*/
- const wxPen GetPen() const;
+ const wxPen& GetPen() const;
/**
Gets in @a colour the colour at the specified location. Not available
@see SetTextBackground()
*/
- const wxColour GetTextBackground() const;
+ const wxColour& GetTextBackground() const;
//@{
/**
@see SetTextForeground()
*/
- const wxColour GetTextForeground() const;
+ const wxColour& GetTextForeground() const;
/**
Gets the current user scale factor.
@see SetUserScale()
*/
- void GetUserScale(double x, double y);
+ void GetUserScale(double* x, double* y) const;
//@{
/**
to use @a initialColour on the left part of the rectangle and
@a destColour on the right one.
*/
- void GradientFillLinear(const wxRect& rect,
- const wxColour& initialColour,
+ void GradientFillLinear(const wxRect& rect, const wxColour& initialColour,
const wxColour& destColour,
- wxDirection nDirection = wxEAST);
+ wxDirection nDirection = wxRIGHT);
/**
Returns @true if the DC is ok to use.
*/
- bool Ok();
+ bool IsOk() const;
/**
Converts logical X coordinate to device coordinate, using the current
/**
Starts a document page (only relevant when outputting to a printer).
*/
- bool StartPage();
+ void StartPage();
/**
Copy from a source DC to this DC, specifying the destination
setting the @c no-maskblt option to 1.
@param xsrcMask
Source x position on the mask. If both xsrcMask and ysrcMask are
- -1, xsrc and ysrc will be assumed for the mask source position.
- Currently only implemented on Windows.
+ wxDefaultCoord, @a xsrc and @a ysrc will be assumed for the mask
+ source position. Currently only implemented on Windows.
@param ysrcMask
Source y position on the mask. If both xsrcMask and ysrcMask are
- -1, xsrc and ysrc will be assumed for the mask source position.
- Currently only implemented on Windows.
+ wxDefaultCoord, @a xsrc and @a ysrc will be assumed for the mask
+ source position. Currently only implemented on Windows.
There is partial support for Blit() in wxPostScriptDC, under X.
wxCoord srcWidth, wxCoord srcHeight,
int logicalFunc = wxCOPY,
bool useMask = false,
- wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
+ wxCoord xsrcMask = wxDefaultCoord,
+ wxCoord ysrcMask = wxDefaultCoord);
};
wxDCClipper(wxDC& dc, const wxRect& rect);
wxDCClipper(wxDC& dc, int x, int y, int w, int h);
//@}
+
+ /**
+ Destroys the clipping region associated with the DC passed to the ctor.
+ */
+ ~wxDCClipper();
+};
+
+
+/**
+ @class wxDCBrushChanger
+
+ wxDCBrushChanger is a small helper class for setting a brush on a wxDC
+ and unsetting it automatically in the destructor, restoring the previous one.
+
+ @library{wxcore}
+ @category{gdi}
+
+ @see wxDC::SetBrush()
+*/
+class wxDCBrushChanger
+{
+public:
+ /**
+ Sets @a brush on the given @a dc, storing the old one.
+
+ @param dc
+ The DC where the brush must be temporary set.
+ @param brush
+ The brush to set.
+ */
+ wxDCBrushChanger(wxDC& dc, const wxBrush& brush);
+
+ /**
+ Restores the brush originally selected in the DC passed to the ctor.
+ */
+ ~wxDCBrushChanger();
+};
+
+
+/**
+ @class wxDCPenChanger
+
+ wxDCPenChanger is a small helper class for setting a pen on a wxDC
+ and unsetting it automatically in the destructor, restoring the previous one.
+
+ @library{wxcore}
+ @category{gdi}
+
+ @see wxDC::SetPen()
+*/
+class wxDCPenChanger
+{
+public:
+ /**
+ Sets @a pen on the given @a dc, storing the old one.
+
+ @param dc
+ The DC where the pen must be temporary set.
+ @param pen
+ The pen to set.
+ */
+ wxDCPenChanger(wxDC& dc, const wxPen& pen);
+
+ /**
+ Restores the pen originally selected in the DC passed to the ctor.
+ */
+ ~wxDCPenChanger();
+};
+
+
+
+/**
+ @class wxDCTextColourChanger
+
+ wxDCTextColourChanger is a small helper class for setting a foreground
+ text colour on a wxDC and unsetting it automatically in the destructor,
+ restoring the previous one.
+
+ @library{wxcore}
+ @category{gdi}
+
+ @see wxDC::SetTextForeground()
+*/
+class wxDCTextColourChanger
+{
+public:
+ /**
+ Sets @a col on the given @a dc, storing the old one.
+
+ @param dc
+ The DC where the colour must be temporary set.
+ @param col
+ The colour to set.
+ */
+ wxDCTextColourChanger(wxDC& dc, const wxColour& col);
+
+ /**
+ Restores the colour originally selected in the DC passed to the ctor.
+ */
+ ~wxDCTextColourChanger();
+};
+
+
+
+/**
+ @class wxDCFontChanger
+
+ wxDCFontChanger is a small helper class for setting a font on a wxDC and
+ unsetting it automatically in the destructor, restoring the previous one.
+
+ @since 2.9.0
+
+ @library{wxcore}
+ @category{gdi}
+
+ @see wxDC::SetFont()
+*/
+class wxDCFontChanger
+{
+public:
+ /**
+ Sets @a font on the given @a dc, storing the old one.
+
+ @param dc
+ The DC where the font must be temporary set.
+ @param font
+ The font to set.
+ */
+ wxDCFontChanger(wxDC& dc, const wxFont& font);
+
+ /**
+ Restores the colour originally selected in the DC passed to the ctor.
+ */
+ ~wxDCFontChanger();
};