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

Unified Diff: cc/ipc/shared_quad_state.mojom

Issue 2032643002: Implement cc::SharedQuadState StructTraits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed StructTraits + added unittest Created 4 years, 7 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
Index: cc/ipc/shared_quad_state.mojom
diff --git a/cc/ipc/shared_quad_state.mojom b/cc/ipc/shared_quad_state.mojom
new file mode 100644
index 0000000000000000000000000000000000000000..0305033ff3b074c3b38db084a8a7876e5c816c13
--- /dev/null
+++ b/cc/ipc/shared_quad_state.mojom
@@ -0,0 +1,72 @@
+// Copyright 2016 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.
+
+module cc.mojom;
+
+import "ui/gfx/geometry/mojo/geometry.mojom";
+import "ui/gfx/mojo/transform.mojom";
+
+// TODO(fsamuel): This enum doesn't really belong here but SharedQuadState is
+// the only current consumer.
+enum SkXfermode {
danakj 2016/06/01 20:54:11 Erm. Include skia's header? Why are we reproducing
Fady Samuel 2016/06/01 21:02:49 In the long term, enums should be represented only
danakj 2016/06/01 21:04:20 Skia enums are going to be in mojoms? How are you
+ kClear_Mode = 0, //!< [0, 0]
+ kSrc_Mode, //!< [Sa, Sc]
+ kDst_Mode, //!< [Da, Dc]
+ kSrcOver_Mode, //!< [Sa + Da - Sa*Da, Rc = Sc + (1 - Sa)*Dc]
+ kDstOver_Mode, //!< [Sa + Da - Sa*Da, Rc = Dc + (1 - Da)*Sc]
+ kSrcIn_Mode, //!< [Sa * Da, Sc * Da]
+ kDstIn_Mode, //!< [Sa * Da, Sa * Dc]
+ kSrcOut_Mode, //!< [Sa * (1 - Da), Sc * (1 - Da)]
+ kDstOut_Mode, //!< [Da * (1 - Sa), Dc * (1 - Sa)]
+ kSrcATop_Mode, //!< [Da, Sc * Da + (1 - Sa) * Dc]
+ kDstATop_Mode, //!< [Sa, Sa * Dc + Sc * (1 - Da)]
+ kXor_Mode, //!< [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc]
+ kPlus_Mode, //!< [Sa + Da, Sc + Dc]
+ kModulate_Mode, // multiplies all components (= alpha and color)
+
+ // Following blend modes are defined in the CSS Compositing standard:
+ // https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blending
+ kScreen_Mode,
+ kLastCoeffMode = kScreen_Mode,
+
+ kOverlay_Mode,
+ kDarken_Mode,
+ kLighten_Mode,
+ kColorDodge_Mode,
+ kColorBurn_Mode,
+ kHardLight_Mode,
+ kSoftLight_Mode,
+ kDifference_Mode,
+ kExclusion_Mode,
+ kMultiply_Mode,
+ kLastSeparableMode = kMultiply_Mode,
+
+ kHue_Mode,
+ kSaturation_Mode,
+ kColor_Mode,
+ kLuminosity_Mode,
+ kLastMode = kLuminosity_Mode
+};
+
+
+struct SharedQuadState {
+ // gfx.mojom.Transforms quad rects into the target content space.
+ gfx.mojom.Transform quad_to_target_transform;
+
+ // The size of the quads' originating layer in the space of the quad rects.
+ gfx.mojom.Size quad_layer_bounds;
+
+ // The size of the visible area in the quads' originating layer, in the space
+ // of the quad rects.
+ gfx.mojom.Rect visible_quad_layer_rect;
+
+ // This rect lives in the target content space.
+ gfx.mojom.Rect clip_rect;
+
+ bool is_clipped;
+ float opacity;
+ SkXfermode blend_mode;
+ int32 sorting_context_id;
+};
+

Powered by Google App Engine
This is Rietveld 408576698