Index: sky/shell/ui/animator.h |
diff --git a/sky/shell/ui/animator.h b/sky/shell/ui/animator.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c4ac1afe2f3be83b42e36f93e39dab938348edea |
--- /dev/null |
+++ b/sky/shell/ui/animator.h |
@@ -0,0 +1,38 @@ |
+// Copyright 2015 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 SKY_SHELL_UI_ANIMATOR_H_ |
+#define SKY_SHELL_UI_ANIMATOR_H_ |
+ |
+#include "base/memory/weak_ptr.h" |
+#include "sky/shell/ui/engine.h" |
+ |
+namespace sky { |
+namespace shell { |
+ |
+class Animator { |
+ public: |
+ explicit Animator(const Engine::Config& config, Engine* engine); |
+ ~Animator(); |
+ |
+ void RequestFrame(); |
+ |
+ private: |
+ void BeginFrame(); |
+ void OnFrameComplete(); |
+ |
+ Engine::Config config_; |
+ Engine* engine_; |
+ bool frame_requested_; |
eseidel
2015/02/18 20:55:56
You should either rename these to be more clear th
eseidel
2015/02/18 20:55:56
client_requested_frame?
|
+ bool frame_pending_; |
eseidel
2015/02/18 20:55:57
started_frame_creation?
|
+ |
+ base::WeakPtrFactory<Animator> weak_factory_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(Animator); |
+}; |
+ |
+} // namespace shell |
+} // namespace sky |
+ |
+#endif // SKY_SHELL_UI_ANIMATOR_H_ |