// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_TEST_FAKE_OUTPUT_SURFACE_CLIENT_H_
#define CC_TEST_FAKE_OUTPUT_SURFACE_CLIENT_H_
#include "cc/output/managed_memory_policy.h"
#include "cc/output/output_surface_client.h"
namespace cc {
class OutputSurface;
class FakeOutputSurfaceClient : public OutputSurfaceClient {
public:
FakeOutputSurfaceClient()
: output_surface_(NULL),
begin_frame_count_(0),
deferred_initialize_called_(false),
did_lose_output_surface_called_(false),
memory_policy_(0) {}
explicit FakeOutputSurfaceClient(OutputSurface* output_surface)
: output_surface_(output_surface),
begin_frame_count_(0),
deferred_initialize_called_(false),
did_lose_output_surface_called_(false),
memory_policy_(0) {}
virtual void DeferredInitialize() OVERRIDE;
virtual void ReleaseGL() OVERRIDE;
virtual void CommitVSyncParameters(base::TimeTicks timebase,
base::TimeDelta interval) OVERRIDE {}
virtual void SetNeedsRedrawRect(const gfx::Rect& damage_rect) OVERRIDE {}
virtual void BeginFrame(const BeginFrameArgs& args) OVERRIDE;
virtual void DidSwapBuffers() OVERRIDE {}
virtual void DidSwapBuffersComplete() OVERRIDE {}
virtual void ReclaimResources(const CompositorFrameAck* ack) OVERRIDE {}
virtual void DidLoseOutputSurface() OVERRIDE;
virtual void SetExternalDrawConstraints(
const gfx::Transform& transform,
const gfx::Rect& viewport,
const gfx::Rect& clip,
const gfx::Rect& viewport_rect_for_tile_priority,
const gfx::Transform& transform_for_tile_priority,
bool resourceless_software_draw) OVERRIDE {}
virtual void SetMemoryPolicy(const ManagedMemoryPolicy& policy) OVERRIDE;
virtual void SetTreeActivationCallback(const base::Closure&) OVERRIDE {}
int begin_frame_count() { return begin_frame_count_; }
bool deferred_initialize_called() {
return deferred_initialize_called_;
}
bool did_lose_output_surface_called() {
return did_lose_output_surface_called_;
}
const ManagedMemoryPolicy& memory_policy() const { return memory_policy_; }
private:
OutputSurface* output_surface_;
int begin_frame_count_;
bool deferred_initialize_called_;
bool did_lose_output_surface_called_;
ManagedMemoryPolicy memory_policy_;
};
} // namespace cc
#endif // CC_TEST_FAKE_OUTPUT_SURFACE_CLIENT_H_