1/*
2 * Copyright 2006, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef	_LAYOUT_CONTEXT_H
6#define	_LAYOUT_CONTEXT_H
7
8#include <List.h>
9
10class BLayoutContext;
11
12
13class BLayoutContextListener {
14public:
15								BLayoutContextListener();
16	virtual						~BLayoutContextListener();
17
18	virtual	void				LayoutContextLeft(BLayoutContext* context) = 0;
19
20private:
21	virtual	void				_ReservedLayoutContextListener1();
22	virtual	void				_ReservedLayoutContextListener2();
23	virtual	void				_ReservedLayoutContextListener3();
24	virtual	void				_ReservedLayoutContextListener4();
25	virtual	void				_ReservedLayoutContextListener5();
26
27			uint32				_reserved[3];
28};
29
30
31class BLayoutContext {
32public:
33								BLayoutContext();
34								~BLayoutContext();
35
36			void				AddListener(BLayoutContextListener* listener);
37			void				RemoveListener(
38									BLayoutContextListener* listener);
39
40private:
41			BList				fListeners;
42			uint32				_reserved[5];
43};
44
45#endif	//	_LAYOUT_CONTEXT_H
46