// Purpose: interface of various wxGraphics* classes
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
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
*/
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) */
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 */
};
*/
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.
*/
/**
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
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);
*/
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
*/
*/
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.
*/