Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* vim: set ts=2 et sw=2 tw=80: */
3 : /* This Source Code is subject to the terms of the Mozilla Public License
4 : * version 2.0 (the "License"). You can obtain a copy of the License at
5 : * http://mozilla.org/MPL/2.0/. */
6 :
7 : /* base class for ruby rendering objects that directly contain content */
8 :
9 : #ifndef nsRubyContentFrame_h___
10 : #define nsRubyContentFrame_h___
11 :
12 : #include "nsInlineFrame.h"
13 :
14 0 : class nsRubyContentFrame : public nsInlineFrame
15 : {
16 : public:
17 : NS_DECL_ABSTRACT_FRAME(nsRubyContentFrame)
18 :
19 : // nsIFrame overrides
20 : virtual bool IsFrameOfType(uint32_t aFlags) const override;
21 :
22 : // Indicates whether this is an "intra-level whitespace" frame, i.e.
23 : // an anonymous frame that was created to contain non-droppable
24 : // whitespaces directly inside a ruby level container. This impacts
25 : // ruby pairing behavior.
26 : // See http://dev.w3.org/csswg/css-ruby/#anon-gen-interpret-space
27 : bool IsIntraLevelWhitespace() const;
28 :
29 : protected:
30 0 : nsRubyContentFrame(nsStyleContext* aContext, ClassID aID)
31 0 : : nsInlineFrame(aContext, aID)
32 0 : {}
33 : };
34 :
35 : #endif /* nsRubyContentFrame_h___ */
|