Line data Source code
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 nsIPercentBSizeObserver_h___
7 : #define nsIPercentBSizeObserver_h___
8 :
9 : #include "nsQueryFrame.h"
10 :
11 : namespace mozilla {
12 : struct ReflowInput;
13 : } // namespace mozilla
14 :
15 : /**
16 : * This interface is supported by frames that need to provide computed bsize
17 : * values to children during reflow which would otherwise not happen. Currently
18 : * only table cells support this.
19 : */
20 0 : class nsIPercentBSizeObserver
21 : {
22 : public:
23 : NS_DECL_QUERYFRAME_TARGET(nsIPercentBSizeObserver)
24 :
25 : // Notify the observer that aReflowInput has no computed bsize,
26 : // but it has a percent bsize
27 : virtual void NotifyPercentBSize(const mozilla::ReflowInput& aReflowInput) = 0;
28 :
29 : // Ask the observer if it should observe aReflowInput.frame
30 : virtual bool NeedsToObserve(const mozilla::ReflowInput& aReflowInput) = 0;
31 : };
32 :
33 : #endif // nsIPercentBSizeObserver_h___
|