整理代码
This commit is contained in:
commit
c7b4e178ec
364 changed files with 59691 additions and 0 deletions
64
video/core/VideoOverlay.h
Normal file
64
video/core/VideoOverlay.h
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
#ifndef CBC5C20D_24D0_4D1F_B00E_8299B36FD74E
|
||||
#define CBC5C20D_24D0_4D1F_B00E_8299B36FD74E
|
||||
/*
|
||||
*******************************************************************************
|
||||
* INCLUDE
|
||||
*******************************************************************************
|
||||
*/
|
||||
#include "VideoComponent.h"
|
||||
#include "GeometryTypes.h"
|
||||
#include "Image.h"
|
||||
#include "util/FactoryManager.h"
|
||||
|
||||
namespace Video
|
||||
{
|
||||
namespace Core
|
||||
{
|
||||
/*
|
||||
*******************************************************************************
|
||||
* CLASS DECLARE
|
||||
*******************************************************************************
|
||||
*/
|
||||
enum class VideoOverlayType
|
||||
{
|
||||
CANVAS,
|
||||
MOSAIC,
|
||||
};
|
||||
|
||||
class VideoOverlaySelector
|
||||
{
|
||||
public:
|
||||
static VideoOverlayType select(VideoOverlayType type, const std::string&, const Rect&)
|
||||
{
|
||||
return type;
|
||||
}
|
||||
};
|
||||
|
||||
class VideoOverlay: public ::Util::FactoryManager<VideoOverlay, VideoOverlayType, VideoOverlaySelector,
|
||||
VideoOverlayType, const std::string&, const Rect&>,
|
||||
public ::Util::Configurable
|
||||
{
|
||||
public:
|
||||
using Ptr = Poco::SharedPtr<VideoOverlay>;
|
||||
|
||||
protected:
|
||||
VideoOverlay(VideoOverlayType type, const std::string& name, const Rect& region);
|
||||
|
||||
public:
|
||||
virtual ~VideoOverlay();
|
||||
|
||||
virtual void render(Image::Ptr pImage) = 0;
|
||||
virtual void scrollRender(Image::Ptr pImage, int hscroll) = 0;
|
||||
virtual void attach(VideoComponent::Ptr target);
|
||||
|
||||
CONFIGURABLE_DECLARE_PARAMETER(ZOrder, int)
|
||||
CONFIGURABLE_DECLARE_PARAMETER(Block, int)
|
||||
|
||||
READONLY_PROPERTY_DECLARE(type, VideoOverlayType)
|
||||
READONLY_PROPERTY_DECLARE(name, std::string)
|
||||
READONLY_PROPERTY_DECLARE(target, VideoComponent::Ptr)
|
||||
READONLY_PROPERTY_DECLARE(region, Rect)
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue