text: /*
   * Copyright 2006, Haiku, Inc. All rights reserved.
   * Distributed under the terms of the MIT License.
   */
  #ifndef	_LAYOUT_CONTEXT_H
  #define	_LAYOUT_CONTEXT_H
  
  #include <List.h>
  
  class BLayoutContext;
  
  
  class BLayoutContextListener {
  public:
  								BLayoutContextListener();
  	virtual						~BLayoutContextListener();
  
  	virtual	void				LayoutContextLeft(BLayoutContext* context) = 0;
  
  private:
  	virtual	void				_ReservedLayoutContextListener1();
  	virtual	void				_ReservedLayoutContextListener2();
  	virtual	void				_ReservedLayoutContextListener3();
  	virtual	void				_ReservedLayoutContextListener4();
  	virtual	void				_ReservedLayoutContextListener5();
  
  			uint32				_reserved[3];
  };
  
  
  class BLayoutContext {
  public:
  								BLayoutContext();
  								~BLayoutContext();
  
  			void				AddListener(BLayoutContextListener* listener);
  			void				RemoveListener(
  									BLayoutContextListener* listener);
  
  private:
  			BList				fListeners;
  			uint32				_reserved[5];
  };
  
  #endif	//	_LAYOUT_CONTEXT_H
  