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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp

Issue 1774943003: blink: Rename platform/ methods to prefix with get when they collide. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clash-platform: rebase-yayyyyyyyy Created 4 years, 9 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Google Inc. All rights reserved. 3 * Copyright (C) 2013 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 { 371 {
372 drawPlatformFocusRing(rect, m_canvas, color.rgb(), width); 372 drawPlatformFocusRing(rect, m_canvas, color.rgb(), width);
373 } 373 }
374 374
375 void GraphicsContext::drawFocusRing(const Path& focusRingPath, int width, int of fset, const Color& color) 375 void GraphicsContext::drawFocusRing(const Path& focusRingPath, int width, int of fset, const Color& color)
376 { 376 {
377 // FIXME: Implement support for offset. 377 // FIXME: Implement support for offset.
378 if (contextDisabled()) 378 if (contextDisabled())
379 return; 379 return;
380 380
381 drawFocusRingPath(focusRingPath.skPath(), color, width); 381 drawFocusRingPath(focusRingPath.getSkPath(), color, width);
382 } 382 }
383 383
384 void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int width, int offset, const Color& color) 384 void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int width, int offset, const Color& color)
385 { 385 {
386 if (contextDisabled()) 386 if (contextDisabled())
387 return; 387 return;
388 388
389 unsigned rectCount = rects.size(); 389 unsigned rectCount = rects.size();
390 if (!rectCount) 390 if (!rectCount)
391 return; 391 return;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 holeRect.setHeight(holeRect.height() + std::max(shadowOffset.height(), 0 .0f) + shadowBlur); 450 holeRect.setHeight(holeRect.height() + std::max(shadowOffset.height(), 0 .0f) + shadowBlur);
451 } 451 }
452 if (clippedEdges & RightEdge) 452 if (clippedEdges & RightEdge)
453 holeRect.setWidth(holeRect.width() - std::min(shadowOffset.width(), 0.0f ) + shadowBlur); 453 holeRect.setWidth(holeRect.width() - std::min(shadowOffset.width(), 0.0f ) + shadowBlur);
454 if (clippedEdges & BottomEdge) 454 if (clippedEdges & BottomEdge)
455 holeRect.setHeight(holeRect.height() - std::min(shadowOffset.height(), 0 .0f) + shadowBlur); 455 holeRect.setHeight(holeRect.height() - std::min(shadowOffset.height(), 0 .0f) + shadowBlur);
456 456
457 Color fillColor(shadowColor.red(), shadowColor.green(), shadowColor.blue(), 255); 457 Color fillColor(shadowColor.red(), shadowColor.green(), shadowColor.blue(), 255);
458 458
459 FloatRect outerRect = areaCastingShadowInHole(rect.rect(), shadowBlur, shado wSpread, shadowOffset); 459 FloatRect outerRect = areaCastingShadowInHole(rect.rect(), shadowBlur, shado wSpread, shadowOffset);
460 FloatRoundedRect roundedHole(holeRect, rect.radii()); 460 FloatRoundedRect roundedHole(holeRect, rect.getRadii());
461 461
462 GraphicsContextStateSaver stateSaver(*this); 462 GraphicsContextStateSaver stateSaver(*this);
463 if (rect.isRounded()) { 463 if (rect.isRounded()) {
464 clipRoundedRect(rect); 464 clipRoundedRect(rect);
465 if (shadowSpread < 0) 465 if (shadowSpread < 0)
466 roundedHole.expandRadii(-shadowSpread); 466 roundedHole.expandRadii(-shadowSpread);
467 else 467 else
468 roundedHole.shrinkRadii(shadowSpread); 468 roundedHole.shrinkRadii(shadowSpread);
469 } else { 469 } else {
470 clip(rect.rect()); 470 clip(rect.rect());
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 700
701 ASSERT(!rect.isEmpty()); 701 ASSERT(!rect.isEmpty());
702 if (rect.isEmpty()) 702 if (rect.isEmpty())
703 return; 703 return;
704 704
705 SkRect skRect = rect; 705 SkRect skRect = rect;
706 int fillcolorNotTransparent = immutableState()->fillColor().rgb() & 0xFF0000 00; 706 int fillcolorNotTransparent = immutableState()->fillColor().rgb() & 0xFF0000 00;
707 if (fillcolorNotTransparent) 707 if (fillcolorNotTransparent)
708 drawRect(skRect, immutableState()->fillPaint()); 708 drawRect(skRect, immutableState()->fillPaint());
709 709
710 if (immutableState()->strokeData().style() != NoStroke 710 if (immutableState()->getStrokeData().style() != NoStroke
711 && immutableState()->strokeColor().alpha()) { 711 && immutableState()->strokeColor().alpha()) {
712 // Stroke a width: 1 inset border 712 // Stroke a width: 1 inset border
713 SkPaint paint(immutableState()->fillPaint()); 713 SkPaint paint(immutableState()->fillPaint());
714 paint.setColor(strokeColor().rgb()); 714 paint.setColor(strokeColor().rgb());
715 paint.setStyle(SkPaint::kStroke_Style); 715 paint.setStyle(SkPaint::kStroke_Style);
716 paint.setStrokeWidth(1); 716 paint.setStrokeWidth(1);
717 717
718 skRect.inset(0.5f, 0.5f); 718 skRect.inset(0.5f, 0.5f);
719 drawRect(skRect, paint); 719 drawRect(skRect, paint);
720 } 720 }
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
894 ASSERT(m_canvas); 894 ASSERT(m_canvas);
895 895
896 m_canvas->drawRRect(rrect, paint); 896 m_canvas->drawRRect(rrect, paint);
897 } 897 }
898 898
899 void GraphicsContext::fillPath(const Path& pathToFill) 899 void GraphicsContext::fillPath(const Path& pathToFill)
900 { 900 {
901 if (contextDisabled() || pathToFill.isEmpty()) 901 if (contextDisabled() || pathToFill.isEmpty())
902 return; 902 return;
903 903
904 drawPath(pathToFill.skPath(), immutableState()->fillPaint()); 904 drawPath(pathToFill.getSkPath(), immutableState()->fillPaint());
905 } 905 }
906 906
907 void GraphicsContext::fillRect(const FloatRect& rect) 907 void GraphicsContext::fillRect(const FloatRect& rect)
908 { 908 {
909 if (contextDisabled()) 909 if (contextDisabled())
910 return; 910 return;
911 911
912 drawRect(rect, immutableState()->fillPaint()); 912 drawRect(rect, immutableState()->fillPaint());
913 } 913 }
914 914
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 // A DRRect is "simple" (i.e. can be drawn as a rrect stroke) if 952 // A DRRect is "simple" (i.e. can be drawn as a rrect stroke) if
953 // 1) all sides have the same width 953 // 1) all sides have the same width
954 const FloatSize strokeSize = inner.rect().minXMinYCorner() - outer.rect().mi nXMinYCorner(); 954 const FloatSize strokeSize = inner.rect().minXMinYCorner() - outer.rect().mi nXMinYCorner();
955 if (!WebCoreFloatNearlyEqual(strokeSize.aspectRatio(), 1) 955 if (!WebCoreFloatNearlyEqual(strokeSize.aspectRatio(), 1)
956 || !WebCoreFloatNearlyEqual(strokeSize.width(), outer.rect().maxX() - in ner.rect().maxX()) 956 || !WebCoreFloatNearlyEqual(strokeSize.width(), outer.rect().maxX() - in ner.rect().maxX())
957 || !WebCoreFloatNearlyEqual(strokeSize.height(), outer.rect().maxY() - i nner.rect().maxY())) 957 || !WebCoreFloatNearlyEqual(strokeSize.height(), outer.rect().maxY() - i nner.rect().maxY()))
958 return false; 958 return false;
959 959
960 // and 960 // and
961 // 2) the inner radii are not constrained 961 // 2) the inner radii are not constrained
962 const FloatRoundedRect::Radii& oRadii = outer.radii(); 962 const FloatRoundedRect::Radii& oRadii = outer.getRadii();
963 const FloatRoundedRect::Radii& iRadii = inner.radii(); 963 const FloatRoundedRect::Radii& iRadii = inner.getRadii();
964 if (!WebCoreFloatNearlyEqual(oRadii.topLeft().width() - strokeSize.width(), iRadii.topLeft().width()) 964 if (!WebCoreFloatNearlyEqual(oRadii.topLeft().width() - strokeSize.width(), iRadii.topLeft().width())
965 || !WebCoreFloatNearlyEqual(oRadii.topLeft().height() - strokeSize.heigh t(), iRadii.topLeft().height()) 965 || !WebCoreFloatNearlyEqual(oRadii.topLeft().height() - strokeSize.heigh t(), iRadii.topLeft().height())
966 || !WebCoreFloatNearlyEqual(oRadii.topRight().width() - strokeSize.width (), iRadii.topRight().width()) 966 || !WebCoreFloatNearlyEqual(oRadii.topRight().width() - strokeSize.width (), iRadii.topRight().width())
967 || !WebCoreFloatNearlyEqual(oRadii.topRight().height() - strokeSize.heig ht(), iRadii.topRight().height()) 967 || !WebCoreFloatNearlyEqual(oRadii.topRight().height() - strokeSize.heig ht(), iRadii.topRight().height())
968 || !WebCoreFloatNearlyEqual(oRadii.bottomRight().width() - strokeSize.wi dth(), iRadii.bottomRight().width()) 968 || !WebCoreFloatNearlyEqual(oRadii.bottomRight().width() - strokeSize.wi dth(), iRadii.bottomRight().width())
969 || !WebCoreFloatNearlyEqual(oRadii.bottomRight().height() - strokeSize.h eight(), iRadii.bottomRight().height()) 969 || !WebCoreFloatNearlyEqual(oRadii.bottomRight().height() - strokeSize.h eight(), iRadii.bottomRight().height())
970 || !WebCoreFloatNearlyEqual(oRadii.bottomLeft().width() - strokeSize.wid th(), iRadii.bottomLeft().width()) 970 || !WebCoreFloatNearlyEqual(oRadii.bottomLeft().width() - strokeSize.wid th(), iRadii.bottomLeft().width())
971 || !WebCoreFloatNearlyEqual(oRadii.bottomLeft().height() - strokeSize.he ight(), iRadii.bottomLeft().height())) 971 || !WebCoreFloatNearlyEqual(oRadii.bottomLeft().height() - strokeSize.he ight(), iRadii.bottomLeft().height()))
972 return false; 972 return false;
973 973
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1022 return; 1022 return;
1023 1023
1024 drawOval(ellipse, immutableState()->fillPaint()); 1024 drawOval(ellipse, immutableState()->fillPaint());
1025 } 1025 }
1026 1026
1027 void GraphicsContext::strokePath(const Path& pathToStroke) 1027 void GraphicsContext::strokePath(const Path& pathToStroke)
1028 { 1028 {
1029 if (contextDisabled() || pathToStroke.isEmpty()) 1029 if (contextDisabled() || pathToStroke.isEmpty())
1030 return; 1030 return;
1031 1031
1032 drawPath(pathToStroke.skPath(), immutableState()->strokePaint()); 1032 drawPath(pathToStroke.getSkPath(), immutableState()->strokePaint());
1033 } 1033 }
1034 1034
1035 void GraphicsContext::strokeRect(const FloatRect& rect, float lineWidth) 1035 void GraphicsContext::strokeRect(const FloatRect& rect, float lineWidth)
1036 { 1036 {
1037 if (contextDisabled()) 1037 if (contextDisabled())
1038 return; 1038 return;
1039 1039
1040 SkPaint paint(immutableState()->strokePaint()); 1040 SkPaint paint(immutableState()->strokePaint());
1041 paint.setStrokeWidth(WebCoreFloatToSkScalar(lineWidth)); 1041 paint.setStrokeWidth(WebCoreFloatToSkScalar(lineWidth));
1042 // Reset the dash effect to account for the width 1042 // Reset the dash effect to account for the width
1043 immutableState()->strokeData().setupPaintDashPathEffect(&paint, 0); 1043 immutableState()->getStrokeData().setupPaintDashPathEffect(&paint, 0);
1044 // strokerect has special rules for CSS when the rect is degenerate: 1044 // strokerect has special rules for CSS when the rect is degenerate:
1045 // if width==0 && height==0, do nothing 1045 // if width==0 && height==0, do nothing
1046 // if width==0 || height==0, then just draw line for the other dimension 1046 // if width==0 || height==0, then just draw line for the other dimension
1047 SkRect r(rect); 1047 SkRect r(rect);
1048 bool validW = r.width() > 0; 1048 bool validW = r.width() > 0;
1049 bool validH = r.height() > 0; 1049 bool validH = r.height() > 0;
1050 if (validW && validH) { 1050 if (validW && validH) {
1051 drawRect(r, paint); 1051 drawRect(r, paint);
1052 } else if (validW || validH) { 1052 } else if (validW || validH) {
1053 // we are expected to respect the lineJoin, so we can't just call 1053 // we are expected to respect the lineJoin, so we can't just call
(...skipping 26 matching lines...) Expand all
1080 1080
1081 clipRRect(rrect, shouldAntialias, regionOp); 1081 clipRRect(rrect, shouldAntialias, regionOp);
1082 } 1082 }
1083 1083
1084 void GraphicsContext::clipOut(const Path& pathToClip) 1084 void GraphicsContext::clipOut(const Path& pathToClip)
1085 { 1085 {
1086 if (contextDisabled()) 1086 if (contextDisabled())
1087 return; 1087 return;
1088 1088
1089 // Use const_cast and temporarily toggle the inverse fill type instead of co pying the path. 1089 // Use const_cast and temporarily toggle the inverse fill type instead of co pying the path.
1090 SkPath& path = const_cast<SkPath&>(pathToClip.skPath()); 1090 SkPath& path = const_cast<SkPath&>(pathToClip.getSkPath());
1091 path.toggleInverseFillType(); 1091 path.toggleInverseFillType();
1092 clipPath(path, AntiAliased); 1092 clipPath(path, AntiAliased);
1093 path.toggleInverseFillType(); 1093 path.toggleInverseFillType();
1094 } 1094 }
1095 1095
1096 void GraphicsContext::clipPolygon(size_t numPoints, const FloatPoint* points, bo ol antialiased) 1096 void GraphicsContext::clipPolygon(size_t numPoints, const FloatPoint* points, bo ol antialiased)
1097 { 1097 {
1098 if (contextDisabled()) 1098 if (contextDisabled())
1099 return; 1099 return;
1100 1100
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 static const SkPMColor colors[] = { 1360 static const SkPMColor colors[] = {
1361 SkPreMultiplyARGB(0x60, 0xFF, 0x00, 0x00), // More transparent red 1361 SkPreMultiplyARGB(0x60, 0xFF, 0x00, 0x00), // More transparent red
1362 SkPreMultiplyARGB(0x60, 0xC0, 0xC0, 0xC0) // More transparent gray 1362 SkPreMultiplyARGB(0x60, 0xC0, 0xC0, 0xC0) // More transparent gray
1363 }; 1363 };
1364 1364
1365 return colors[index]; 1365 return colors[index];
1366 } 1366 }
1367 #endif 1367 #endif
1368 1368
1369 } // namespace blink 1369 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698