123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*
- * Copyright 2016 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef Request_DEFINED
- #define Request_DEFINED
- #include "include/core/SkTypes.h"
- #include "tools/gpu/GrContextFactory.h"
- #include "include/core/SkPicture.h"
- #include "include/core/SkStream.h"
- #include "include/core/SkSurface.h"
- #include "tools/debugger/DebugCanvas.h"
- #include "tools/UrlDataManager.h"
- namespace sk_gpu_test {
- class GrContextFactory;
- }
- struct MHD_Connection;
- struct MHD_PostProcessor;
- struct UploadContext {
- SkDynamicMemoryWStream fStream;
- MHD_PostProcessor* fPostProcessor;
- MHD_Connection* connection;
- };
- struct Request {
- Request(SkString rootUrl);
- ~Request();
- // draws to canvas operation N, highlighting the Mth GrOp. m = -1 means no highlight.
- sk_sp<SkData> drawToPng(int n, int m = -1);
- sk_sp<SkData> writeOutSkp();
- SkCanvas* getCanvas();
- bool enableGPU(bool enable);
- bool setOverdraw(bool enable);
- bool setColorMode(int mode);
- bool hasPicture() const { return SkToBool(fPicture.get()); }
- int getLastOp() const { return fDebugCanvas->getSize() - 1; }
- bool initPictureFromStream(SkStream*);
- // Returns the json list of ops as an SkData
- sk_sp<SkData> getJsonOps(int n);
- // Returns a json list of ops as an SkData
- sk_sp<SkData> getJsonOpList(int n);
- // Returns json with the viewMatrix and clipRect
- sk_sp<SkData> getJsonInfo(int n);
- // returns the color of the pixel at (x,y) in the canvas
- SkColor getPixel(int x, int y);
- UploadContext* fUploadContext;
- std::unique_ptr<DebugCanvas> fDebugCanvas;
- UrlDataManager fUrlDataManager;
- private:
- sk_sp<SkData> writeCanvasToPng(SkCanvas* canvas);
- SkSurface* createCPUSurface();
- SkSurface* createGPUSurface();
- SkIRect getBounds();
- GrContext* getContext();
- sk_sp<SkPicture> fPicture;
- sk_gpu_test::GrContextFactory* fContextFactory;
- sk_sp<SkSurface> fSurface;
- bool fGPUEnabled;
- bool fOverdraw;
- int fColorMode;
- };
- #endif
|