~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Source/WebCore/platform/graphics/filters/CustomFilterMesh.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
Import upstream version 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved.
 
3
 *
 
4
 * Redistribution and use in source and binary forms, with or without
 
5
 * modification, are permitted provided that the following conditions
 
6
 * are met:
 
7
 *
 
8
 * 1. Redistributions of source code must retain the above
 
9
 *    copyright notice, this list of conditions and the following
 
10
 *    disclaimer.
 
11
 * 2. Redistributions in binary form must reproduce the above
 
12
 *    copyright notice, this list of conditions and the following
 
13
 *    disclaimer in the documentation and/or other materials
 
14
 *    provided with the distribution.
 
15
 *
 
16
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
 
17
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
18
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 
19
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
 
20
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
 
21
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
22
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 
23
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 
25
 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
 
26
 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
27
 * SUCH DAMAGE.
 
28
 */
 
29
 
 
30
#ifndef CustomFilterMesh_h
 
31
#define CustomFilterMesh_h
 
32
 
 
33
#if ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
 
34
 
 
35
#include "CustomFilterOperation.h"
 
36
#include "FloatRect.h"
 
37
#include "GraphicsTypes3D.h"
 
38
#include <wtf/RefCounted.h>
 
39
 
 
40
namespace WebCore {
 
41
 
 
42
class GraphicsContext3D;
 
43
 
 
44
class CustomFilterMesh : public RefCounted<CustomFilterMesh> {
 
45
public:
 
46
    static PassRefPtr<CustomFilterMesh> create(GraphicsContext3D* context, unsigned cols, unsigned rows, const FloatRect& meshBox, CustomFilterMeshType meshType)
 
47
    {
 
48
        return adoptRef(new CustomFilterMesh(context, cols, rows, meshBox, meshType));
 
49
    }
 
50
    ~CustomFilterMesh();
 
51
 
 
52
    Platform3DObject verticesBufferObject() const { return m_verticesBufferObject; }
 
53
    unsigned bytesPerVertex() const { return m_bytesPerVertex; }
 
54
    
 
55
    Platform3DObject elementsBufferObject() const { return m_elementsBufferObject; }
 
56
    unsigned indicesCount() const { return m_indicesCount; }
 
57
    
 
58
    const FloatRect& meshBox() const { return m_meshBox; }
 
59
    CustomFilterMeshType meshType() const { return m_meshType; }
 
60
 
 
61
private:
 
62
    CustomFilterMesh(GraphicsContext3D*, unsigned cols, unsigned rows, const FloatRect& meshBox, CustomFilterMeshType);
 
63
    
 
64
    GraphicsContext3D* m_context;
 
65
    
 
66
    Platform3DObject m_verticesBufferObject;
 
67
    unsigned m_bytesPerVertex;
 
68
    
 
69
    Platform3DObject m_elementsBufferObject;
 
70
    unsigned m_indicesCount;
 
71
    
 
72
    FloatRect m_meshBox;
 
73
    CustomFilterMeshType m_meshType;
 
74
};
 
75
 
 
76
} // namespace WebCore
 
77
 
 
78
#endif // ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
 
79
 
 
80
#endif // CustomFilterMesh_h