OpenShot Library | libopenshot  0.1.2
RendererBase.h
Go to the documentation of this file.
1 /**
2  * @file
3  * @brief Header file for RendererBase class
4  * @author Duzy Chan <code@duzy.info>
5  *
6  * @section LICENSE
7  *
8  * Copyright (c) 2008-2014 OpenShot Studios, LLC
9  * <http://www.openshotstudios.com/>. This file is part of
10  * OpenShot Library (libopenshot), an open-source project dedicated to
11  * delivering high quality video editing and animation solutions to the
12  * world. For more information visit <http://www.openshot.org/>.
13  *
14  * OpenShot Library (libopenshot) is free software: you can redistribute it
15  * and/or modify it under the terms of the GNU Lesser General Public License
16  * as published by the Free Software Foundation, either version 3 of the
17  * License, or (at your option) any later version.
18  *
19  * OpenShot Library (libopenshot) is distributed in the hope that it will be
20  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  * GNU Lesser General Public License for more details.
23  *
24  * You should have received a copy of the GNU Lesser General Public License
25  * along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>.
26  */
27 
28 #ifndef OPENSHOT_RENDERER_BASE_H
29 #define OPENSHOT_RENDERER_BASE_H
30 
31 #include "../include/Frame.h"
32 #include <stdlib.h> // for realloc
33 #include <tr1/memory>
34 
35 namespace openshot
36 {
37  class Frame;
38 
39  /**
40  * @brief This is the base class of all Renderers in libopenshot.
41  *
42  * Renderers are responsible for rendering images of a video onto a
43  * display device.
44  */
46  {
47  public:
48 
49  /// Paint(render) a video Frame.
50  void paint(const std::tr1::shared_ptr<Frame> & frame);
51 
52  /// Allow manual override of the QWidget that is used to display
53  virtual void OverrideWidget(long long qwidget_address) = 0;
54 
55  protected:
56  RendererBase();
57  virtual ~RendererBase();
58 
59  virtual void render(tr1::shared_ptr<QImage> image) = 0;
60  };
61 
62 }
63 
64 #endif
virtual void render(tr1::shared_ptr< QImage > image)=0
void paint(const std::tr1::shared_ptr< Frame > &frame)
Paint(render) a video Frame.
virtual void OverrideWidget(long long qwidget_address)=0
Allow manual override of the QWidget that is used to display.
This namespace is the default namespace for all code in the openshot library.
This is the base class of all Renderers in libopenshot.
Definition: RendererBase.h:45