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

Side by Side Diff: ui/compositor/layer.h

Issue 1002393002: Change ui::wm::Shadow to pass ImageSkia instead of SkBitmap. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Handle device scale factor change. Created 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | ui/compositor/layer.cc » ('j') | ui/compositor/layer.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_COMPOSITOR_LAYER_H_ 5 #ifndef UI_COMPOSITOR_LAYER_H_
6 #define UI_COMPOSITOR_LAYER_H_ 6 #define UI_COMPOSITOR_LAYER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 10 matching lines...) Expand all
21 #include "cc/layers/texture_layer_client.h" 21 #include "cc/layers/texture_layer_client.h"
22 #include "cc/resources/texture_mailbox.h" 22 #include "cc/resources/texture_mailbox.h"
23 #include "cc/surfaces/surface_id.h" 23 #include "cc/surfaces/surface_id.h"
24 #include "third_party/skia/include/core/SkColor.h" 24 #include "third_party/skia/include/core/SkColor.h"
25 #include "third_party/skia/include/core/SkRegion.h" 25 #include "third_party/skia/include/core/SkRegion.h"
26 #include "ui/compositor/compositor.h" 26 #include "ui/compositor/compositor.h"
27 #include "ui/compositor/layer_animation_delegate.h" 27 #include "ui/compositor/layer_animation_delegate.h"
28 #include "ui/compositor/layer_delegate.h" 28 #include "ui/compositor/layer_delegate.h"
29 #include "ui/compositor/layer_type.h" 29 #include "ui/compositor/layer_type.h"
30 #include "ui/gfx/geometry/rect.h" 30 #include "ui/gfx/geometry/rect.h"
31 #include "ui/gfx/image/image_skia.h"
31 #include "ui/gfx/transform.h" 32 #include "ui/gfx/transform.h"
32 33
33 class SkCanvas; 34 class SkCanvas;
34 35
35 namespace cc { 36 namespace cc {
36 class ContentLayer; 37 class ContentLayer;
37 class CopyOutputRequest; 38 class CopyOutputRequest;
38 class DelegatedFrameProvider; 39 class DelegatedFrameProvider;
39 class DelegatedRendererLayer; 40 class DelegatedRendererLayer;
40 class Layer; 41 class Layer;
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 return texture_layer_.get() || delegated_renderer_layer_.get() || 294 return texture_layer_.get() || delegated_renderer_layer_.get() ||
294 surface_layer_.get(); 295 surface_layer_.get();
295 } 296 }
296 297
297 // Show a solid color instead of delegated or surface contents. 298 // Show a solid color instead of delegated or surface contents.
298 void SetShowSolidColorContent(); 299 void SetShowSolidColorContent();
299 300
300 // Sets the layer's fill color. May only be called for LAYER_SOLID_COLOR. 301 // Sets the layer's fill color. May only be called for LAYER_SOLID_COLOR.
301 void SetColor(SkColor color); 302 void SetColor(SkColor color);
302 303
303 // Updates the nine patch layer's bitmap, aperture and border. May only be 304 // Updates the nine patch layer's image, aperture and border. May only be
304 // called for LAYER_NINE_PATCH. 305 // called for LAYER_NINE_PATCH.
305 void UpdateNinePatchLayerBitmap(const SkBitmap& bitmap); 306 void UpdateNinePatchLayerImage(const gfx::ImageSkia& image);
306 void UpdateNinePatchLayerAperture(const gfx::Rect& aperture); 307 void UpdateNinePatchLayerAperture(const gfx::Rect& aperture);
307 void UpdateNinePatchLayerBorder(const gfx::Rect& border); 308 void UpdateNinePatchLayerBorder(const gfx::Rect& border);
308 309
309 // Adds |invalid_rect| to the Layer's pending invalid rect and calls 310 // Adds |invalid_rect| to the Layer's pending invalid rect and calls
310 // ScheduleDraw(). Returns false if the paint request is ignored. 311 // ScheduleDraw(). Returns false if the paint request is ignored.
311 bool SchedulePaint(const gfx::Rect& invalid_rect); 312 bool SchedulePaint(const gfx::Rect& invalid_rect);
312 313
313 // Schedules a redraw of the layer tree at the compositor. 314 // Schedules a redraw of the layer tree at the compositor.
314 // Note that this _does not_ invalidate any region of this layer; use 315 // Note that this _does not_ invalidate any region of this layer; use
315 // SchedulePaint() for that. 316 // SchedulePaint() for that.
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 scoped_refptr<cc::NinePatchLayer> nine_patch_layer_; 506 scoped_refptr<cc::NinePatchLayer> nine_patch_layer_;
506 scoped_refptr<cc::TextureLayer> texture_layer_; 507 scoped_refptr<cc::TextureLayer> texture_layer_;
507 scoped_refptr<cc::SolidColorLayer> solid_color_layer_; 508 scoped_refptr<cc::SolidColorLayer> solid_color_layer_;
508 scoped_refptr<cc::DelegatedRendererLayer> delegated_renderer_layer_; 509 scoped_refptr<cc::DelegatedRendererLayer> delegated_renderer_layer_;
509 scoped_refptr<cc::SurfaceLayer> surface_layer_; 510 scoped_refptr<cc::SurfaceLayer> surface_layer_;
510 cc::Layer* cc_layer_; 511 cc::Layer* cc_layer_;
511 512
512 // A cached copy of |Compositor::device_scale_factor()|. 513 // A cached copy of |Compositor::device_scale_factor()|.
513 float device_scale_factor_; 514 float device_scale_factor_;
514 515
516 // A cached copy of the nine patch layer's image and aperture.
517 // These are required for device scale factor change.
518 gfx::ImageSkia nine_patch_layer_image_;
519 gfx::Rect nine_patch_layer_aperture_;
520
515 // The mailbox used by texture_layer_. 521 // The mailbox used by texture_layer_.
516 cc::TextureMailbox mailbox_; 522 cc::TextureMailbox mailbox_;
517 523
518 // The callback to release the mailbox. This is only set after 524 // The callback to release the mailbox. This is only set after
519 // SetTextureMailbox is called, before we give it to the TextureLayer. 525 // SetTextureMailbox is called, before we give it to the TextureLayer.
520 scoped_ptr<cc::SingleReleaseCallback> mailbox_release_callback_; 526 scoped_ptr<cc::SingleReleaseCallback> mailbox_release_callback_;
521 527
522 // The size of the frame or texture in DIP, set when SetShowDelegatedContent 528 // The size of the frame or texture in DIP, set when SetShowDelegatedContent
523 // or SetTextureMailbox was called. 529 // or SetTextureMailbox was called.
524 gfx::Size frame_size_in_dip_; 530 gfx::Size frame_size_in_dip_;
525 531
526 DISALLOW_COPY_AND_ASSIGN(Layer); 532 DISALLOW_COPY_AND_ASSIGN(Layer);
527 }; 533 };
528 534
529 } // namespace ui 535 } // namespace ui
530 536
531 #endif // UI_COMPOSITOR_LAYER_H_ 537 #endif // UI_COMPOSITOR_LAYER_H_
OLDNEW
« no previous file with comments | « no previous file | ui/compositor/layer.cc » ('j') | ui/compositor/layer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698