summaryrefslogtreecommitdiffstats
path: root/beos/liblayout/MSplitter.h
blob: 411c5d14f6798fcb19439d1e08b2d70ca8783cb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

#ifndef _MSPLITTER_H
#define _MSPLITTER_H

#include "layout.h"

#if __POWERPC__
#pragma simple_class_byval off
#endif

class IMPEXPLIBLAYOUT MSplitter : public MView, public BView
{
	public:					MSplitter();
							MSplitter(bool cosmetic);
							MSplitter(BMessage*);
			virtual			~MSplitter();
			virtual long Archive(BMessage *archive, bool deep=true) const;
			static BArchivable *Instantiate(BMessage *archive);

			virtual	minimax	layoutprefs();
			virtual BRect	layout(BRect rect);
			virtual void	MouseDown(BPoint);
			virtual void	Draw(BRect);
			virtual void	MouseMoved(BPoint, ulong, const BMessage*);
			virtual void	AttachedToWindow();
			virtual void	DetachedFromWindow();

	private:
			float		siblingweight;
			MView		*previoussibling;
			MView		*nextsibling;
			thread_id 	mousethread;
			static long	_mousetracker(void *);
			void		_MouseTracker(void);
			uint32		_expansiondata[2];
};

#endif