xref: /haiku/src/add-ons/media/media-add-ons/videowindow/VideoView.h (revision 18c2aaaea27d0643b9a470d930355b0410cfbb30)
1 /*
2  * Copyright (C) 2006 Marcus Overhagen <marcus@overhagen.de>. All rights reserved.
3  *
4  * Distributed under the terms of the MIT License.
5  */
6 #ifndef __VIDEO_VIEW_H
7 #define __VIDEO_VIEW_H
8 
9 #include <View.h>
10 
11 class VideoNode;
12 
13 class VideoView : public BView
14 {
15 public:
16 					VideoView(BRect frame, const char *name, uint32 resizeMask, uint32 flags);
17 					~VideoView();
18 
19 	void			RemoveVideoDisplay();
20 	void			RemoveOverlay();
21 
22 	VideoNode *		Node();
23 
24 	bool			IsOverlaySupported();
25 
26 	void			OverlayLockAcquire();
27 	void			OverlayLockRelease();
28 
29 	void			OverlayScreenshotPrepare();
30 	void			OverlayScreenshotCleanup();
31 
32 	void			DrawFrame();
33 
34 private:
35 	void			AttachedToWindow();
36 	void			MessageReceived(BMessage *msg);
37 	void			Draw(BRect updateRect);
38 
39 private:
40 	VideoNode *		fVideoNode;
41 	bool			fOverlayActive;
42 	rgb_color		fOverlayKeyColor;
43 };
44 
45 #endif
46