~mterry/qtvideo-node/dont-install-tests

« back to all changes in this revision

Viewing changes to src/snapshotgenerator.h

  • Committer: Tarmac
  • Author(s): Jim Hodapp
  • Date: 2013-03-14 15:55:17 UTC
  • mfrom: (22.1.7 qtvideo-node)
  • Revision ID: tarmac-20130314155517-0vo0x2c5xgxde3ew
Enable Qt multithreaded rendering to work for both the media player and camera apps.

Approved by PS Jenkins bot, Günter Schwann.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2013 Canonical, Ltd.
 
3
 *
 
4
 * This program is free software; you can redistribute it and/or modify
 
5
 * it under the terms of the GNU Lesser General Public License as published by
 
6
 * the Free Software Foundation; version 3.
 
7
 *
 
8
 * This program is distributed in the hope that it will be useful,
 
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 * GNU Lesser General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU Lesser General Public License
 
14
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 */
 
16
 
 
17
#ifndef SNAPSHOTGENERATOR_H
 
18
#define SNAPSHOTGENERATOR_H
 
19
 
 
20
#include <QImage>
 
21
 
 
22
#include <qgl.h>
 
23
 
 
24
class CameraControl;
 
25
 
 
26
class SnapshotGenerator
 
27
{
 
28
public:
 
29
    SnapshotGenerator();
 
30
 
 
31
    QImage snapshot(GLuint textureId, const CameraControl *control);
 
32
 
 
33
    void setSize(int width, int height);
 
34
 
 
35
private:
 
36
    const char *vertexShader() const;
 
37
    const char *fragmentShader() const;
 
38
    GLuint loadShader(GLenum shaderType, const char* pSource);
 
39
    GLuint createProgram(const char* pVertexSource, const char* pFragmentSource);
 
40
 
 
41
    int m_width;
 
42
    int m_height;
 
43
 
 
44
    GLint position_loc;
 
45
    GLint v_matrix_loc;
 
46
    GLint tex_coord_loc;
 
47
    GLint sampler_loc;
 
48
    GLint tex_matrix_loc;
 
49
 
 
50
    QImage m_snapshotImage;
 
51
};
 
52
 
 
53
#endif // SNAPSHOTGENERATOR_H