xref: /haiku/src/add-ons/media/media-add-ons/videowindow/VideoView.h (revision 72ac59d172768aff9504550e1e17521ff9016288)
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 
10 #include <View.h>
11 
12 
13 class BMediaAddOn;
14 class VideoNode;
15 
16 
17 class VideoView : public BView
18 {
19 public:
20 					VideoView(BRect frame, const char *name, uint32 resizeMask, uint32 flags, VideoNode *node);
21 					~VideoView();
22 
23 	void			RemoveVideoDisplay();
24 	void			RemoveOverlay();
25 
26 	VideoNode *		Node();
27 
28 	bool			IsOverlaySupported();
29 
30 	void			OverlayLockAcquire();
31 	void			OverlayLockRelease();
32 
33 	void			OverlayScreenshotPrepare();
34 	void			OverlayScreenshotCleanup();
35 
36 	void			DrawFrame();
37 
38 private:
39 	void			AttachedToWindow();
40 	void			MessageReceived(BMessage *msg);
41 	void			Draw(BRect updateRect);
42 
43 private:
44 	VideoNode *		fVideoNode;
45 	bool			fOverlayActive;
46 	rgb_color		fOverlayKeyColor;
47 };
48 
49 #endif
50