chromium/third_party/skia/src/gpu/ganesh/ops/AtlasRenderTask.h

/*
 * Copyright 2021 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */
#ifndef AtlasRenderTask_DEFINED
#define AtlasRenderTask_DEFINED

#include "include/core/SkPath.h"
#include "include/core/SkRefCnt.h"
#include "include/private/SkColorData.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkNoncopyable.h"
#include "src/base/SkBlockAllocator.h"
#include "src/base/SkTBlockList.h"
#include "src/gpu/ganesh/GrCaps.h"
#include "src/gpu/ganesh/GrDynamicAtlas.h"
#include "src/gpu/ganesh/GrSurfaceProxyView.h"
#include "src/gpu/ganesh/GrTexture.h"
#include "src/gpu/ganesh/ops/GrOp.h"
#include "src/gpu/ganesh/ops/OpsTask.h"
#include "src/gpu/ganesh/tessellate/PathTessellator.h"

#include <memory>
#include <utility>

class GrArenas;
class GrOnFlushResourceProvider;
class GrOpFlushState;
class GrRecordingContext;
class GrTextureProxy;
class SkMatrix;
struct GrUserStencilSettings;
struct SkIPoint16;
struct SkIPoint;
struct SkIRect;
struct SkRect;

namespace skgpu::ganesh {

// Represents a GrRenderTask that draws paths into an atlas. This task gets added the DAG and left
// open, lays out its atlas while future tasks call addPath(), and finally adds its internal draw
// ops during onMakeClosed().
//
// The atlas texture does not get instantiated automatically. It is the creator's responsibility to
// call instantiate() at flush time.
class AtlasRenderTask final : public OpsTask {};

}  // namespace skgpu::ganesh

#endif // AtlasRenderTask_DEFINED