Chromium Code Reviews| Index: cc/hardcoded_scrollbar.h |
| diff --git a/cc/hardcoded_scrollbar.h b/cc/hardcoded_scrollbar.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..31fee855965d11a664b6c6741434ee01d124c7a2 |
| --- /dev/null |
| +++ b/cc/hardcoded_scrollbar.h |
| @@ -0,0 +1,57 @@ |
| +// Copyright 2011 The Chromium Authors. All rights reserved. |
|
danakj
2013/02/05 17:55:02
2013
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CC_HARDCODED_SCROLLBAR_H_ |
| +#define CC_HARDCODED_SCROLLBAR_H_ |
| + |
| +#include "base/memory/scoped_ptr.h" |
| +#include "base/time.h" |
| +#include "build/build_config.h" |
| +#include "ui/gfx/vector2d.h" |
| + |
| +namespace cc { |
| + |
| +class LayerTreeHostImpl; |
| +class RenderPass; |
| +class SharedQuadState; |
| + |
| +#if defined(OS_ANDROID) |
| +// FIXME(trchen): This class a quick hack scrollbar for Android for M25. |
| +// Need to disable WebKit-side scrollbar for now because sublayer |
| +// scrollbars aren't coordinated in the compositor, and the update latency is |
| +// too long when impl-side painting is enabled. We should remove this hack |
| +// after implementing the coordinator for sublayer scrollbars. |
| +class HardcodedScrollbar { |
| +public: |
| + HardcodedScrollbar(LayerTreeHostImpl* layer_tree_host_impl); |
|
danakj
2013/02/05 17:55:02
1 space before this
|
| + void Animate(base::TimeTicks monotonic_time); |
| + void PrependQuads(RenderPass* render_pass); |
| + void DidPinchGestureUpdate(base::TimeTicks monotonic_time); |
| + void DidPinchGestureEnd(base::TimeTicks monotonic_time); |
| + void DidUpdateScrollOffset(base::TimeTicks monotonic_time); |
| +private: |
| + LayerTreeHostImpl* layer_tree_host_impl_; |
|
danakj
2013/02/05 17:55:02
1 space
|
| + |
| + float opacity_; |
| + bool pinch_in_effect_; |
| + gfx::Vector2dF last_scroll_offset_; |
| + base::TimeTicks last_awaken_time_; |
| +}; |
| +#else |
| +// This is a dummy class for platforms that don't need a hardcoded scrollbar. |
| +// Everything is inlined for zero overhead. |
| +class HardcodedScrollbar { |
| +public: |
|
danakj
2013/02/05 17:55:02
1 space
|
| + inline HardcodedScrollbar(LayerTreeHostImpl*) { } |
|
danakj
2013/02/05 17:55:02
no space between {}s
|
| + inline void Animate(base::TimeTicks) { } |
|
danakj
2013/02/05 17:55:02
variables should still get names i believe
|
| + inline void PrependQuads(RenderPass*) { } |
| + inline void DidPinchGestureUpdate(base::TimeTicks) { } |
| + inline void DidPinchGestureEnd(base::TimeTicks) { } |
| + inline void DidUpdateScrollOffset(base::TimeTicks) { } |
| +}; |
| +#endif |
| + |
| +} // namespace cc |
| + |
| +#endif // CC_HARDCODED_SCROLLBAR_H_ |