Files
libopenshot/src/RendererBase.h
Frank Dana 59138ea3e4 Adopt license management via Reuse project/tool (#711)
* reuse-managed license/copyright headers

reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.

* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
  - Add headers to source files
  - Change blanket licensing in .reuse/dep5 to only cover binary media
  - Import CC-BY-3.0 license and assign to sintel_trailer
2021-10-16 01:26:26 -04:00

50 lines
983 B
C++

/**
* @file
* @brief Header file for RendererBase class
* @author Duzy Chan <code@duzy.info>
*
* @ref License
*/
// Copyright (c) 2008-2019 OpenShot Studios, LLC
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#ifndef OPENSHOT_RENDERER_BASE_H
#define OPENSHOT_RENDERER_BASE_H
#include "Frame.h"
#include <cstdlib> // for realloc
#include <memory>
namespace openshot
{
class Frame;
/**
* @brief This is the base class of all Renderers in libopenshot.
*
* Renderers are responsible for rendering images of a video onto a
* display device.
*/
class RendererBase
{
public:
/// Paint(render) a video Frame.
void paint(const std::shared_ptr<openshot::Frame> & frame);
/// Allow manual override of the QWidget that is used to display
virtual void OverrideWidget(int64_t qwidget_address) = 0;
protected:
RendererBase();
virtual ~RendererBase();
virtual void render(std::shared_ptr<QImage> image) = 0;
};
}
#endif