Thu, 15 Jan 2015 21:03:48 +0100
Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)
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_SVGCONTEXT_H_
7 #define MOZILLA_SVGCONTEXT_H_
9 #include "SVGPreserveAspectRatio.h"
11 namespace mozilla {
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() { }
21 SVGImageContext(SVGPreserveAspectRatio aPreserveAspectRatio)
22 : mPreserveAspectRatio(aPreserveAspectRatio)
23 { }
25 const SVGPreserveAspectRatio& GetPreserveAspectRatio() const {
26 return mPreserveAspectRatio;
27 }
29 bool operator==(const SVGImageContext& aOther) const {
30 return mPreserveAspectRatio == aOther.mPreserveAspectRatio;
31 }
33 bool operator!=(const SVGImageContext& aOther) const {
34 return !(*this == aOther);
35 }
37 uint32_t Hash() const {
38 return mPreserveAspectRatio.Hash();
39 }
41 private:
42 SVGPreserveAspectRatio mPreserveAspectRatio;
43 };
45 } // namespace mozilla
47 #endif // MOZILLA_SVGCONTEXT_H_