Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 200 400 600 Line Coverage (%) Cyclomatic Complexity Phpdftk\HtmlToPdf\Painter\Painter — Coverage: 84.3% | Lines: 1524 | Complexity: 514

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Class CRAP Coverage
Phpdftk\HtmlToPdf\Painter\Painter1545.8284.3%

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 Line Coverage (%) Cyclomatic Complexity Phpdftk\HtmlToPdf\Painter\Painter::paintBackgroundImage — Coverage: 88.9% | Lines: 72 | Complexity: 21 Phpdftk\HtmlToPdf\Painter\Painter::paintBorders — Coverage: 80.3% | Lines: 66 | Complexity: 12 Phpdftk\HtmlToPdf\Painter\Painter::paintOutline — Coverage: 89.8% | Lines: 59 | Complexity: 16 Phpdftk\HtmlToPdf\Painter\Painter::paintBackground — Coverage: 100.0% | Lines: 56 | Complexity: 23 Phpdftk\HtmlToPdf\Painter\Painter::paintImage — Coverage: 88.5% | Lines: 52 | Complexity: 15 Phpdftk\HtmlToPdf\Painter\Painter::emitRoundedStroke — Coverage: 0.0% | Lines: 52 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::paintFragment — Coverage: 98.0% | Lines: 51 | Complexity: 12 Phpdftk\HtmlToPdf\Painter\Painter::emitRoundedFill — Coverage: 100.0% | Lines: 51 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::resolveBackgroundSize — Coverage: 71.4% | Lines: 49 | Complexity: 16 Phpdftk\HtmlToPdf\Painter\Painter::paintLinearGradient — Coverage: 90.0% | Lines: 40 | Complexity: 6 Phpdftk\HtmlToPdf\Painter\Painter::paintTextDecorations — Coverage: 87.2% | Lines: 39 | Complexity: 13 Phpdftk\HtmlToPdf\Painter\Painter::paintBox — Coverage: 100.0% | Lines: 37 | Complexity: 11 Phpdftk\HtmlToPdf\Painter\Painter::paintRadialGradient — Coverage: 88.9% | Lines: 36 | Complexity: 9 Phpdftk\HtmlToPdf\Painter\Painter::listItemIndex — Coverage: 88.2% | Lines: 34 | Complexity: 17 Phpdftk\HtmlToPdf\Painter\Painter::resolveBackgroundPosition — Coverage: 88.2% | Lines: 34 | Complexity: 15 Phpdftk\HtmlToPdf\Painter\Painter::paintColumnRules — Coverage: 81.8% | Lines: 33 | Complexity: 11 Phpdftk\HtmlToPdf\Painter\Painter::emitWavyDecoration — Coverage: 96.8% | Lines: 31 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::paintCounterMarker — Coverage: 90.0% | Lines: 30 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::emitDecorationStyled — Coverage: 53.3% | Lines: 30 | Complexity: 8 Phpdftk\HtmlToPdf\Painter\Painter::parseShadowLayer — Coverage: 93.1% | Lines: 29 | Complexity: 10 Phpdftk\HtmlToPdf\Painter\Painter::paintInlineBackgrounds — Coverage: 93.1% | Lines: 29 | Complexity: 12 Phpdftk\HtmlToPdf\Painter\Painter::resolveObjectFit — Coverage: 92.9% | Lines: 28 | Complexity: 6 Phpdftk\HtmlToPdf\Painter\Painter::paintBorderSide — Coverage: 100.0% | Lines: 28 | Complexity: 11 Phpdftk\HtmlToPdf\Painter\Painter::paintListMarker — Coverage: 100.0% | Lines: 26 | Complexity: 11 Phpdftk\HtmlToPdf\Painter\Painter::collectTextShadowLayers — Coverage: 92.3% | Lines: 26 | Complexity: 12 Phpdftk\HtmlToPdf\Painter\Painter::paintBoxShadow — Coverage: 96.0% | Lines: 25 | Complexity: 9 Phpdftk\HtmlToPdf\Painter\Painter::collectBlockLinkRect — Coverage: 36.0% | Lines: 25 | Complexity: 10 Phpdftk\HtmlToPdf\Painter\Painter::paintInsetShadow — Coverage: 100.0% | Lines: 24 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::transformFunctionToPdfMatrix — Coverage: 65.0% | Lines: 20 | Complexity: 9 Phpdftk\HtmlToPdf\Painter\Painter::repeatAxes — Coverage: 60.0% | Lines: 20 | Complexity: 12 Phpdftk\HtmlToPdf\Painter\Painter::paintDashedDottedSide — Coverage: 95.0% | Lines: 20 | Complexity: 4 Phpdftk\HtmlToPdf\Painter\Painter::paintLineBoxes — Coverage: 100.0% | Lines: 19 | Complexity: 7 Phpdftk\HtmlToPdf\Painter\Painter::axisOffsetFromValue — Coverage: 78.9% | Lines: 19 | Complexity: 12 Phpdftk\HtmlToPdf\Painter\Painter::resolve3dBorderColor — Coverage: 100.0% | Lines: 19 | Complexity: 11 Phpdftk\HtmlToPdf\Painter\Painter::intrinsicSize — Coverage: 50.0% | Lines: 16 | Complexity: 8 Phpdftk\HtmlToPdf\Painter\Painter::paintLine — Coverage: 93.3% | Lines: 15 | Complexity: 4 Phpdftk\HtmlToPdf\Painter\Painter::applyBoxTransform — Coverage: 100.0% | Lines: 14 | Complexity: 8 Phpdftk\HtmlToPdf\Painter\Painter::paintMarkerCircle — Coverage: 100.0% | Lines: 14 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::textDecorationLines — Coverage: 85.7% | Lines: 14 | Complexity: 8 Phpdftk\HtmlToPdf\Painter\Painter::resolveTransformOrigin — Coverage: 100.0% | Lines: 13 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::clampGeometryToPage — Coverage: 92.3% | Lines: 13 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::materializeDataUrl — Coverage: 76.9% | Lines: 13 | Complexity: 7 Phpdftk\HtmlToPdf\Painter\Painter::bordersAreUniform — Coverage: 61.5% | Lines: 13 | Complexity: 9 Phpdftk\HtmlToPdf\Painter\Painter::resolveOriginComponent — Coverage: 45.5% | Lines: 11 | Complexity: 8 Phpdftk\HtmlToPdf\Painter\Painter::emitOverflowClipPath — Coverage: 90.9% | Lines: 11 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::formatCounterMarker — Coverage: 90.9% | Lines: 11 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::multiplyMatrices — Coverage: 100.0% | Lines: 10 | Complexity: 1 Phpdftk\HtmlToPdf\Painter\Painter::collectShadowLayers — Coverage: 40.0% | Lines: 10 | Complexity: 6 Phpdftk\HtmlToPdf\Painter\Painter::resolveOpacityGsName — Coverage: 80.0% | Lines: 10 | Complexity: 6 Phpdftk\HtmlToPdf\Painter\Painter::borderRadii — Coverage: 100.0% | Lines: 10 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::composeTransformMatrix — Coverage: 100.0% | Lines: 9 | Complexity: 4 Phpdftk\HtmlToPdf\Painter\Painter::boxEntirelyOffPage — Coverage: 100.0% | Lines: 8 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::shouldClampDecorationsToPage — Coverage: 100.0% | Lines: 8 | Complexity: 5 Phpdftk\HtmlToPdf\Painter\Painter::shouldOverflowClip — Coverage: 87.5% | Lines: 8 | Complexity: 7 Phpdftk\HtmlToPdf\Painter\Painter::resolveBackgroundClip — Coverage: 85.7% | Lines: 7 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::borderColor — Coverage: 42.9% | Lines: 7 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::objectFitKeyword — Coverage: 83.3% | Lines: 6 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::resolveDecorationThickness — Coverage: 100.0% | Lines: 6 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::resolveUnderlineOffset — Coverage: 83.3% | Lines: 6 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::textDecorationStyle — Coverage: 83.3% | Lines: 6 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::emitRect — Coverage: 100.0% | Lines: 6 | Complexity: 1 Phpdftk\HtmlToPdf\Painter\Painter::borderIsVisible — Coverage: 80.0% | Lines: 5 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::isCloneDecorationBreak — Coverage: 75.0% | Lines: 4 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::resolveImageSrc — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::dominantFontSize — Coverage: 75.0% | Lines: 4 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::borderStyleName — Coverage: 75.0% | Lines: 4 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::__destruct — Coverage: 100.0% | Lines: 3 | Complexity: 3 Phpdftk\HtmlToPdf\Painter\Painter::paint — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\HtmlToPdf\Painter\Painter::lengthOrPercentageToFloat — Coverage: 66.7% | Lines: 3 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::isVisibilityHidden — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::paintMarkerSquare — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\HtmlToPdf\Painter\Painter::textDecorationColor — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::snapKern — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\HtmlToPdf\Painter\Painter::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
Phpdftk\HtmlToPdf\Painter\Painter::collectBlockLinkRect36.2136.0%
Phpdftk\HtmlToPdf\Painter\Painter::emitRoundedStroke300.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintBackground23100.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveBackgroundSize21.9771.4%
Phpdftk\HtmlToPdf\Painter\Painter::paintBackgroundImage21.6088.9%
Phpdftk\HtmlToPdf\Painter\Painter::repeatAxes21.2260.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveOriginComponent18.3945.5%
Phpdftk\HtmlToPdf\Painter\Painter::listItemIndex17.4788.2%
Phpdftk\HtmlToPdf\Painter\Painter::paintOutline16.2789.8%
Phpdftk\HtmlToPdf\Painter\Painter::intrinsicSize16.0050.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveBackgroundPosition15.3788.2%
Phpdftk\HtmlToPdf\Painter\Painter::paintImage15.3588.5%
Phpdftk\HtmlToPdf\Painter\Painter::emitDecorationStyled14.5053.3%
Phpdftk\HtmlToPdf\Painter\Painter::collectShadowLayers13.7840.0%
Phpdftk\HtmlToPdf\Painter\Painter::bordersAreUniform13.6161.5%
Phpdftk\HtmlToPdf\Painter\Painter::paintTextDecorations13.3687.2%
Phpdftk\HtmlToPdf\Painter\Painter::axisOffsetFromValue13.3478.9%
Phpdftk\HtmlToPdf\Painter\Painter::paintBorders13.1080.3%
Phpdftk\HtmlToPdf\Painter\Painter::transformFunctionToPdfMatrix12.4765.0%
Phpdftk\HtmlToPdf\Painter\Painter::collectTextShadowLayers12.0792.3%
Phpdftk\HtmlToPdf\Painter\Painter::paintInlineBackgrounds12.0593.1%
Phpdftk\HtmlToPdf\Painter\Painter::paintFragment1298.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintColumnRules11.7381.8%
Phpdftk\HtmlToPdf\Painter\Painter::paintBox11100.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintListMarker11100.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintBorderSide11100.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolve3dBorderColor11100.0%
Phpdftk\HtmlToPdf\Painter\Painter::parseShadowLayer10.0393.1%
Phpdftk\HtmlToPdf\Painter\Painter::paintRadialGradient9.1188.9%
Phpdftk\HtmlToPdf\Painter\Painter::paintBoxShadow996.0%
Phpdftk\HtmlToPdf\Painter\Painter::textDecorationLines8.1985.7%
Phpdftk\HtmlToPdf\Painter\Painter::applyBoxTransform8100.0%
Phpdftk\HtmlToPdf\Painter\Painter::materializeDataUrl7.6076.9%
Phpdftk\HtmlToPdf\Painter\Painter::shouldOverflowClip7.1087.5%
Phpdftk\HtmlToPdf\Painter\Painter::paintLineBoxes7100.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveOpacityGsName6.2980.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintLinearGradient6.0490.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveObjectFit6.0192.9%
Phpdftk\HtmlToPdf\Painter\Painter::paintCounterMarker5.0390.0%
Phpdftk\HtmlToPdf\Painter\Painter::clampGeometryToPage5.0192.3%
Phpdftk\HtmlToPdf\Painter\Painter::boxEntirelyOffPage5100.0%
Phpdftk\HtmlToPdf\Painter\Painter::shouldClampDecorationsToPage5100.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintInsetShadow5100.0%
Phpdftk\HtmlToPdf\Painter\Painter::emitWavyDecoration596.8%
Phpdftk\HtmlToPdf\Painter\Painter::emitRoundedFill5100.0%
Phpdftk\HtmlToPdf\Painter\Painter::borderColor4.6842.9%
Phpdftk\HtmlToPdf\Painter\Painter::composeTransformMatrix4100.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintLine4.0093.3%
Phpdftk\HtmlToPdf\Painter\Painter::paintDashedDottedSide495.0%
Phpdftk\HtmlToPdf\Painter\Painter::borderIsVisible3.0780.0%
Phpdftk\HtmlToPdf\Painter\Painter::objectFitKeyword3.0483.3%
Phpdftk\HtmlToPdf\Painter\Painter::resolveUnderlineOffset3.0483.3%
Phpdftk\HtmlToPdf\Painter\Painter::textDecorationStyle3.0483.3%
Phpdftk\HtmlToPdf\Painter\Painter::resolveBackgroundClip3.0385.7%
Phpdftk\HtmlToPdf\Painter\Painter::emitOverflowClipPath3.0190.9%
Phpdftk\HtmlToPdf\Painter\Painter::formatCounterMarker3.0190.9%
Phpdftk\HtmlToPdf\Painter\Painter::__destruct3100.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveTransformOrigin3100.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveDecorationThickness3100.0%
Phpdftk\HtmlToPdf\Painter\Painter::lengthOrPercentageToFloat2.1566.7%
Phpdftk\HtmlToPdf\Painter\Painter::isCloneDecorationBreak2.0675.0%
Phpdftk\HtmlToPdf\Painter\Painter::dominantFontSize2.0675.0%
Phpdftk\HtmlToPdf\Painter\Painter::borderStyleName2.0675.0%
Phpdftk\HtmlToPdf\Painter\Painter::resolveImageSrc2100.0%
Phpdftk\HtmlToPdf\Painter\Painter::isVisibilityHidden2100.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintMarkerCircle2100.0%
Phpdftk\HtmlToPdf\Painter\Painter::textDecorationColor2100.0%
Phpdftk\HtmlToPdf\Painter\Painter::snapKern2100.0%
Phpdftk\HtmlToPdf\Painter\Painter::borderRadii2100.0%
Phpdftk\HtmlToPdf\Painter\Painter::__construct1100.0%
Phpdftk\HtmlToPdf\Painter\Painter::paint1100.0%
Phpdftk\HtmlToPdf\Painter\Painter::multiplyMatrices1100.0%
Phpdftk\HtmlToPdf\Painter\Painter::paintMarkerSquare1100.0%
Phpdftk\HtmlToPdf\Painter\Painter::emitRect1100.0%