X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f4fc7967b595ea8257696baff78e1866511223d..4ee4c7b948e76377a6947d3ffbe5099870d0c3e9:/src/common/effects.cpp diff --git a/src/common/effects.cpp b/src/common/effects.cpp index 7f3c8e0295..fe7a35e25e 100644 --- a/src/common/effects.cpp +++ b/src/common/effects.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: effects.cpp -// Purpose: wxEffects implementation +// Name: src/common/effects.cpp +// Purpose: wxEffectsImpl implementation // Author: Julian Smart // Modified by: // Created: 25/4/2000 @@ -9,41 +9,42 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "effects.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif -#include "wx/gdicmn.h" -#include "wx/pen.h" -#include "wx/dcmemory.h" - #include "wx/effects.h" +#ifndef WX_PRECOMP + #include "wx/dcmemory.h" + #include "wx/pen.h" + #include "wx/settings.h" + #include "wx/gdicmn.h" +#endif //WX_PRECOMP + +#if WXWIN_COMPATIBILITY_2_8 + /* - * wxEffects: various 3D effects + * wxEffectsImpl: various 3D effects */ -IMPLEMENT_CLASS(wxEffects, wxObject) +IMPLEMENT_CLASS(wxEffectsImpl, wxObject) // Assume system colours -wxEffects::wxEffects() +wxEffectsImpl::wxEffectsImpl() { - m_highlightColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DHILIGHT) ; - m_lightShadow = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT) ; - m_faceColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE) ; - m_mediumShadow = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DSHADOW) ; - m_darkShadow = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DDKSHADOW) ; + m_highlightColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DHILIGHT) ; + m_lightShadow = wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT) ; + m_faceColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE) ; + m_mediumShadow = wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW) ; + m_darkShadow = wxSystemSettings::GetColour(wxSYS_COLOUR_3DDKSHADOW) ; } // Going from lightest to darkest -wxEffects::wxEffects(const wxColour& highlightColour, const wxColour& lightShadow, +wxEffectsImpl::wxEffectsImpl(const wxColour& highlightColour, const wxColour& lightShadow, const wxColour& faceColour, const wxColour& mediumShadow, const wxColour& darkShadow) { m_highlightColour = highlightColour; @@ -54,13 +55,13 @@ wxEffects::wxEffects(const wxColour& highlightColour, const wxColour& lightShado } // Draw a sunken edge -void wxEffects::DrawSunkenEdge(wxDC& dc, const wxRect& rect, int borderSize) +void wxEffectsImpl::DrawSunkenEdge(wxDC& dc, const wxRect& rect, int WXUNUSED(borderSize)) { - wxPen highlightPen(m_highlightColour, 1, wxSOLID); - wxPen lightShadowPen(m_lightShadow, 1, wxSOLID); - wxPen facePen(m_faceColour, 1, wxSOLID); - wxPen mediumShadowPen(m_mediumShadow, 1, wxSOLID); - wxPen darkShadowPen(m_darkShadow, 1, wxSOLID); + wxPen highlightPen(m_highlightColour, 1, wxPENSTYLE_SOLID); + wxPen lightShadowPen(m_lightShadow, 1, wxPENSTYLE_SOLID); + wxPen facePen(m_faceColour, 1, wxPENSTYLE_SOLID); + wxPen mediumShadowPen(m_mediumShadow, 1, wxPENSTYLE_SOLID); + wxPen darkShadowPen(m_darkShadow, 1, wxPENSTYLE_SOLID); //// LEFT AND TOP // Draw a medium shadow pen on left and top, followed by dark shadow line to @@ -87,21 +88,23 @@ void wxEffects::DrawSunkenEdge(wxDC& dc, const wxRect& rect, int borderSize) dc.SetPen(wxNullPen); } -bool wxEffects::TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap) +bool wxEffectsImpl::TileBitmap(const wxRect& rect, wxDC& dc, const wxBitmap& bitmap) { - static bool hiColour = (wxDisplayDepth() >= 16) ; - int w = bitmap.GetWidth(); int h = bitmap.GetHeight(); - + wxMemoryDC dcMem; - + +#if wxUSE_PALETTE + static bool hiColour = (wxDisplayDepth() >= 16) ; if (bitmap.GetPalette() && !hiColour) { dc.SetPalette(* bitmap.GetPalette()); dcMem.SetPalette(* bitmap.GetPalette()); } - dcMem.SelectObject(bitmap); +#endif // wxUSE_PALETTE + + dcMem.SelectObjectAsSource(bitmap); int i, j; for (i = rect.x; i < rect.x + rect.width; i += w) @@ -111,11 +114,16 @@ bool wxEffects::TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap) } dcMem.SelectObject(wxNullBitmap); +#if wxUSE_PALETTE if (bitmap.GetPalette() && !hiColour) { dc.SetPalette(wxNullPalette); dcMem.SetPalette(wxNullPalette); } +#endif // wxUSE_PALETTE - return TRUE; + return true; } + +#endif // WXWIN_COMPATIBILITY_2_8 +