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