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 13class BMediaAddOn; 14class VideoNode; 15 16 17class VideoView : public BView 18{ 19public: 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 38private: 39 void AttachedToWindow(); 40 void MessageReceived(BMessage *msg); 41 void Draw(BRect updateRect); 42 43private: 44 VideoNode * fVideoNode; 45 bool fOverlayActive; 46 rgb_color fOverlayKeyColor; 47}; 48 49#endif 50