Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3739)

Unified Diff: cc/scheduler.h

Issue 11122003: [cc] Rename all cc/ filenames to Chromium style (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resource_provider.cc ('k') | cc/scheduler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/scheduler.h
diff --git a/cc/scheduler.h b/cc/scheduler.h
index 638cbb270ce9b24689d5095baf174ade4f4d1a13..1b483074b7cbd27a4cd3494aa12f913fa640c604 100644
--- a/cc/scheduler.h
+++ b/cc/scheduler.h
@@ -1,3 +1,109 @@
-// Copyright 2012 The Chromium Authors. All rights reserved.
+// Copyright 2011 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 CCScheduler_h
+#define CCScheduler_h
+
+#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
+#include "base/time.h"
+#include "CCFrameRateController.h"
+#include "CCSchedulerStateMachine.h"
+#include <wtf/PassOwnPtr.h>
+
+namespace cc {
+
+class CCThread;
+
+struct CCScheduledActionDrawAndSwapResult {
+ CCScheduledActionDrawAndSwapResult()
+ : didDraw(false)
+ , didSwap(false)
+ {
+ }
+ CCScheduledActionDrawAndSwapResult(bool didDraw, bool didSwap)
+ : didDraw(didDraw)
+ , didSwap(didSwap)
+ {
+ }
+ bool didDraw;
+ bool didSwap;
+};
+
+class CCSchedulerClient {
+public:
+ virtual void scheduledActionBeginFrame() = 0;
+ virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossible() = 0;
+ virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced() = 0;
+ virtual void scheduledActionCommit() = 0;
+ virtual void scheduledActionBeginContextRecreation() = 0;
+ virtual void scheduledActionAcquireLayerTexturesForMainThread() = 0;
+ virtual void didAnticipatedDrawTimeChange(base::TimeTicks) = 0;
+
+protected:
+ virtual ~CCSchedulerClient() { }
+};
+
+class CCScheduler : CCFrameRateControllerClient {
+public:
+ static PassOwnPtr<CCScheduler> create(CCSchedulerClient* client, scoped_ptr<CCFrameRateController> frameRateController)
+ {
+ return adoptPtr(new CCScheduler(client, frameRateController.Pass()));
+ }
+
+ virtual ~CCScheduler();
+
+ void setCanBeginFrame(bool);
+
+ void setVisible(bool);
+ void setCanDraw(bool);
+
+ void setNeedsCommit();
+
+ // Like setNeedsCommit(), but ensures a commit will definitely happen even if we are not visible.
+ void setNeedsForcedCommit();
+
+ void setNeedsRedraw();
+
+ void setMainThreadNeedsLayerTextures();
+
+ // Like setNeedsRedraw(), but ensures the draw will definitely happen even if we are not visible.
+ void setNeedsForcedRedraw();
+
+ void beginFrameComplete();
+ void beginFrameAborted();
+
+ void setMaxFramesPending(int);
+ void setSwapBuffersCompleteSupported(bool);
+ void didSwapBuffersComplete();
+
+ void didLoseContext();
+ void didRecreateContext();
+
+ bool commitPending() const { return m_stateMachine.commitPending(); }
+ bool redrawPending() const { return m_stateMachine.redrawPending(); }
+
+ void setTimebaseAndInterval(base::TimeTicks timebase, base::TimeDelta interval);
+
+ base::TimeTicks anticipatedDrawTime();
+
+ // CCFrameRateControllerClient implementation
+ virtual void vsyncTick(bool throttled) OVERRIDE;
+
+private:
+ CCScheduler(CCSchedulerClient*, scoped_ptr<CCFrameRateController>);
+
+ void processScheduledActions();
+
+ CCSchedulerClient* m_client;
+ scoped_ptr<CCFrameRateController> m_frameRateController;
+ CCSchedulerStateMachine m_stateMachine;
+ bool m_insideProcessScheduledActions;
+
+ DISALLOW_COPY_AND_ASSIGN(CCScheduler);
+};
+
+} // namespace cc
+
+#endif // CCScheduler_h
« no previous file with comments | « cc/resource_provider.cc ('k') | cc/scheduler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698