Bug 1686838 [wpt PR 27194] - Update wpt metadata, a=testonly
[gecko.git] / image / SVGDrawingParameters.h
blobd7b7f7172d121de59ea07887d2211eb8c418c0a3
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef mozilla_image_SVGDrawingParameters_h
7 #define mozilla_image_SVGDrawingParameters_h
9 #include "gfxContext.h"
10 #include "gfxTypes.h"
11 #include "ImageRegion.h"
12 #include "mozilla/gfx/Point.h"
13 #include "mozilla/gfx/Types.h"
14 #include "mozilla/Maybe.h"
15 #include "mozilla/SVGImageContext.h"
16 #include "nsSize.h"
18 namespace mozilla {
19 namespace image {
21 struct SVGDrawingParameters {
22 typedef mozilla::gfx::IntSize IntSize;
23 typedef mozilla::gfx::SamplingFilter SamplingFilter;
25 SVGDrawingParameters(gfxContext* aContext, const nsIntSize& aRasterSize,
26 const nsIntSize& aDrawSize, const ImageRegion& aRegion,
27 SamplingFilter aSamplingFilter,
28 const Maybe<SVGImageContext>& aSVGContext,
29 float aAnimationTime, uint32_t aFlags, float aOpacity)
30 : context(aContext),
31 size(aRasterSize),
32 drawSize(aDrawSize),
33 region(aRegion),
34 samplingFilter(aSamplingFilter),
35 svgContext(aSVGContext),
36 viewportSize(aRasterSize),
37 animationTime(aAnimationTime),
38 flags(aFlags),
39 opacity(aOpacity) {
40 if (aSVGContext) {
41 auto sz = aSVGContext->GetViewportSize();
42 if (sz) {
43 viewportSize = nsIntSize(sz->width, sz->height); // XXX losing unit
48 gfxContext* context;
49 IntSize size; // Size to rasterize a surface at.
50 IntSize drawSize; // Size to draw the given surface at.
51 ImageRegion region;
52 SamplingFilter samplingFilter;
53 const Maybe<SVGImageContext>& svgContext;
54 nsIntSize viewportSize;
55 float animationTime;
56 uint32_t flags;
57 gfxFloat opacity;
60 } // namespace image
61 } // namespace mozilla
63 #endif // mozilla_image_SVGDrawingParameters_h