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

Annotation of /trunk/3rdparty/wxWidgets/src/common/timercmn.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: 2760 byte(s)
committing r3113 initial commit again...
1 william 31 /////////////////////////////////////////////////////////////////////////////
2     // Name: common/timercmn.cpp
3     // Purpose: wxTimerBase implementation
4     // Author: Julian Smart, Guillermo Rodriguez, Vadim Zeitlin
5     // Modified by: VZ: extracted all non-wxTimer stuff in stopwatch.cpp (20.06.03)
6     // Created: 04/01/98
7     // RCS-ID: $Id: timercmn.cpp 35650 2005-09-23 12:56:45Z MR $
8     // Copyright: (c) Julian Smart
9     // (c) 1999 Guillermo Rodriguez <guille@iies.es>
10     // Licence: wxWindows licence
11     /////////////////////////////////////////////////////////////////////////////
12    
13     // ============================================================================
14     // declarations
15     // ============================================================================
16    
17     // ----------------------------------------------------------------------------
18     // wxWin headers
19     // ----------------------------------------------------------------------------
20    
21     // For compilers that support precompilation, includes "wx.h".
22     #include "wx/wxprec.h"
23    
24     #ifdef __BORLANDC__
25     #pragma hdrstop
26     #endif
27    
28     #if wxUSE_TIMER
29    
30     #ifndef WX_PRECOMP
31     #include "wx/timer.h"
32     #endif
33    
34     // ----------------------------------------------------------------------------
35     // wxWin macros
36     // ----------------------------------------------------------------------------
37    
38     IMPLEMENT_DYNAMIC_CLASS(wxTimerEvent, wxEvent)
39    
40     // ============================================================================
41     // wxTimerBase implementation
42     // ============================================================================
43    
44     wxTimerBase::~wxTimerBase()
45     {
46     // this destructor is required for Darwin
47     }
48    
49     void wxTimerBase::Notify()
50     {
51     // the base class version generates an event if it has owner - which it
52     // should because otherwise nobody can process timer events
53     wxCHECK_RET( m_owner, _T("wxTimer::Notify() should be overridden.") );
54    
55     wxTimerEvent event(m_idTimer, m_milli);
56     event.SetEventObject(this);
57     (void)m_owner->ProcessEvent(event);
58     }
59    
60     bool wxTimerBase::Start(int milliseconds, bool oneShot)
61     {
62     // under MSW timers only work when they're started from the main thread so
63     // let the caller know about it
64     #if wxUSE_THREADS
65     wxASSERT_MSG( wxThread::IsMain(),
66     _T("timer can only be started from the main thread") );
67     #endif // wxUSE_THREADS
68    
69     if ( IsRunning() )
70     {
71     // not stopping the already running timer might work for some
72     // platforms (no problems under MSW) but leads to mysterious crashes
73     // on the others (GTK), so to be on the safe side do it here
74     Stop();
75     }
76    
77     if ( milliseconds != -1 )
78     {
79     m_milli = milliseconds;
80     }
81    
82     m_oneShot = oneShot;
83    
84     return true;
85     }
86    
87     #endif // wxUSE_TIMER
88    

  ViewVC Help
Powered by ViewVC 1.1.22