From: Stefan Csomor Date: Thu, 9 Jun 2011 21:38:08 +0000 (+0000) Subject: adding placeholders for interpolation setting X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/133cb28b21dc61342da65dcb0addbca9a96b6fe2 adding placeholders for interpolation setting git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/graphics.h b/include/wx/graphics.h index b79ba6144c..2768666870 100644 --- a/include/wx/graphics.h +++ b/include/wx/graphics.h @@ -27,6 +27,18 @@ enum wxAntialiasMode wxANTIALIAS_DEFAULT, }; +enum wxInterpolationQuality +{ + // no interpolation + wxINTERPOLATION_NONE, // should be 0 + // fast interpolation, suited for interactivity + wxINTERPOLATION_FAST, + // better quality + wxINTERPOLATION_GOOD, + // best quality, not suited for interactivity + wxINTERPOLATION_BEST +}; + enum wxCompositionMode { // R = Result, S = Source, D = Destination, premultiplied with alpha @@ -496,6 +508,12 @@ public: // sets the antialiasing mode, returns true if it supported virtual bool SetAntialiasMode(wxAntialiasMode antialias) = 0; + // returns the current interpolation mode + virtual wxInterpolationQuality GetInterpolationQuality() const { return m_interpolation; } + + // sets the interpolation mode, returns true if it supported + virtual bool SetInterpolationQuality(wxInterpolationQuality interpolation) = 0; + // returns the current compositing operator virtual wxCompositionMode GetCompositionMode() const { return m_composition; } @@ -660,6 +678,7 @@ protected: wxGraphicsFont m_font; wxAntialiasMode m_antialias; wxCompositionMode m_composition; + wxInterpolationQuality m_interpolation; bool m_enableOffset; protected: diff --git a/src/generic/graphicc.cpp b/src/generic/graphicc.cpp index ba43f26648..7fb9f85f38 100644 --- a/src/generic/graphicc.cpp +++ b/src/generic/graphicc.cpp @@ -368,6 +368,8 @@ public: virtual bool SetAntialiasMode(wxAntialiasMode antialias); + virtual bool SetInterpolationQuality(wxInterpolationQuality interpolation); + virtual bool SetCompositionMode(wxCompositionMode op); virtual void BeginLayer(wxDouble opacity); @@ -1694,6 +1696,12 @@ bool wxCairoContext::SetAntialiasMode(wxAntialiasMode antialias) return true; } +bool wxCairoContext::SetInterpolationQuality(wxInterpolationQuality WXUNUSED(interpolation)) +{ + // placeholder + return false; +} + bool wxCairoContext::SetCompositionMode(wxCompositionMode op) { if ( m_composition == op ) diff --git a/src/msw/graphics.cpp b/src/msw/graphics.cpp index 0aede6aaca..3c8e85fe8a 100644 --- a/src/msw/graphics.cpp +++ b/src/msw/graphics.cpp @@ -335,6 +335,8 @@ public: virtual bool SetAntialiasMode(wxAntialiasMode antialias); + virtual bool SetInterpolationQuality(wxInterpolationQuality interpolation); + virtual bool SetCompositionMode(wxCompositionMode op); virtual void BeginLayer(wxDouble opacity); @@ -1479,6 +1481,12 @@ bool wxGDIPlusContext::SetAntialiasMode(wxAntialiasMode antialias) return true; } +bool wxGDIPlusContext::SetInterpolationQuality(wxInterpolationQuality WXUNUSED(interpolation)) +{ + // placeholder + return false; +} + bool wxGDIPlusContext::SetCompositionMode(wxCompositionMode op) { if ( m_composition == op ) diff --git a/src/osx/carbon/graphics.cpp b/src/osx/carbon/graphics.cpp index 2f88325610..5501962714 100644 --- a/src/osx/carbon/graphics.cpp +++ b/src/osx/carbon/graphics.cpp @@ -1415,6 +1415,8 @@ public: virtual bool SetAntialiasMode(wxAntialiasMode antialias); + virtual bool SetInterpolationQuality(wxInterpolationQuality interpolation); + virtual bool SetCompositionMode(wxCompositionMode op); virtual void BeginLayer(wxDouble opacity); @@ -1777,6 +1779,12 @@ bool wxMacCoreGraphicsContext::SetAntialiasMode(wxAntialiasMode antialias) return true; } +bool wxMacCoreGraphicsContext::SetInterpolationQuality(wxInterpolationQuality WXUNUSED(interpolation)) +{ + // placeholder + return false; +} + bool wxMacCoreGraphicsContext::SetCompositionMode(wxCompositionMode op) { if (!EnsureIsValid())