blob: 1fabce4a9898b9717467e89b5049228006c22b34 [file] [log] [blame]
/*
* Copyright 2015 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef GrImmediateDrawTarget_DEFINED
#define GrImmediateDrawTarget_DEFINED
#include "GrDrawTarget.h"
#include "GrBatchFlushState.h"
/**
* A debug GrDrawTarget which immediately flushes every command it receives
*/
class GrImmediateDrawTarget : public GrClipTarget {
public:
/**
* Creates a GrImmediateDrawTarget
*
* @param context the context object that owns this draw buffer.
*/
GrImmediateDrawTarget(GrContext* context);
~GrImmediateDrawTarget() override;
protected:
void onDrawBatch(GrBatch*) override;
private:
void onReset() override;
void onFlush() override;
void onDrawPaths(const GrPathProcessor*,
const GrPathRange*,
const void* indices,
PathIndexType,
const float transformValues[],
PathTransformType,
int count,
const GrStencilSettings&,
const PipelineInfo&) override {
SkFAIL("Only batch implemented\n");
}
bool isIssued(uint32_t drawID) override { return drawID != fDrawID; }
uint32_t fDrawID;
typedef GrClipTarget INHERITED;
};
#endif