gecko-dev/layout/generic/nsIStatefulFrame.h
2005-01-27 22:52:53 +00:00

30 lines
927 B
C++

#ifndef _nsIStatefulFrame_h
#define _nsIStatefulFrame_h
#include "nsISupports.h"
class nsPresContext;
class nsPresState;
#define NS_ISTATEFULFRAME_IID \
{0x26254ab7, 0xdea3, 0x4375, \
{0xb0, 0x1d, 0xbd, 0x11, 0xa1, 0x4b, 0x54, 0xbc}}
class nsIStatefulFrame : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISTATEFULFRAME_IID)
// If you create a special type stateful frame (e.g. scroll) that needs
// to be captured outside of the standard pass through the frames, you'll need
// a special ID by which to refer to that type.
//
// There is space reserved between standard ID's and special ID's by the
// offset NS_CONTENT_ID_COUNTER_BASE
enum SpecialStateID {eNoID=0, eDocumentScrollState};
NS_IMETHOD SaveState(nsPresContext* aPresContext, nsPresState** aState) = 0;
NS_IMETHOD RestoreState(nsPresContext* aPresContext, nsPresState* aState) = 0;
};
#endif /* _nsIStatefulFrame_h */