1decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary/* 2decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary * Copyright 2015 Google Inc. 3decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary * 4decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary * Use of this source code is governed by a BSD-style license that can be 5decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary * found in the LICENSE file. 6decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary */ 7decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary#ifndef fiddle_main_DEFINED 8decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary#define fiddle_main_DEFINED 9decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary 10f0da138c9500bab765a6ef59d97759d1466c1965halcanary#ifdef FIDDLE_BUILD_TEST 11f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "GrContext.h" 12f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "SkCanvas.h" 13f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "SkDocument.h" 14f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "SkPictureRecorder.h" 15f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "SkStream.h" 16f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "SkSurface.h" 17f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "gl/GrGLAssembleInterface.h" 18f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "gl/GrGLInterface.h" 19f0da138c9500bab765a6ef59d97759d1466c1965halcanary#else 20f0da138c9500bab765a6ef59d97759d1466c1965halcanary #include "skia.h" 21f0da138c9500bab765a6ef59d97759d1466c1965halcanary#endif 22decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary 23decb21e3ae3d296976d8664e49e35971d1b4faddhalcanaryextern SkBitmap source; 247b8b237ef7d82c9985e4f3cec54562f953ae2ce7halcanaryextern sk_sp<SkImage> image; 25decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary 26decb21e3ae3d296976d8664e49e35971d1b4faddhalcanarystruct DrawOptions { 271fd1823b4775040b6a9723db90029d037c34ea54Joe Gregorio DrawOptions(int w, int h, bool r, bool g, bool p, bool k, bool srgb, bool f16, bool textOnly, const char* s) 28decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary : size(SkISize::Make(w, h)) 29decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary , raster(r) 30decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary , gpu(g) 31decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary , pdf(p) 32decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary , skp(k) 33a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett , srgb(srgb) 34a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett , f16(f16) 351fd1823b4775040b6a9723db90029d037c34ea54Joe Gregorio , textOnly(textOnly) 36a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett , source(s) 37a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett { 38a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett // F16 mode is only valid for color correct backends. 39a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett SkASSERT(srgb || !f16); 40a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett } 41decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary SkISize size; 42decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary bool raster; 43decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary bool gpu; 44decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary bool pdf; 45decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary bool skp; 46a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett bool srgb; 47a2f7126ed4e705f0fec8227daed651fcdd3ba445Matt Sarett bool f16; 481fd1823b4775040b6a9723db90029d037c34ea54Joe Gregorio bool textOnly; 49decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary const char* source; 50decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary}; 51decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary 52decb21e3ae3d296976d8664e49e35971d1b4faddhalcanaryextern DrawOptions GetDrawOptions(); 531fd1823b4775040b6a9723db90029d037c34ea54Joe Gregorioextern void SkDebugf(const char * format, ...); 54decb21e3ae3d296976d8664e49e35971d1b4faddhalcanaryextern void draw(SkCanvas*); 55decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary 56decb21e3ae3d296976d8664e49e35971d1b4faddhalcanary#endif // fiddle_main_DEFINED 57