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 #ifndef __NS_ISVGGLYPHFRAGMENTNODE_H__
8 #define __NS_ISVGGLYPHFRAGMENTNODE_H__
10 #include "nsQueryFrame.h"
12 class nsSVGGlyphFrame
;
18 class nsISVGGlyphFragmentNode
: public nsQueryFrame
21 NS_DECL_QUERYFRAME_TARGET(nsISVGGlyphFragmentNode
)
23 virtual uint32_t GetNumberOfChars()=0;
24 virtual float GetComputedTextLength()=0;
25 virtual float GetSubStringLength(uint32_t charnum
, uint32_t fragmentChars
)=0;
26 virtual int32_t GetCharNumAtPosition(mozilla::nsISVGPoint
*point
)=0;
27 NS_IMETHOD_(nsSVGGlyphFrame
*) GetFirstGlyphFrame()=0;
28 NS_IMETHOD_(nsSVGGlyphFrame
*) GetNextGlyphFrame()=0;
29 NS_IMETHOD_(void) SetWhitespaceCompression(bool aCompressWhitespace
)=0;
32 #endif // __NS_ISVGGLYPHFRAGMENTNODE_H__