1 : /*
2 : * interface for rendering objects whose state is saved in
3 : * session-history (back-forward navigation)
4 : */
5 :
6 : #ifndef _nsIStatefulFrame_h
7 : #define _nsIStatefulFrame_h
8 :
9 : #include "nsQueryFrame.h"
10 :
11 : class nsPresState;
12 :
13 : class nsIStatefulFrame
14 0 : {
15 : public:
16 : NS_DECL_QUERYFRAME_TARGET(nsIStatefulFrame)
17 :
18 : // If you create a special type stateful frame (e.g. scroll) that needs
19 : // to be captured outside of the standard pass through the frames, you'll need
20 : // a special ID by which to refer to that type.
21 : enum SpecialStateID {eNoID=0, eDocumentScrollState};
22 :
23 : // Save the state for this frame. Some implementations may choose to return
24 : // different states depending on the value of aStateID. If this method
25 : // succeeds, the caller is responsible for deleting the resulting state when
26 : // done with it.
27 : NS_IMETHOD SaveState(SpecialStateID aStateID, nsPresState** aState) = 0;
28 :
29 : // Restore the state for this frame from aState
30 : NS_IMETHOD RestoreState(nsPresState* aState) = 0;
31 : };
32 :
33 : #endif /* _nsIStatefulFrame_h */
|