aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/orientation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/orientation.cpp')
-rw-r--r--gm/orientation.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/gm/orientation.cpp b/gm/orientation.cpp
new file mode 100644
index 0000000000..183ec0996e
--- /dev/null
+++ b/gm/orientation.cpp
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2018 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "gm.h"
+
+#include "SkCanvas.h"
+#include "SkColor.h"
+#include "SkImage.h"
+#include "Resources.h"
+
+// This gm draws 8 images that are mostly the same when respecting the
+// EXIF orientation tag. Each one has four quadrants (red, blue, green,
+// yellow), and labels on the left, top, right and bottom. The only
+// visual difference is a number in the middle corresponding to the
+// EXIF tag for that image's jpg file.
+DEF_SIMPLE_GM(orientation, canvas, 400, 320) {
+ canvas->save();
+ for (char i = '1'; i <= '8'; i++) {
+ SkString path = SkStringPrintf("images/orientation/%c.jpg", i);
+ auto image = GetResourceAsImage(path.c_str());
+ canvas->drawImage(image, 0, 0);
+ if ('4' == i) {
+ canvas->restore();
+ canvas->translate(0, image->height());
+ } else {
+ canvas->translate(image->width(), 0);
+ }
+ }
+}