diff options
author | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-10-20 13:43:13 +0000 |
---|---|---|
committer | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-10-20 13:43:13 +0000 |
commit | ffa11bbbedd201899eb93bf05089c511f53d5c2a (patch) | |
tree | e5cccf6d8dfdd2e427e42ac204de419635dd471f /src/gpu/GrRectanizer.h | |
parent | e173992c2319205fdc263ccd10d7a9018c23013c (diff) |
Move a bunch of headers from include/gpu to src/gpu. Delete some unused files.
Review URL: http://codereview.appspot.com/5304047/
git-svn-id: http://skia.googlecode.com/svn/trunk@2506 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/gpu/GrRectanizer.h')
-rw-r--r-- | src/gpu/GrRectanizer.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/gpu/GrRectanizer.h b/src/gpu/GrRectanizer.h new file mode 100644 index 0000000000..d1f5033259 --- /dev/null +++ b/src/gpu/GrRectanizer.h @@ -0,0 +1,57 @@ + +/* + * Copyright 2010 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + + +#ifndef GrRectanizer_DEFINED +#define GrRectanizer_DEFINED + +#include "GrRect.h" +#include "GrTDArray.h" + +class GrRectanizerPurgeListener { +public: + virtual ~GrRectanizerPurgeListener() {} + + virtual void notifyPurgeStrip(void*, int yCoord) = 0; +}; + +class GrRectanizer { +public: + GrRectanizer(int width, int height) : fWidth(width), fHeight(height) { + GrAssert(width >= 0); + GrAssert(height >= 0); + } + + virtual ~GrRectanizer() {} + + int width() const { return fWidth; } + int height() const { return fHeight; } + + virtual bool addRect(int width, int height, GrIPoint16* loc) = 0; + virtual float percentFull() const = 0; + + // return the Y-coordinate of a strip that should be purged, given height + // i.e. return the oldest such strip, or some other criteria. Return -1 + // if there is no candidate + virtual int stripToPurge(int height) const = 0; + virtual void purgeStripAtY(int yCoord) = 0; + + /** + * Our factory, which returns the subclass du jour + */ + static GrRectanizer* Factory(int width, int height); + +private: + int fWidth; + int fHeight; +}; + +#endif + + |