[vlmc-devel] [PATCH 4/5] RenderTarget: Widget

yikei lu luyikei.qmltu at gmail.com
Thu Apr 14 11:00:51 CEST 2016


We should use a number to store either a pointer or a number because
deleting m_id as a void pointer may cause a problem. Instead we should
delete the value of m_id.

2016-04-14 17:55 GMT+09:00 Yikai Lu <luyikei.qmltu at gmail.com>:
> ---
>  src/Backend/Target/WidgetTarget.cpp | 17 +++++++++++++++++
>  src/Backend/Target/WidgetTarget.h   | 18 ++++++++++++++++++
>  src/CMakeLists.txt                  |  1 +
>  3 files changed, 36 insertions(+)
>  create mode 100644 src/Backend/Target/WidgetTarget.cpp
>  create mode 100644 src/Backend/Target/WidgetTarget.h
>
> diff --git a/src/Backend/Target/WidgetTarget.cpp b/src/Backend/Target/WidgetTarget.cpp
> new file mode 100644
> index 0000000..f6d33c7
> --- /dev/null
> +++ b/src/Backend/Target/WidgetTarget.cpp
> @@ -0,0 +1,17 @@
> +#include "WidgetTarget.h"
> +
> +#include "Backend/ISourceRenderer.h"
> +
> +using namespace Backend;
> +
> +WidgetTarget::WidgetTarget( void* id )
> +    : m_id( reinterpret_cast<long long int>( id ) )
> +{
> +}
> +
> +void
> +WidgetTarget::configure( ISourceRenderer *renderer )
> +{
> +    renderer->setOutputWidget( reinterpret_cast<void*>( m_id ) );
> +}
> +
> diff --git a/src/Backend/Target/WidgetTarget.h b/src/Backend/Target/WidgetTarget.h
> new file mode 100644
> index 0000000..e22d39f
> --- /dev/null
> +++ b/src/Backend/Target/WidgetTarget.h
> @@ -0,0 +1,18 @@
> +#ifndef WIDGETTARGET_H
> +#define WIDGETTARGET_H
> +
> +#include "Backend/IRenderTarget.h"
> +
> +namespace Backend
> +{
> +    class WidgetTarget : public IRenderTarget
> +    {
> +    public:
> +        WidgetTarget( void* id );
> +        virtual void configure( ISourceRenderer *renderer );
> +    private:
> +        long long int m_id;
> +    };
> +}
> +
> +#endif // WIDGETTARGET_H
> diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
> index ae426ff..4c59e63 100644
> --- a/src/CMakeLists.txt
> +++ b/src/CMakeLists.txt
> @@ -46,6 +46,7 @@ SET(VLMC_SRCS
>      Backend/VLC/VLCVmemRenderer.cpp
>      Backend/VLC/VLCSource.cpp
>      Backend/VLC/VLCMemorySource.cpp
> +    Backend/Target/WidgetTarget.cpp
>      EffectsEngine/EffectsEngine.cpp
>      EffectsEngine/Effect.cpp
>      EffectsEngine/EffectUser.cpp
> --
> 1.9.1
>


More information about the Vlmc-devel mailing list