X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ffc78010a9d760b6233eec04777d8d036e976204..7ed24cb652413094e211940d7177d89e9fc805f5:/interface/wx/graphics.h diff --git a/interface/wx/graphics.h b/interface/wx/graphics.h index 118710bd3b..7425c4a78a 100644 --- a/interface/wx/graphics.h +++ b/interface/wx/graphics.h @@ -3,7 +3,7 @@ // Purpose: interface of various wxGraphics* classes // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -212,6 +212,23 @@ enum wxAntialiasMode wxANTIALIAS_DEFAULT, }; +/** + Interpolation quality used by wxGraphicsContext::SetInterpolationQuality(). + */ +enum wxInterpolationQuality +{ + /** default interpolation, based on type of context, in general medium quality */ + wxINTERPOLATION_DEFAULT, + /** no interpolation */ + wxINTERPOLATION_NONE, + /** fast interpolation, suited for interactivity */ + wxINTERPOLATION_FAST, + /** better quality */ + wxINTERPOLATION_GOOD, + /** best quality, not suited for interactivity */ + wxINTERPOLATION_BEST +}; + /** Compositing is done using Porter-Duff compositions (see http://keithp.com/~keithp/porterduff/p253-porter.pdf) with @@ -224,6 +241,14 @@ enum wxAntialiasMode */ enum wxCompositionMode { + /** + Indicates invalid or unsupported composition mode. + + This value can't be passed to wxGraphicsContext::SetCompositionMode(). + + @since 2.9.2 + */ + wxCOMPOSITION_INVALID = -1, wxCOMPOSITION_CLEAR, /**< @e R = 0 */ wxCOMPOSITION_SOURCE, /**< @e R = S */ wxCOMPOSITION_OVER, /**< @e R = @e S + @e D*(1 - @e Sa) */ @@ -237,7 +262,7 @@ enum wxCompositionMode wxCOMPOSITION_DEST_OUT, /**< @e R = @e D*(1 - @e Sa) */ wxCOMPOSITION_DEST_ATOP, /**< @e R = @e S*(1 - @e Da) + @e D*@e Sa */ wxCOMPOSITION_XOR, /**< @e R = @e S*(1 - @e Da) + @e D*(1 - @e Sa) */ - wxCOMPOSITION_ADD, /**< @e R = @e S + @e D */ + wxCOMPOSITION_ADD /**< @e R = @e S + @e D */ }; @@ -317,6 +342,16 @@ public: */ static wxGraphicsContext* Create(const wxPrinterDC& dc); + /** + Creates a wxGraphicsContext from a wxEnhMetaFileDC. + + This function, as wxEnhMetaFileDC class itself, is only available only + under MSW. + + @see wxGraphicsRenderer::CreateContext() + */ + static wxGraphicsContext* Create(const wxEnhMetaFileDC& dc); + /** Clips drawings to the specified region. */ @@ -403,7 +438,7 @@ public: /** Creates a native brush with a radial gradient. - The brush originats at (@a xo, @a yc) and ends on a circle around + The brush originates at (@a xo, @a yc) and ends on a circle around (@a xc, @a yc) with the given @a radius. The gradient may be specified either by its start and end colours @a @@ -620,8 +655,10 @@ public: virtual void StrokeLines(size_t n, const wxPoint2DDouble* beginPoints, const wxPoint2DDouble* endPoints); /** - Stroke disconnected lines from begin to end points, fastest method - available for this purpose. + Stroke lines connecting all the points. + + Unlike the other overload of this function, this method draws a single + polyline and not a number of disconnected lines. */ virtual void StrokeLines(size_t n, const wxPoint2DDouble* points); @@ -656,6 +693,16 @@ public: */ virtual wxAntialiasMode GetAntialiasMode() const ; + /** + Sets the interpolation quality, returns true if it supported + */ + virtual bool SetInterpolationQuality(wxInterpolationQuality interpolation) = 0; + + /** + Returns the current interpolation quality + */ + virtual wxInterpolationQuality GetInterpolationQuality() const; + /** Sets the compositing operator, returns true if it supported */ @@ -825,6 +872,14 @@ public: */ virtual wxGraphicsContext* CreateContext(const wxPrinterDC& dc) = 0 ; + /** + Creates a wxGraphicsContext from a wxEnhMetaFileDC. + + This function, as wxEnhMetaFileDC class itself, is only available only + under MSW. + */ + virtual wxGraphicsContext* CreateContext(const wxEnhMetaFileDC& dc) = 0; + /** Creates a native brush from a wxBrush. */