Home | History | Annotate | Download | only in surfaces_app
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "mojo/examples/surfaces_app/surfaces_util.h"
      6 
      7 #include "cc/quads/render_pass.h"
      8 #include "cc/quads/shared_quad_state.h"
      9 #include "ui/gfx/rect.h"
     10 #include "ui/gfx/size.h"
     11 #include "ui/gfx/transform.h"
     12 
     13 namespace mojo {
     14 namespace examples {
     15 
     16 using cc::SharedQuadState;
     17 
     18 void CreateAndAppendSimpleSharedQuadState(cc::RenderPass* render_pass,
     19                                           const gfx::Transform& transform,
     20                                           const gfx::Size& size) {
     21   const gfx::Size content_bounds = size;
     22   const gfx::Rect visible_content_rect = gfx::Rect(size);
     23   const gfx::Rect clip_rect = gfx::Rect(size);
     24   bool is_clipped = false;
     25   float opacity = 1.f;
     26   const SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode;
     27   SharedQuadState* shared_state = render_pass->CreateAndAppendSharedQuadState();
     28   shared_state->SetAll(transform,
     29                        content_bounds,
     30                        visible_content_rect,
     31                        clip_rect,
     32                        is_clipped,
     33                        opacity,
     34                        blend_mode,
     35                        0);
     36 }
     37 
     38 }  // namespace mojo
     39 }  // namespace examples
     40