diff options
Diffstat (limited to 'cc/CCFrameRateController.h')
-rw-r--r-- | cc/CCFrameRateController.h | 82 |
1 files changed, 3 insertions, 79 deletions
diff --git a/cc/CCFrameRateController.h b/cc/CCFrameRateController.h index 2aeeae1..e8d28b53 100644 --- a/cc/CCFrameRateController.h +++ b/cc/CCFrameRateController.h @@ -1,82 +1,6 @@ -// Copyright 2011 The Chromium Authors. All rights reserved. +// Copyright 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CCFrameRateController_h -#define CCFrameRateController_h - -#include "base/memory/scoped_ptr.h" -#include "base/time.h" -#include "CCTimer.h" -#include <wtf/PassRefPtr.h> -#include <wtf/RefPtr.h> - -namespace cc { - -class CCThread; -class CCTimeSource; - -class CCFrameRateControllerClient { -public: - // Throttled is true when we have a maximum number of frames pending. - virtual void vsyncTick(bool throttled) = 0; - -protected: - virtual ~CCFrameRateControllerClient() {} -}; - -class CCFrameRateControllerTimeSourceAdapter; - -class CCFrameRateController : public CCTimerClient { -public: - explicit CCFrameRateController(PassRefPtr<CCTimeSource>); - // Alternate form of CCFrameRateController with unthrottled frame-rate. - explicit CCFrameRateController(CCThread*); - virtual ~CCFrameRateController(); - - void setClient(CCFrameRateControllerClient* client) { m_client = client; } - - void setActive(bool); - - // Use the following methods to adjust target frame rate. - // - // Multiple frames can be in-progress, but for every didBeginFrame, a - // didFinishFrame should be posted. - // - // If the rendering pipeline crashes, call didAbortAllPendingFrames. - void didBeginFrame(); - void didFinishFrame(); - void didAbortAllPendingFrames(); - void setMaxFramesPending(int); // 0 for unlimited. - - // This returns null for unthrottled frame-rate. - base::TimeTicks nextTickTime(); - - void setTimebaseAndInterval(base::TimeTicks timebase, base::TimeDelta interval); - void setSwapBuffersCompleteSupported(bool); - -protected: - friend class CCFrameRateControllerTimeSourceAdapter; - void onTimerTick(); - - void postManualTick(); - - // CCTimerClient implementation (used for unthrottled frame-rate). - virtual void onTimerFired() OVERRIDE; - - CCFrameRateControllerClient* m_client; - int m_numFramesPending; - int m_maxFramesPending; - RefPtr<CCTimeSource> m_timeSource; - scoped_ptr<CCFrameRateControllerTimeSourceAdapter> m_timeSourceClientAdapter; - bool m_active; - bool m_swapBuffersCompleteSupported; - - // Members for unthrottled frame-rate. - bool m_isTimeSourceThrottling; - scoped_ptr<CCTimer> m_manualTicker; -}; - -} // namespace cc - -#endif // CCFrameRateController_h +// Temporary forwarding header +#include "cc/frame_rate_controller.h" |