#include "src/gpu/ganesh/GrDynamicAtlas.h"
#include "include/core/SkTypes.h"
#include "include/gpu/GpuTypes.h"
#include "include/gpu/ganesh/GrBackendSurface.h"
#include "src/base/SkMathPriv.h"
#include "src/core/SkIPoint16.h"
#include "src/gpu/Rectanizer.h"
#include "src/gpu/RectanizerPow2.h"
#include "src/gpu/RectanizerSkyline.h"
#include "src/gpu/ganesh/GrCaps.h"
#include "src/gpu/ganesh/GrOnFlushResourceProvider.h"
#include "src/gpu/ganesh/GrProxyProvider.h"
#include "src/gpu/ganesh/GrRenderTarget.h"
#include "src/gpu/ganesh/GrRenderTargetProxy.h"
#include "src/gpu/ganesh/GrResourceProvider.h"
#include "src/gpu/ganesh/GrSurfaceProxyPriv.h"
#include "src/gpu/ganesh/GrSurfaceProxyView.h"
#include "src/gpu/ganesh/GrTexture.h"
#include <algorithm>
#include <functional>
#include <utility>
usingnamespaceskgpu;
class GrDynamicAtlas::Node { … };
sk_sp<GrTextureProxy> GrDynamicAtlas::MakeLazyAtlasProxy(
LazyInstantiateAtlasCallback&& callback,
GrColorType colorType,
InternalMultisample internalMultisample,
const GrCaps& caps,
GrSurfaceProxy::UseAllocator useAllocator) { … }
GrDynamicAtlas::GrDynamicAtlas(GrColorType colorType, InternalMultisample internalMultisample,
SkISize initialSize, int maxAtlasSize, const GrCaps& caps,
RectanizerAlgorithm algorithm)
: … { … }
GrDynamicAtlas::~GrDynamicAtlas() { … }
void GrDynamicAtlas::reset(SkISize initialSize, const GrCaps& caps) { … }
GrDynamicAtlas::Node* GrDynamicAtlas::makeNode(Node* previous, int l, int t, int r, int b) { … }
GrSurfaceProxyView GrDynamicAtlas::readView(const GrCaps& caps) const { … }
GrSurfaceProxyView GrDynamicAtlas::writeView(const GrCaps& caps) const { … }
bool GrDynamicAtlas::addRect(int width, int height, SkIPoint16* location) { … }
bool GrDynamicAtlas::internalPlaceRect(int w, int h, SkIPoint16* loc) { … }
bool GrDynamicAtlas::instantiate(GrOnFlushResourceProvider* onFlushRP,
sk_sp<GrTexture> backingTexture) { … }