/[pcsx2_0.9.7]/trunk/3rdparty/wxWidgets/src/common/effects.cpp
ViewVC logotype

Annotation of /trunk/3rdparty/wxWidgets/src/common/effects.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (hide annotations) (download)
Tue Sep 7 03:24:11 2010 UTC (10 years, 4 months ago) by william
File size: 3939 byte(s)
committing r3113 initial commit again...
1 william 31 /////////////////////////////////////////////////////////////////////////////
2     // Name: src/common/effects.cpp
3     // Purpose: wxEffects implementation
4     // Author: Julian Smart
5     // Modified by:
6     // Created: 25/4/2000
7     // RCS-ID: $Id: effects.cpp 42755 2006-10-30 19:41:46Z VZ $
8     // Copyright: (c) Julian Smart
9     // Licence: wxWindows licence
10     /////////////////////////////////////////////////////////////////////////////
11    
12     // For compilers that support precompilation, includes "wx.h".
13     #include "wx/wxprec.h"
14    
15     #ifdef __BORLANDC__
16     #pragma hdrstop
17     #endif
18    
19     #include "wx/effects.h"
20    
21     #ifndef WX_PRECOMP
22     #include "wx/dcmemory.h"
23     #include "wx/pen.h"
24     #include "wx/settings.h"
25     #include "wx/gdicmn.h"
26     #endif //WX_PRECOMP
27    
28     /*
29     * wxEffects: various 3D effects
30     */
31    
32     IMPLEMENT_CLASS(wxEffects, wxObject)
33    
34     // Assume system colours
35     wxEffects::wxEffects()
36     {
37     m_highlightColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DHILIGHT) ;
38     m_lightShadow = wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT) ;
39     m_faceColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE) ;
40     m_mediumShadow = wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW) ;
41     m_darkShadow = wxSystemSettings::GetColour(wxSYS_COLOUR_3DDKSHADOW) ;
42     }
43    
44     // Going from lightest to darkest
45     wxEffects::wxEffects(const wxColour& highlightColour, const wxColour& lightShadow,
46     const wxColour& faceColour, const wxColour& mediumShadow, const wxColour& darkShadow)
47     {
48     m_highlightColour = highlightColour;
49     m_lightShadow = lightShadow;
50     m_faceColour = faceColour;
51     m_mediumShadow = mediumShadow;
52     m_darkShadow = darkShadow;
53     }
54    
55     // Draw a sunken edge
56     void wxEffects::DrawSunkenEdge(wxDC& dc, const wxRect& rect, int WXUNUSED(borderSize))
57     {
58     wxPen highlightPen(m_highlightColour, 1, wxSOLID);
59     wxPen lightShadowPen(m_lightShadow, 1, wxSOLID);
60     wxPen facePen(m_faceColour, 1, wxSOLID);
61     wxPen mediumShadowPen(m_mediumShadow, 1, wxSOLID);
62     wxPen darkShadowPen(m_darkShadow, 1, wxSOLID);
63    
64     //// LEFT AND TOP
65     // Draw a medium shadow pen on left and top, followed by dark shadow line to
66     // right and below of these lines
67    
68     dc.SetPen(mediumShadowPen);
69     dc.DrawLine(rect.x, rect.y, rect.x+rect.width-1, rect.y); // Top
70     dc.DrawLine(rect.x, rect.y, rect.x, rect.y+rect.height-1); // Left
71    
72     dc.SetPen(darkShadowPen);
73     dc.DrawLine(rect.x+1, rect.y+1, rect.x+rect.width-2, rect.y+1); // Top
74     dc.DrawLine(rect.x+1, rect.y+1, rect.x+1, rect.y+rect.height-1); // Left
75    
76     //// RIGHT AND BOTTOM
77    
78     dc.SetPen(highlightPen);
79     dc.DrawLine(rect.x+rect.width-1, rect.y, rect.x+rect.width-1, rect.y+rect.height-1); // Right
80     dc.DrawLine(rect.x, rect.y+rect.height-1, rect.x+rect.width, rect.y+rect.height-1); // Bottom
81    
82     dc.SetPen(lightShadowPen);
83     dc.DrawLine(rect.x+rect.width-2, rect.y+1, rect.x+rect.width-2, rect.y+rect.height-2); // Right
84     dc.DrawLine(rect.x+1, rect.y+rect.height-2, rect.x+rect.width-1, rect.y+rect.height-2); // Bottom
85    
86     dc.SetPen(wxNullPen);
87     }
88    
89     bool wxEffects::TileBitmap(const wxRect& rect, wxDC& dc, const wxBitmap& bitmap)
90     {
91     int w = bitmap.GetWidth();
92     int h = bitmap.GetHeight();
93    
94     wxMemoryDC dcMem;
95    
96     #if wxUSE_PALETTE
97     static bool hiColour = (wxDisplayDepth() >= 16) ;
98     if (bitmap.GetPalette() && !hiColour)
99     {
100     dc.SetPalette(* bitmap.GetPalette());
101     dcMem.SetPalette(* bitmap.GetPalette());
102     }
103     #endif // wxUSE_PALETTE
104    
105     dcMem.SelectObjectAsSource(bitmap);
106    
107     int i, j;
108     for (i = rect.x; i < rect.x + rect.width; i += w)
109     {
110     for (j = rect.y; j < rect.y + rect.height; j+= h)
111     dc.Blit(i, j, bitmap.GetWidth(), bitmap.GetHeight(), & dcMem, 0, 0);
112     }
113     dcMem.SelectObject(wxNullBitmap);
114    
115     #if wxUSE_PALETTE
116     if (bitmap.GetPalette() && !hiColour)
117     {
118     dc.SetPalette(wxNullPalette);
119     dcMem.SetPalette(wxNullPalette);
120     }
121     #endif // wxUSE_PALETTE
122    
123     return true;
124     }

  ViewVC Help
Powered by ViewVC 1.1.22