Reland "Remove use of legacy display globals."
This is a reland of c1916c34febe0c6f9805b5d9fc18349ec8b74008
As it turns out, benches are not always given a canvas.
Original change's description:
> Remove use of legacy display globals.
>
> In the ongoing effort to remove the display globals from Skia, allow
> their use only if SK_LEGACY_SURFACE_PROPS is defined. Do not define this
> in a normal Skia build and remove all use from Skia code.
>
> Change-Id: I9ff550f5db246b9024aac687a1bc01321f1be4c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319343
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: I61a2ac058fafc99653e3304876cf4b97350dac8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/322490
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
diff --git a/tools/viewer/Viewer.h b/tools/viewer/Viewer.h
index 47913ae..52d4493 100644
--- a/tools/viewer/Viewer.h
+++ b/tools/viewer/Viewer.h
@@ -92,6 +92,18 @@
bool fStyle = false;
bool fFilterQuality = false;
};
+ struct SkSurfacePropsFields {
+ bool fFlags = false;
+ bool fPixelGeometry = false;
+ };
+ struct DisplayFields {
+ bool fColorType = false;
+ bool fColorSpace = false;
+ bool fMSAASampleCount = false;
+ bool fGrContextOptions = false;
+ SkSurfacePropsFields fSurfaceProps;
+ bool fDisableVsync = false;
+ };
private:
enum class ColorMode {
kLegacy, // 8888, no color management
@@ -190,11 +202,18 @@
SkTArray<std::function<void(void)>> fDeferredActions;
+ // fPaint contains override values, fPaintOverrides controls if overrides are applied.
SkPaint fPaint;
SkPaintFields fPaintOverrides;
+
+ // fFont contains override values, fFontOverrides controls if overrides are applied.
SkFont fFont;
SkFontFields fFontOverrides;
- bool fPixelGeometryOverrides = false;
+
+ // fDisplay contains default values (fWindow.fRequestedDisplayParams contains the overrides),
+ // fDisplayOverrides controls if overrides are applied.
+ sk_app::DisplayParams fDisplay;
+ DisplayFields fDisplayOverrides;
struct CachedShader {
bool fHovered = false;