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/. */
7 #include "nsSVGGenericContainerFrame.h"
8 #include "nsSVGIntegrationUtils.h"
10 //----------------------------------------------------------------------
11 // nsSVGGenericContainerFrame Implementation
14 NS_NewSVGGenericContainerFrame(nsIPresShell
* aPresShell
, nsStyleContext
* aContext
)
16 return new (aPresShell
) nsSVGGenericContainerFrame(aContext
);
19 NS_IMPL_FRAMEARENA_HELPERS(nsSVGGenericContainerFrame
)
21 //----------------------------------------------------------------------
25 nsSVGGenericContainerFrame::AttributeChanged(int32_t aNameSpaceID
,
31 aAttribute
->ToString(str
);
32 printf("** nsSVGGenericContainerFrame::AttributeChanged(%s)\n",
33 NS_LossyConvertUTF16toASCII(str
).get());
40 nsSVGGenericContainerFrame::GetType() const
42 return nsGkAtoms::svgGenericContainerFrame
;
45 //----------------------------------------------------------------------
46 // nsSVGContainerFrame methods:
49 nsSVGGenericContainerFrame::GetCanvasTM(uint32_t aFor
,
50 nsIFrame
* aTransformRoot
)
52 if (!(GetStateBits() & NS_FRAME_IS_NONDISPLAY
) && !aTransformRoot
) {
53 if ((aFor
== FOR_PAINTING
&& NS_SVGDisplayListPaintingEnabled()) ||
54 (aFor
== FOR_HIT_TESTING
&& NS_SVGDisplayListHitTestingEnabled())) {
55 return nsSVGIntegrationUtils::GetCSSPxToDevPxMatrix(this);
59 NS_ASSERTION(mParent
, "null parent");
61 return static_cast<nsSVGContainerFrame
*>(mParent
)->
62 GetCanvasTM(aFor
, aTransformRoot
);