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

Unified Diff: chrome/renderer/paint_aggregator.h

Issue 6685072: Move a bunch more random files from chrome\renderer to content\renderer. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 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 | « chrome/renderer/page_load_histograms.cc ('k') | chrome/renderer/paint_aggregator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/paint_aggregator.h
===================================================================
--- chrome/renderer/paint_aggregator.h (revision 78620)
+++ chrome/renderer/paint_aggregator.h (working copy)
@@ -1,64 +0,0 @@
-// Copyright (c) 2009 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 CHROME_RENDERER_PAINT_AGGREGATOR_H_
-#define CHROME_RENDERER_PAINT_AGGREGATOR_H_
-#pragma once
-
-#include <vector>
-
-#include "base/basictypes.h"
-#include "ui/gfx/rect.h"
-
-// This class is responsible for aggregating multiple invalidation and scroll
-// commands to produce a scroll and repaint sequence.
-class PaintAggregator {
- public:
- // This structure describes an aggregation of InvalidateRect and ScrollRect
- // calls. If |scroll_rect| is non-empty, then that rect should be scrolled
- // by the amount specified by |scroll_delta|. If |paint_rects| is non-empty,
- // then those rects should be repainted. If |scroll_rect| and |paint_rects|
- // are non-empty, then scrolling should be performed before repainting.
- // |scroll_delta| can only specify scrolling in one direction (i.e., the x
- // and y members cannot both be non-zero).
- struct PendingUpdate {
- PendingUpdate();
- ~PendingUpdate();
-
- // Returns the rect damaged by scrolling within |scroll_rect| by
- // |scroll_delta|. This rect must be repainted.
- gfx::Rect GetScrollDamage() const;
-
- // Returns the smallest rect containing all paint rects.
- gfx::Rect GetPaintBounds() const;
-
- gfx::Point scroll_delta;
- gfx::Rect scroll_rect;
- std::vector<gfx::Rect> paint_rects;
- };
-
- // There is a PendingUpdate if InvalidateRect or ScrollRect were called and
- // ClearPendingUpdate was not called.
- bool HasPendingUpdate() const;
- void ClearPendingUpdate();
-
- // Fills |update| and clears the pending update.
- void PopPendingUpdate(PendingUpdate* update);
-
- // The given rect should be repainted.
- void InvalidateRect(const gfx::Rect& rect);
-
- // The given rect should be scrolled by the given amounts.
- void ScrollRect(int dx, int dy, const gfx::Rect& clip_rect);
-
- private:
- gfx::Rect ScrollPaintRect(const gfx::Rect& paint_rect, int dx, int dy) const;
- bool ShouldInvalidateScrollRect(const gfx::Rect& rect) const;
- void InvalidateScrollRect();
- void CombinePaintRects();
-
- PendingUpdate update_;
-};
-
-#endif // CHROME_RENDERER_PAINT_AGGREGATOR_H_
« no previous file with comments | « chrome/renderer/page_load_histograms.cc ('k') | chrome/renderer/paint_aggregator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698