- add sources.
[platform/framework/web/crosswalk.git] / src / cc / resources / resource_update.h
1 // Copyright 2012 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 #ifndef CC_RESOURCES_RESOURCE_UPDATE_H_
6 #define CC_RESOURCES_RESOURCE_UPDATE_H_
7
8 #include "base/memory/ref_counted.h"
9 #include "cc/base/cc_export.h"
10 #include "skia/ext/refptr.h"
11 #include "ui/gfx/rect.h"
12 #include "ui/gfx/vector2d.h"
13
14 class SkBitmap;
15 class SkCanvas;
16
17 namespace cc {
18
19 class PrioritizedResource;
20
21 struct CC_EXPORT ResourceUpdate {
22   static ResourceUpdate Create(PrioritizedResource* resource,
23                                const SkBitmap* bitmap,
24                                gfx::Rect content_rect,
25                                gfx::Rect source_rect,
26                                gfx::Vector2d dest_offset);
27   static ResourceUpdate CreateFromCanvas(PrioritizedResource* resource,
28                                          const skia::RefPtr<SkCanvas>& canvas,
29                                          gfx::Rect content_rect,
30                                          gfx::Rect source_rect,
31                                          gfx::Vector2d dest_offset);
32
33   ResourceUpdate();
34   virtual ~ResourceUpdate();
35
36   PrioritizedResource* texture;
37   const SkBitmap* bitmap;
38   skia::RefPtr<SkCanvas> canvas;
39   gfx::Rect content_rect;
40   gfx::Rect source_rect;
41   gfx::Vector2d dest_offset;
42 };
43
44 }  // namespace cc
45
46 #endif  // CC_RESOURCES_RESOURCE_UPDATE_H_