Index: mojo/services/public/interfaces/surfaces/quads.mojom |
diff --git a/mojo/services/public/interfaces/surfaces/quads.mojom b/mojo/services/public/interfaces/surfaces/quads.mojom |
index be4a90548b8fe615f8dbabee7cd5680e4842a3ca..5b83d6a4042f50f8efc1d1663f520ee7b9ec56cc 100644 |
--- a/mojo/services/public/interfaces/surfaces/quads.mojom |
+++ b/mojo/services/public/interfaces/surfaces/quads.mojom |
@@ -18,7 +18,33 @@ struct DebugBorderQuadState {}; |
struct IoSurfaceContentQuadState {}; |
-struct RenderPassQuadState {}; |
+struct RenderPassId { |
+ int32 layer_id; |
+ int32 index; |
+}; |
+ |
+struct RenderPassQuadState { |
+ RenderPassId render_pass_id; |
+ |
+ // If nonzero, resource id of mask to use when drawing this pass. |
+ uint32 mask_resource_id; |
+ RectF mask_uv_rect; |
+ |
+ // Post-processing filters, applied to the pixels in the render pass' texture. |
+ // TODO(jamesr): Support |
+ // FilterOperations filters; |
+ |
+ // The scale from layer space of the root layer of the render pass to |
+ // the render pass physical pixels. This scale is applied to the filter |
+ // parameters for pixel-moving filters. This scale should include |
+ // content-to-target-space scale, and device pixel ratio. |
+ PointF filters_scale; |
+ |
+ // Post-processing filters, applied to the pixels showing through the |
+ // background of the render pass, from behind it. |
+ // TODO(jamesr): Support |
+ // FilterOperations background_filters; |
+}; |
struct SolidColorQuadState { |
Color color; |
@@ -32,14 +58,19 @@ struct SurfaceQuadState { |
struct TextureQuadState { |
uint32 resource_id; |
bool premultiplied_alpha; |
- mojo.PointF uv_top_left; |
- mojo.PointF uv_bottom_right; |
+ PointF uv_top_left; |
+ PointF uv_bottom_right; |
Color background_color; |
float[4] vertex_opacity; |
bool flipped; |
}; |
-struct TiledContentQuadState {}; |
+struct TileQuadState { |
+ RectF tex_coord_rect; |
+ Size texture_size; |
+ bool swizzle_contents; |
+ uint32 resource_id; |
+}; |
struct StreamVideoQuadState {}; |
@@ -64,15 +95,15 @@ struct Quad { |
// This rect, after applying the quad_transform(), gives the geometry that |
// this quad should draw to. This rect lives in content space. |
- mojo.Rect rect; |
+ Rect rect; |
// This specifies the region of the quad that is opaque. This rect lives in |
// content space. |
- mojo.Rect opaque_rect; |
+ Rect opaque_rect; |
// Allows changing the rect that gets drawn to make it smaller. This value |
// should be clipped to |rect|. This rect lives in content space. |
- mojo.Rect visible_rect; |
+ Rect visible_rect; |
// Allows changing the rect that gets drawn to make it smaller. This value |
// should be clipped to |rect|. This rect lives in content space. |
@@ -90,7 +121,7 @@ struct Quad { |
SolidColorQuadState? solid_color_quad_state; |
SurfaceQuadState? surface_quad_state; |
TextureQuadState? texture_quad_state; |
- TiledContentQuadState? tiled_content_quad_state; |
+ TileQuadState? tile_quad_state; |
StreamVideoQuadState? stream_video_quad_state; |
YUVVideoQuadState? yuv_video_quad_state; |
}; |
@@ -137,16 +168,16 @@ enum SkXfermode { |
struct SharedQuadState { |
// Transforms from quad's original content space to its target content space. |
- mojo.Transform content_to_target_transform; |
+ Transform content_to_target_transform; |
// This size lives in the content space for the quad's originating layer. |
- mojo.Size content_bounds; |
+ Size content_bounds; |
// This rect lives in the content space for the quad's originating layer. |
- mojo.Rect visible_content_rect; |
+ Rect visible_content_rect; |
// This rect lives in the target content space. |
- mojo.Rect clip_rect; |
+ Rect clip_rect; |
bool is_clipped; |
float opacity; |
@@ -156,9 +187,9 @@ struct SharedQuadState { |
struct Pass { |
int32 id; |
- mojo.Rect output_rect; |
- mojo.Rect damage_rect; |
- mojo.Transform transform_to_root_target; |
+ Rect output_rect; |
+ Rect damage_rect; |
+ Transform transform_to_root_target; |
bool has_transparent_background; |
Quad[] quads; |
SharedQuadState[] shared_quad_states; |