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

Side by Side Diff: cc/software_renderer.cc

Issue 11264056: cc: Use gfx:: Geometry types for positions, bounds, and related things. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ScaleAsVector Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/software_renderer.h ('k') | cc/software_renderer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "cc/software_renderer.h" 7 #include "cc/software_renderer.h"
8 8
9 #include "cc/debug_border_draw_quad.h" 9 #include "cc/debug_border_draw_quad.h"
10 #include "cc/render_pass_draw_quad.h" 10 #include "cc/render_pass_draw_quad.h"
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 if (quad->flipped()) 261 if (quad->flipped())
262 m_skCurrentCanvas->scale(1, -1); 262 m_skCurrentCanvas->scale(1, -1);
263 m_skCurrentCanvas->drawBitmapRect(*bitmap, &skUvRect, toSkRect(quadVertexRec t()), &m_skCurrentPaint); 263 m_skCurrentCanvas->drawBitmapRect(*bitmap, &skUvRect, toSkRect(quadVertexRec t()), &m_skCurrentPaint);
264 } 264 }
265 265
266 void SoftwareRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQua d* quad) 266 void SoftwareRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQua d* quad)
267 { 267 {
268 DCHECK(isSoftwareResource(quad->resourceId())); 268 DCHECK(isSoftwareResource(quad->resourceId()));
269 ResourceProvider::ScopedReadLockSoftware lock(m_resourceProvider, quad->reso urceId()); 269 ResourceProvider::ScopedReadLockSoftware lock(m_resourceProvider, quad->reso urceId());
270 270
271 SkIRect uvRect = toSkIRect(gfx::Rect(quad->textureOffset(), quad->quadRect() .size())); 271 SkIRect uvRect = toSkIRect(gfx::Rect(gfx::PointAtOffsetFromOrigin(quad->text ureOffset()), quad->quadRect().size()));
272 m_skCurrentCanvas->drawBitmapRect(*lock.skBitmap(), &uvRect, toSkRect(quadVe rtexRect()), &m_skCurrentPaint); 272 m_skCurrentCanvas->drawBitmapRect(*lock.skBitmap(), &uvRect, toSkRect(quadVe rtexRect()), &m_skCurrentPaint);
273 } 273 }
274 274
275 void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende rPassDrawQuad* quad) 275 void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende rPassDrawQuad* quad)
276 { 276 {
277 CachedTexture* contentTexture = m_renderPassTextures.get(quad->renderPassId( )); 277 CachedTexture* contentTexture = m_renderPassTextures.get(quad->renderPassId( ));
278 if (!contentTexture || !contentTexture->id()) 278 if (!contentTexture || !contentTexture->id())
279 return; 279 return;
280 280
281 DCHECK(isSoftwareResource(contentTexture->id())); 281 DCHECK(isSoftwareResource(contentTexture->id()));
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 m_skCurrentCanvas->drawRect(toSkRect(quadVertexRect()), m_skCurrentPaint); 337 m_skCurrentCanvas->drawRect(toSkRect(quadVertexRect()), m_skCurrentPaint);
338 } 338 }
339 339
340 bool SoftwareRenderer::swapBuffers() 340 bool SoftwareRenderer::swapBuffers()
341 { 341 {
342 if (Proxy::hasImplThread()) 342 if (Proxy::hasImplThread())
343 m_client->onSwapBuffersComplete(); 343 m_client->onSwapBuffersComplete();
344 return true; 344 return true;
345 } 345 }
346 346
347 void SoftwareRenderer::getFramebufferPixels(void *pixels, const IntRect& rect) 347 void SoftwareRenderer::getFramebufferPixels(void *pixels, const gfx::Rect& rect)
348 { 348 {
349 SkBitmap fullBitmap = m_outputDevice->lock(false)->getSkBitmap(); 349 SkBitmap fullBitmap = m_outputDevice->lock(false)->getSkBitmap();
350 SkBitmap subsetBitmap; 350 SkBitmap subsetBitmap;
351 SkIRect invertRect = SkIRect::MakeXYWH(rect.x(), viewportSize().height() - r ect.maxY(), rect.width(), rect.height()); 351 SkIRect invertRect = SkIRect::MakeXYWH(rect.x(), viewportSize().height() - r ect.bottom(), rect.width(), rect.height());
352 fullBitmap.extractSubset(&subsetBitmap, invertRect); 352 fullBitmap.extractSubset(&subsetBitmap, invertRect);
353 subsetBitmap.copyPixelsTo(pixels, rect.width() * rect.height() * 4, rect.wid th() * 4); 353 subsetBitmap.copyPixelsTo(pixels, rect.width() * rect.height() * 4, rect.wid th() * 4);
354 m_outputDevice->unlock(); 354 m_outputDevice->unlock();
355 } 355 }
356 356
357 void SoftwareRenderer::setVisible(bool visible) 357 void SoftwareRenderer::setVisible(bool visible)
358 { 358 {
359 if (m_visible == visible) 359 if (m_visible == visible)
360 return; 360 return;
361 m_visible = visible; 361 m_visible = visible;
362 } 362 }
363 363
364 } 364 }
OLDNEW
« no previous file with comments | « cc/software_renderer.h ('k') | cc/software_renderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698