layout/svg/SVGImageContext.h

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:bdb71ada91c8
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/. */
5
6 #ifndef MOZILLA_SVGCONTEXT_H_
7 #define MOZILLA_SVGCONTEXT_H_
8
9 #include "SVGPreserveAspectRatio.h"
10
11 namespace mozilla {
12
13 // SVG image-specific rendering context. For imgIContainer::Draw.
14 // Used to pass information about overridden attributes from an SVG <image>
15 // element to the image's internal SVG document when it's drawn.
16 class SVGImageContext
17 {
18 public:
19 SVGImageContext() { }
20
21 SVGImageContext(SVGPreserveAspectRatio aPreserveAspectRatio)
22 : mPreserveAspectRatio(aPreserveAspectRatio)
23 { }
24
25 const SVGPreserveAspectRatio& GetPreserveAspectRatio() const {
26 return mPreserveAspectRatio;
27 }
28
29 bool operator==(const SVGImageContext& aOther) const {
30 return mPreserveAspectRatio == aOther.mPreserveAspectRatio;
31 }
32
33 bool operator!=(const SVGImageContext& aOther) const {
34 return !(*this == aOther);
35 }
36
37 uint32_t Hash() const {
38 return mPreserveAspectRatio.Hash();
39 }
40
41 private:
42 SVGPreserveAspectRatio mPreserveAspectRatio;
43 };
44
45 } // namespace mozilla
46
47 #endif // MOZILLA_SVGCONTEXT_H_

mercurial