X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/33ac7e6f01acbac1cff0ad400d8ea7f0bfd0a62f..363e2dc013a5e80e148cfe022963e2c78a6bbc3d:/src/common/effects.cpp diff --git a/src/common/effects.cpp b/src/common/effects.cpp index ae4c66e40f..8f34220fd6 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,40 @@ // 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/settings.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 + /* - * 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,7 +53,7 @@ wxEffects::wxEffects(const wxColour& highlightColour, const wxColour& lightShado } // Draw a sunken edge -void wxEffects::DrawSunkenEdge(wxDC& dc, const wxRect& rect, int WXUNUSED(borderSize)) +void wxEffectsImpl::DrawSunkenEdge(wxDC& dc, const wxRect& rect, int WXUNUSED(borderSize)) { wxPen highlightPen(m_highlightColour, 1, wxSOLID); wxPen lightShadowPen(m_lightShadow, 1, wxSOLID); @@ -87,21 +86,23 @@ void wxEffects::DrawSunkenEdge(wxDC& dc, const wxRect& rect, int WXUNUSED(border 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 +112,13 @@ 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; }