Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Unified Diff: ui/gfx/image/mojo/image_skia_struct_traits.h

Issue 2770693002: ash: HiDPI user avatar for SessionController (Closed)
Patch Set: nits, and gn check Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/image/mojo/image.typemap ('k') | ui/gfx/image/mojo/image_skia_struct_traits.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/image/mojo/image_skia_struct_traits.h
diff --git a/ui/gfx/image/mojo/image_skia_struct_traits.h b/ui/gfx/image/mojo/image_skia_struct_traits.h
new file mode 100644
index 0000000000000000000000000000000000000000..974ec9cf1d75a6d58039da63376b4c67a64dafef
--- /dev/null
+++ b/ui/gfx/image/mojo/image_skia_struct_traits.h
@@ -0,0 +1,75 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_GFX_IMAGE_MOJO_IMAGE_SKIA_STRUCT_TRAITS_H_
+#define UI_GFX_IMAGE_MOJO_IMAGE_SKIA_STRUCT_TRAITS_H_
+
+#include <stdint.h>
+
+#include <vector>
+
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/gfx/image/image_skia.h"
+#include "ui/gfx/image/image_skia_rep.h"
+#include "ui/gfx/image/mojo/image.mojom-shared.h"
+
+namespace mojo {
+
+template <>
+struct StructTraits<gfx::mojom::SharedBufferSkBitmapDataView, SkBitmap> {
+ struct Context {
+ Context();
+ ~Context();
+
+ mojo::ScopedSharedBufferHandle shared_buffer_handle;
+ uint64_t buffer_byte_size = 0;
+ };
+
+ static void* SetUpContext(const SkBitmap& input);
+ static void TearDownContext(const SkBitmap& input, void* context);
+ static mojo::ScopedSharedBufferHandle shared_buffer_handle(
+ const SkBitmap& input,
+ void* context);
+ static uint64_t buffer_byte_size(const SkBitmap& input, void* context);
+
+ static bool IsNull(const SkBitmap& input) { return input.isNull(); }
+ static void SetToNull(SkBitmap* out) { out->reset(); }
+
+ static bool Read(gfx::mojom::SharedBufferSkBitmapDataView data,
+ SkBitmap* out);
+};
+
+template <>
+struct StructTraits<gfx::mojom::ImageSkiaRepDataView, gfx::ImageSkiaRep> {
+ static SkBitmap bitmap(const gfx::ImageSkiaRep& input) {
+ return input.sk_bitmap();
+ }
+ static float scale(const gfx::ImageSkiaRep& input);
+
+ static bool IsNull(const gfx::ImageSkiaRep& input) { return input.is_null(); }
+ static void SetToNull(gfx::ImageSkiaRep* out) { *out = gfx::ImageSkiaRep(); }
+
+ static bool Read(gfx::mojom::ImageSkiaRepDataView data,
+ gfx::ImageSkiaRep* out);
+};
+
+template <>
+struct StructTraits<gfx::mojom::ImageSkiaDataView, gfx::ImageSkia> {
+ static void* SetUpContext(const gfx::ImageSkia& input);
+ static void TearDownContext(const gfx::ImageSkia& input, void* context);
+ static const std::vector<gfx::ImageSkiaRep>& image_reps(
+ const gfx::ImageSkia& input,
+ void* context);
+
+ static bool IsNull(const gfx::ImageSkia& input) {
+ return input.image_reps().empty();
+ }
+ static void SetToNull(gfx::ImageSkia* out) { *out = gfx::ImageSkia(); }
+
+ static bool Read(gfx::mojom::ImageSkiaDataView data, gfx::ImageSkia* out);
+};
+
+} // namespace mojo
+
+#endif // UI_GFX_IMAGE_MOJO_IMAGE_SKIA_STRUCT_TRAITS_H_
« no previous file with comments | « ui/gfx/image/mojo/image.typemap ('k') | ui/gfx/image/mojo/image_skia_struct_traits.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698