1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/layout/svg/nsSVGPaintServerFrame.cpp Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,33 @@ 1.4 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.8 + 1.9 +// Main header first: 1.10 +#include "nsSVGPaintServerFrame.h" 1.11 + 1.12 +// Keep others in (case-insensitive) order: 1.13 +#include "gfxContext.h" 1.14 +#include "nsSVGElement.h" 1.15 + 1.16 +NS_IMPL_FRAMEARENA_HELPERS(nsSVGPaintServerFrame) 1.17 + 1.18 +bool 1.19 +nsSVGPaintServerFrame::SetupPaintServer(gfxContext *aContext, 1.20 + nsIFrame *aSource, 1.21 + nsStyleSVGPaint nsStyleSVG::*aFillOrStroke, 1.22 + float aOpacity) 1.23 +{ 1.24 + nsRefPtr<gfxPattern> pattern = 1.25 + GetPaintServerPattern(aSource, aContext->CurrentMatrix(), aFillOrStroke, 1.26 + aOpacity); 1.27 + if (!pattern) 1.28 + return false; 1.29 + 1.30 + if (!aContext->IsCairo()) { 1.31 + pattern->CacheColorStops(aContext->GetDrawTarget()); 1.32 + } 1.33 + 1.34 + aContext->SetPattern(pattern); 1.35 + return true; 1.36 +}