blob: b5a1eded586f8d94eb86ad874e07f28b210ede09 [file] [log] [blame]
Jamie Madille79b1e12015-11-04 16:36:37 -05001//
2// Copyright 2015 The ANGLE Project Authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6// FramebufferImpl_mock.h:
7// Defines a mock of the FramebufferImpl class.
8//
9
10#ifndef LIBANGLE_RENDERER_FRAMEBUFFERIMPLMOCK_H_
11#define LIBANGLE_RENDERER_FRAMEBUFFERIMPLMOCK_H_
12
13#include "gmock/gmock.h"
14
15#include "libANGLE/renderer/FramebufferImpl.h"
16
17namespace rx
18{
19
20class MockFramebufferImpl : public rx::FramebufferImpl
21{
22 public:
23 MockFramebufferImpl() : rx::FramebufferImpl(gl::Framebuffer::Data()) {}
24 virtual ~MockFramebufferImpl() { destroy(); }
25
26 MOCK_METHOD1(onUpdateColorAttachment, void(size_t));
27 MOCK_METHOD0(onUpdateDepthAttachment, void());
28 MOCK_METHOD0(onUpdateStencilAttachment, void());
29 MOCK_METHOD0(onUpdateDepthStencilAttachment, void());
30
31 MOCK_METHOD2(setDrawBuffers, void(size_t, const GLenum *));
32 MOCK_METHOD1(setReadBuffer, void(GLenum));
33
34 MOCK_METHOD2(discard, gl::Error(size_t, const GLenum *));
35 MOCK_METHOD2(invalidate, gl::Error(size_t, const GLenum *));
36 MOCK_METHOD3(invalidateSub, gl::Error(size_t, const GLenum *, const gl::Rectangle &));
37
38 MOCK_METHOD2(clear, gl::Error(const gl::Data &, GLbitfield));
Dian Xiang40281592015-11-19 18:24:44 -080039 MOCK_METHOD4(clearBufferfv, gl::Error(const gl::Data &, GLenum, GLint, const GLfloat *));
40 MOCK_METHOD4(clearBufferuiv, gl::Error(const gl::Data &, GLenum, GLint, const GLuint *));
41 MOCK_METHOD4(clearBufferiv, gl::Error(const gl::Data &, GLenum, GLint, const GLint *));
42 MOCK_METHOD5(clearBufferfi, gl::Error(const gl::Data &, GLenum, GLint, GLfloat, GLint));
Jamie Madille79b1e12015-11-04 16:36:37 -050043
44 MOCK_CONST_METHOD0(getImplementationColorReadFormat, GLenum());
45 MOCK_CONST_METHOD0(getImplementationColorReadType, GLenum());
46 MOCK_CONST_METHOD5(
47 readPixels,
48 gl::Error(const gl::State &, const gl::Rectangle &, GLenum, GLenum, GLvoid *));
49
50 MOCK_METHOD6(blit,
51 gl::Error(const gl::State &,
52 const gl::Rectangle &,
53 const gl::Rectangle &,
54 GLbitfield,
55 GLenum,
56 const gl::Framebuffer *));
57
Jamie Madillcc86d642015-11-24 13:00:07 -050058 MOCK_CONST_METHOD0(checkStatus, bool());
Jamie Madille79b1e12015-11-04 16:36:37 -050059
60 MOCK_METHOD0(destroy, void());
61};
62
63} // namespace rx
64
65#endif // LIBANGLE_RENDERER_FRAMEBUFFERIMPLMOCK_H_