ecbc526418
I trimmed the libmicrohttpd sources and defines down to the minimum needed to build and run. This builds and runs on Linux and Android for me. Request.h was missing an include for SkTypes.h, which supplies the default for SK_GPU_SUPPORTED if not otherwise defined. To build on Android, exit() -> _exit(). build.py was unused. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2367513002 NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2367513002
84 lines
2.0 KiB
C++
84 lines
2.0 KiB
C++
/*
|
|
* 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 "SkTypes.h"
|
|
|
|
#if SK_SUPPORT_GPU
|
|
#include "GrContextFactory.h"
|
|
#endif
|
|
|
|
#include "SkDebugCanvas.h"
|
|
#include "SkPicture.h"
|
|
#include "SkStream.h"
|
|
#include "SkSurface.h"
|
|
|
|
#include "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 skia draw op N, highlighting the Mth batch(-1 means no highlight)
|
|
sk_sp<SkData> drawToPng(int n, int m = -1);
|
|
sk_sp<SkData> writeOutSkp();
|
|
SkCanvas* getCanvas();
|
|
SkBitmap* getBitmapFromCanvas(SkCanvas* canvas);
|
|
bool enableGPU(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 batches as an SkData
|
|
sk_sp<SkData> getJsonBatchList(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;
|
|
SkAutoTUnref<SkDebugCanvas> fDebugCanvas;
|
|
UrlDataManager fUrlDataManager;
|
|
|
|
private:
|
|
sk_sp<SkData> writeCanvasToPng(SkCanvas* canvas);
|
|
void drawToCanvas(int n, int m = -1);
|
|
SkSurface* createCPUSurface();
|
|
SkSurface* createGPUSurface();
|
|
SkIRect getBounds();
|
|
GrContext* getContext();
|
|
|
|
sk_sp<SkPicture> fPicture;
|
|
sk_gpu_test::GrContextFactory* fContextFactory;
|
|
SkAutoTUnref<SkSurface> fSurface;
|
|
bool fGPUEnabled;
|
|
int fColorMode;
|
|
};
|
|
|
|
#endif
|