summaryrefslogtreecommitdiffstats
path: root/cc/CCDamageTracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'cc/CCDamageTracker.h')
-rw-r--r--cc/CCDamageTracker.h63
1 files changed, 3 insertions, 60 deletions
diff --git a/cc/CCDamageTracker.h b/cc/CCDamageTracker.h
index c7550a2..5e48bc6 100644
--- a/cc/CCDamageTracker.h
+++ b/cc/CCDamageTracker.h
@@ -1,63 +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 CCDamageTracker_h
-#define CCDamageTracker_h
-
-#include "base/memory/scoped_ptr.h"
-#include "FloatRect.h"
-#include <vector>
-#include <wtf/HashMap.h>
-#include <wtf/Vector.h>
-
-namespace WebKit {
-class WebFilterOperations;
-}
-
-namespace cc {
-
-class CCLayerImpl;
-class CCRenderSurface;
-
-// Computes the region where pixels have actually changed on a RenderSurface. This region is used
-// to scissor what is actually drawn to the screen to save GPU computation and bandwidth.
-class CCDamageTracker {
-public:
- static scoped_ptr<CCDamageTracker> create();
- ~CCDamageTracker();
-
- void didDrawDamagedArea() { m_currentDamageRect = FloatRect(); }
- void forceFullDamageNextUpdate() { m_forceFullDamageNextUpdate = true; }
- void updateDamageTrackingState(const std::vector<CCLayerImpl*>& layerList, int targetSurfaceLayerID, bool targetSurfacePropertyChangedOnlyFromDescendant, const IntRect& targetSurfaceContentRect, CCLayerImpl* targetSurfaceMaskLayer, const WebKit::WebFilterOperations&);
-
- const FloatRect& currentDamageRect() { return m_currentDamageRect; }
-
-private:
- CCDamageTracker();
-
- FloatRect trackDamageFromActiveLayers(const std::vector<CCLayerImpl*>& layerList, int targetSurfaceLayerID);
- FloatRect trackDamageFromSurfaceMask(CCLayerImpl* targetSurfaceMaskLayer);
- FloatRect trackDamageFromLeftoverRects();
-
- FloatRect removeRectFromCurrentFrame(int layerID, bool& layerIsNew);
- void saveRectForNextFrame(int layerID, const FloatRect& targetSpaceRect);
-
- // These helper functions are used only in trackDamageFromActiveLayers().
- void extendDamageForLayer(CCLayerImpl*, FloatRect& targetDamageRect);
- void extendDamageForRenderSurface(CCLayerImpl*, FloatRect& targetDamageRect);
-
- // To correctly track exposed regions, two hashtables of rects are maintained.
- // The "current" map is used to compute exposed regions of the current frame, while
- // the "next" map is used to collect layer rects that are used in the next frame.
- typedef HashMap<int, FloatRect> RectMap;
- scoped_ptr<RectMap> m_currentRectHistory;
- scoped_ptr<RectMap> m_nextRectHistory;
-
- FloatRect m_currentDamageRect;
- bool m_forceFullDamageNextUpdate;
-};
-
-} // namespace cc
-
-#endif // CCDamageTracker_h
+// Temporary forwarding header
+#include "cc/damage_tracker.h"