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

Side by Side Diff: src/gpu/GrClipMaskManager.cpp

Issue 51033004: add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 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
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "GrClipMaskManager.h" 9 #include "GrClipMaskManager.h"
10 #include "GrAAConvexPathRenderer.h" 10 #include "GrAAConvexPathRenderer.h"
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 359
360 SkMatrix sampleM; 360 SkMatrix sampleM;
361 sampleM.setIDiv(srcMask->width(), srcMask->height()); 361 sampleM.setIDiv(srcMask->width(), srcMask->height());
362 362
363 drawState->addColorEffect( 363 drawState->addColorEffect(
364 GrTextureDomainEffect::Create(srcMask, 364 GrTextureDomainEffect::Create(srcMask,
365 sampleM, 365 sampleM,
366 GrTextureDomainEffect::MakeTexelDomain(src Mask, srcBound), 366 GrTextureDomainEffect::MakeTexelDomain(src Mask, srcBound),
367 GrTextureDomainEffect::kDecal_WrapMode, 367 GrTextureDomainEffect::kDecal_WrapMode,
368 GrTextureParams::kNone_FilterMode))->unref (); 368 GrTextureParams::kNone_FilterMode))->unref ();
369 fGpu->drawSimpleRect(SkRect::MakeFromIRect(dstBound), NULL); 369 fGpu->drawSimpleRect(SkRect::Make(dstBound), NULL);
370 } 370 }
371 371
372 // get a texture to act as a temporary buffer for AA clip boolean operations 372 // get a texture to act as a temporary buffer for AA clip boolean operations
373 // TODO: given the expense of createTexture we may want to just cache this too 373 // TODO: given the expense of createTexture we may want to just cache this too
374 void GrClipMaskManager::getTemp(int width, int height, GrAutoScratchTexture* tem p) { 374 void GrClipMaskManager::getTemp(int width, int height, GrAutoScratchTexture* tem p) {
375 if (NULL != temp->texture()) { 375 if (NULL != temp->texture()) {
376 // we've already allocated the temp texture 376 // we've already allocated the temp texture
377 return; 377 return;
378 } 378 }
379 379
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 fGpu->drawSimpleRect(element->getRect(), NULL); 714 fGpu->drawSimpleRect(element->getRect(), NULL);
715 } else { 715 } else {
716 SkASSERT(Element::kPath_Type == element->getType()); 716 SkASSERT(Element::kPath_Type == element->getType());
717 SET_RANDOM_COLOR 717 SET_RANDOM_COLOR
718 pr->drawPath(*clipPath, stroke, fGpu, false); 718 pr->drawPath(*clipPath, stroke, fGpu, false);
719 } 719 }
720 } else { 720 } else {
721 SET_RANDOM_COLOR 721 SET_RANDOM_COLOR
722 // The view matrix is setup to do clip space -> stencil spac e translation, so 722 // The view matrix is setup to do clip space -> stencil spac e translation, so
723 // draw rect in clip space. 723 // draw rect in clip space.
724 fGpu->drawSimpleRect(SkRect::MakeFromIRect(clipSpaceIBounds) , NULL); 724 fGpu->drawSimpleRect(SkRect::Make(clipSpaceIBounds), NULL);
725 } 725 }
726 } 726 }
727 } 727 }
728 } 728 }
729 // set this last because recursive draws may overwrite it back to kNone. 729 // set this last because recursive draws may overwrite it back to kNone.
730 SkASSERT(kNone_ClipMaskType == fCurrClipMaskType); 730 SkASSERT(kNone_ClipMaskType == fCurrClipMaskType);
731 fCurrClipMaskType = kStencil_ClipMaskType; 731 fCurrClipMaskType = kStencil_ClipMaskType;
732 return true; 732 return true;
733 } 733 }
734 734
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 953
954 const Element* element = iter.get(); 954 const Element* element = iter.get();
955 SkRegion::Op op = element->getOp(); 955 SkRegion::Op op = element->getOp();
956 956
957 if (SkRegion::kIntersect_Op == op || SkRegion::kReverseDifference_Op == op) { 957 if (SkRegion::kIntersect_Op == op || SkRegion::kReverseDifference_Op == op) {
958 // Intersect and reverse difference require modifying pixels outside of the geometry 958 // Intersect and reverse difference require modifying pixels outside of the geometry
959 // that is being "drawn". In both cases we erase all the pixels outs ide of the geometry 959 // that is being "drawn". In both cases we erase all the pixels outs ide of the geometry
960 // but leave the pixels inside the geometry alone. For reverse diffe rence we invert all 960 // but leave the pixels inside the geometry alone. For reverse diffe rence we invert all
961 // the pixels before clearing the ones outside the geometry. 961 // the pixels before clearing the ones outside the geometry.
962 if (SkRegion::kReverseDifference_Op == op) { 962 if (SkRegion::kReverseDifference_Op == op) {
963 SkRect temp = SkRect::MakeFromIRect(clipSpaceIBounds); 963 SkRect temp = SkRect::Make(clipSpaceIBounds);
964 // invert the entire scene 964 // invert the entire scene
965 helper.draw(temp, SkRegion::kXOR_Op, false, 0xFF); 965 helper.draw(temp, SkRegion::kXOR_Op, false, 0xFF);
966 } 966 }
967 967
968 if (Element::kRect_Type == element->getType()) { 968 if (Element::kRect_Type == element->getType()) {
969 // convert the rect to a path so we can invert the fill 969 // convert the rect to a path so we can invert the fill
970 SkPath temp; 970 SkPath temp;
971 temp.addRect(element->getRect()); 971 temp.addRect(element->getRect());
972 temp.setFillType(SkPath::kInverseEvenOdd_FillType); 972 temp.setFillType(SkPath::kInverseEvenOdd_FillType);
973 973
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 1030
1031 // TODO: dynamically attach a stencil buffer 1031 // TODO: dynamically attach a stencil buffer
1032 int stencilBits = 0; 1032 int stencilBits = 0;
1033 GrStencilBuffer* stencilBuffer = 1033 GrStencilBuffer* stencilBuffer =
1034 drawState.getRenderTarget()->getStencilBuffer(); 1034 drawState.getRenderTarget()->getStencilBuffer();
1035 if (NULL != stencilBuffer) { 1035 if (NULL != stencilBuffer) {
1036 stencilBits = stencilBuffer->bits(); 1036 stencilBits = stencilBuffer->bits();
1037 this->adjustStencilParams(settings, clipMode, stencilBits); 1037 this->adjustStencilParams(settings, clipMode, stencilBits);
1038 } 1038 }
1039 } 1039 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698