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