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

Side by Side Diff: Source/platform/graphics/skia/OpaqueRegionSkia.cpp

Issue 379253002: Initial implementation of display list backed 2D canvases (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: compile error fix Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012, Google Inc. All rights reserved. 2 * Copyright (c) 2012, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 26 matching lines...) Expand all
37 #include "SkColorFilter.h" 37 #include "SkColorFilter.h"
38 #include "SkShader.h" 38 #include "SkShader.h"
39 39
40 namespace WebCore { 40 namespace WebCore {
41 41
42 OpaqueRegionSkia::OpaqueRegionSkia() 42 OpaqueRegionSkia::OpaqueRegionSkia()
43 : m_opaqueRect(SkRect::MakeEmpty()) 43 : m_opaqueRect(SkRect::MakeEmpty())
44 { 44 {
45 } 45 }
46 46
47 void OpaqueRegionSkia::reset()
48 {
49 ASSERT(m_canvasLayerStack.isEmpty());
50 m_opaqueRect = SkRect::MakeEmpty();
51 }
52
47 IntRect OpaqueRegionSkia::asRect() const 53 IntRect OpaqueRegionSkia::asRect() const
48 { 54 {
49 // Returns the largest enclosed rect. 55 // Returns the largest enclosed rect.
50 // TODO: actually, this logic looks like its returning the smallest. 56 // TODO: actually, this logic looks like its returning the smallest.
51 // to return largest, shouldn't we take floor of left/top 57 // to return largest, shouldn't we take floor of left/top
52 // and the ceil of right/bottom? 58 // and the ceil of right/bottom?
53 int left = SkScalarCeilToInt(m_opaqueRect.fLeft); 59 int left = SkScalarCeilToInt(m_opaqueRect.fLeft);
54 int top = SkScalarCeilToInt(m_opaqueRect.fTop); 60 int top = SkScalarCeilToInt(m_opaqueRect.fTop);
55 int right = SkScalarFloorToInt(m_opaqueRect.fRight); 61 int right = SkScalarFloorToInt(m_opaqueRect.fRight);
56 int bottom = SkScalarFloorToInt(m_opaqueRect.fBottom); 62 int bottom = SkScalarFloorToInt(m_opaqueRect.fBottom);
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 opaqueRect.setEmpty(); 439 opaqueRect.setEmpty();
434 } 440 }
435 441
436 SkRect& OpaqueRegionSkia::currentTrackingOpaqueRect() 442 SkRect& OpaqueRegionSkia::currentTrackingOpaqueRect()
437 { 443 {
438 // If we are drawing into a canvas layer, then track the opaque rect in that layer. 444 // If we are drawing into a canvas layer, then track the opaque rect in that layer.
439 return m_canvasLayerStack.isEmpty() ? m_opaqueRect : m_canvasLayerStack.last ().opaqueRect; 445 return m_canvasLayerStack.isEmpty() ? m_opaqueRect : m_canvasLayerStack.last ().opaqueRect;
440 } 446 }
441 447
442 } // namespace WebCore 448 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698