X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..a70ab3b804b6c363f8bcbed0b4fce94b7fb03612:/interface/wx/dc.h?ds=sidebyside diff --git a/interface/wx/dc.h b/interface/wx/dc.h index 107cc06058..4f19e1be06 100644 --- a/interface/wx/dc.h +++ b/interface/wx/dc.h @@ -8,7 +8,6 @@ /** @class wxDC - @wxheader{dc.h} A wxDC is a @e "device context" onto which graphics and text can be drawn. It is intended to represent different output devices and offers a common @@ -122,7 +121,7 @@ public: 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 @@ -160,29 +159,29 @@ public: /** Convert device X coordinate to logical coordinate, using the current - mapping mode. + mapping mode, user scale factor, device origin and axis orientation. */ - virtual wxCoord DeviceToLogicalX(wxCoord x); + wxCoord DeviceToLogicalX(wxCoord x) const; /** Convert device X coordinate to relative logical coordinate, using the - current mapping mode but ignoring the x axis orientation. Use this - function for converting a width, for example. + current mapping mode and user scale factor but ignoring the + axis orientation. Use this for converting a width, for example. */ - virtual wxCoord DeviceToLogicalXRel(wxCoord x); + wxCoord DeviceToLogicalXRel(wxCoord x) const; /** Converts device Y coordinate to logical coordinate, using the current - mapping mode. + mapping mode, user scale factor, device origin and axis orientation. */ - virtual wxCoord DeviceToLogicalY(wxCoord y); + wxCoord DeviceToLogicalY(wxCoord y) const; /** Convert device Y coordinate to relative logical coordinate, using the - current mapping mode but ignoring the y axis orientation. Use this - function for converting a height, for example. + current mapping mode and user scale factor but ignoring the + axis orientation. Use this for converting a height, for example. */ - virtual wxCoord DeviceToLogicalYRel(wxCoord y); + wxCoord DeviceToLogicalYRel(wxCoord y) const; /** Draws an arc of a circle, centred on (@a xc, @a yc), with starting @@ -208,7 +207,7 @@ public: @see SetTextForeground(), SetTextBackground(), wxMemoryDC */ void DrawBitmap(const wxBitmap& bitmap, wxCoord x, wxCoord y, - bool transparent); + bool useMask = false); //@{ /** @@ -446,10 +445,8 @@ public: 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 Under wxGTK, the current - @ref GetLogicalFunction() "logical function" is used by this - function but it is ignored by wxMSW. Thus, you should avoid using - logical functions with this function in portable programs. + @note The current @ref GetLogicalFunction() "logical function" is + ignored by this function. */ void DrawText(const wxString& text, wxCoord x, wxCoord y); @@ -486,7 +483,7 @@ public: @see wxDC::SetBackground() */ - const wxBrush GetBackground() const; + const wxBrush& GetBackground() const; /** Returns the current background mode: @c wxSOLID or @c wxTRANSPARENT. @@ -500,17 +497,17 @@ public: @see wxDC::SetBrush() */ - const wxBrush GetBrush() const; + const wxBrush& GetBrush() const; /** Gets the character height of the currently set font. */ - wxCoord GetCharHeight(); + wxCoord GetCharHeight() const; /** Gets the average character width of the currently set font. */ - wxCoord GetCharWidth(); + wxCoord GetCharWidth() const; /** Gets the rectangle surrounding the current clipping region. @@ -520,7 +517,7 @@ public: 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. @@ -535,7 +532,7 @@ public: 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 @@ -552,14 +549,14 @@ public: @see SetLogicalFunction() */ - int GetLogicalFunction(); + int GetLogicalFunction() const; /** Gets the mapping mode for the device context. @see SetMapMode() */ - int GetMapMode(); + int GetMapMode() const; /** Gets the dimensions of the string using the currently selected font. @@ -579,7 +576,7 @@ public: 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, @@ -591,7 +588,7 @@ public: @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 @@ -616,7 +613,7 @@ public: @see SetPen() */ - const wxPen GetPen() const; + const wxPen& GetPen() const; /** Gets in @a colour the colour at the specified location. Not available @@ -628,7 +625,7 @@ public: The wxColour value is returned and is not required as a parameter. @endWxPythonOnly */ - bool GetPixel(wxCoord x, wxCoord y, wxColour* colour); + bool GetPixel(wxCoord x, wxCoord y, wxColour* colour) const; /** Returns the resolution of the device in pixels per inch. @@ -676,7 +673,7 @@ public: @see SetTextBackground() */ - const wxColour GetTextBackground() const; + const wxColour& GetTextBackground() const; //@{ /** @@ -717,14 +714,14 @@ public: @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; //@{ /** @@ -755,10 +752,9 @@ public: 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. @@ -767,49 +763,49 @@ public: /** Converts logical X coordinate to device coordinate, using the current - mapping mode. + mapping mode, user scale factor, device origin and axis orientation. */ - virtual wxCoord LogicalToDeviceX(wxCoord x); + wxCoord LogicalToDeviceX(wxCoord x) const; /** Converts logical X coordinate to relative device coordinate, using the - current mapping mode but ignoring the x axis orientation. Use this for - converting a width, for example. + current mapping mode and user scale factor but ignoring the + axis orientation. Use this for converting a width, for example. */ - virtual wxCoord LogicalToDeviceXRel(wxCoord x); + wxCoord LogicalToDeviceXRel(wxCoord x) const; /** Converts logical Y coordinate to device coordinate, using the current - mapping mode. + mapping mode, user scale factor, device origin and axis orientation. */ - virtual wxCoord LogicalToDeviceY(wxCoord y); + wxCoord LogicalToDeviceY(wxCoord y) const; /** Converts logical Y coordinate to relative device coordinate, using the - current mapping mode but ignoring the y axis orientation. Use this for - converting a height, for example. + current mapping mode and user scale factor but ignoring the + axis orientation. Use this for converting a height, for example. */ - virtual wxCoord LogicalToDeviceYRel(wxCoord y); + wxCoord LogicalToDeviceYRel(wxCoord y) const; /** Gets the maximum horizontal extent used in drawing commands so far. */ - wxCoord MaxX(); + wxCoord MaxX() const; /** Gets the maximum vertical extent used in drawing commands so far. */ - wxCoord MaxY(); + wxCoord MaxY() const; /** Gets the minimum horizontal extent used in drawing commands so far. */ - wxCoord MinX(); + wxCoord MinX() const; /** Gets the minimum vertical extent used in drawing commands so far. */ - wxCoord MinY(); + wxCoord MinY() const; /** Resets the bounding box: after a call to this function, the bounding @@ -912,6 +908,7 @@ public: 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. The possible values and their meaning in terms of source and destination pixel values are as follows: @@ -1014,7 +1011,7 @@ public: /** 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 @@ -1071,12 +1068,12 @@ public: 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. @@ -1094,14 +1091,14 @@ public: wxCoord srcWidth, wxCoord srcHeight, int logicalFunc = wxCOPY, bool useMask = false, - wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); + wxCoord xsrcMask = wxDefaultCoord, + wxCoord ysrcMask = wxDefaultCoord); }; /** @class wxDCClipper - @wxheader{dc.h} wxDCClipper is a small helper class for setting a clipping region on a wxDC and unsetting it automatically. An object of wxDCClipper class is typically