summaryrefslogtreecommitdiffstats
path: root/cc/texture_draw_quad.cc
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-10 22:29:09 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-10 22:29:09 +0000
commitab5a94478fe4d9f6e9c32a525eea652b7e743014 (patch)
tree705e2570e91130301a187d0b5386694c35589e26 /cc/texture_draw_quad.cc
parent695e0d4c84455f13115b9822e25f7ec3c857a6e1 (diff)
downloadchromium_src-ab5a94478fe4d9f6e9c32a525eea652b7e743014.zip
chromium_src-ab5a94478fe4d9f6e9c32a525eea652b7e743014.tar.gz
chromium_src-ab5a94478fe4d9f6e9c32a525eea652b7e743014.tar.bz2
Revert 171850
> This patch makes quad-clipping to a scissor window an explicit operation at quad-generation time. If the transform for the quad is a scale and or a transform clipping is a simple bounding box intersection and uv-recomputation. > > BUG=161871 > > > Review URL: https://chromiumcodereview.appspot.com/11418297 TBR=whunt@chromium.org BUG=164997 Review URL: https://codereview.chromium.org/11517007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172152 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/texture_draw_quad.cc')
-rw-r--r--cc/texture_draw_quad.cc44
1 files changed, 0 insertions, 44 deletions
diff --git a/cc/texture_draw_quad.cc b/cc/texture_draw_quad.cc
index 97bf86f..d552c39 100644
--- a/cc/texture_draw_quad.cc
+++ b/cc/texture_draw_quad.cc
@@ -58,48 +58,4 @@ const TextureDrawQuad* TextureDrawQuad::MaterialCast(
return static_cast<const TextureDrawQuad*>(quad);
}
-bool TextureDrawQuad::PerformClipping() {
- // This only occurs if the rect is only scaled and translated (and thus still
- // axis aligned).
- if (!quadTransform().IsScaleOrTranslation())
- return false;
-
- // Grab our scale and offset.
- float x_scale = quadTransform().matrix().getDouble(0,0);
- float y_scale = quadTransform().matrix().getDouble(1,1);
- gfx::Vector2dF offset(
- quadTransform().matrix().getDouble(0,3),
- quadTransform().matrix().getDouble(1,3));
-
- // Transform the rect by the scale and offset.
- gfx::RectF rectF = rect;
- rectF.Scale(x_scale, y_scale);
- rectF += offset;
-
- // Perform clipping and check to see if the result is empty.
- gfx::RectF clippedRect = IntersectRects(rectF, clipRect());
- if (clippedRect.IsEmpty()) {
- rect = gfx::Rect();
- uv_rect = gfx::RectF();
- return true;
- }
-
- // Create a new uv-rect by clipping the old one to the new bounds.
- uv_rect = gfx::RectF(
- uv_rect.x()+uv_rect.width ()/rectF.width ()*(clippedRect.x()-rectF.x()),
- uv_rect.y()+uv_rect.height()/rectF.height()*(clippedRect.y()-rectF.y()),
- uv_rect.width () / rectF.width () * clippedRect.width (),
- uv_rect.height() / rectF.height() * clippedRect.height());
-
- // Move the clipped rectangle back into its space.
- clippedRect -= offset;
- clippedRect.Scale(1.0f / x_scale, 1.0f / y_scale);
- rect = gfx::Rect(
- static_cast<int>(clippedRect.x() + 0.5f),
- static_cast<int>(clippedRect.y() + 0.5f),
- static_cast<int>(clippedRect.width() + 0.5f),
- static_cast<int>(clippedRect.height() + 0.5f));
- return true;
-}
-
} // namespace cc