| Index: ash/desktop_background/desktop_background_controller.h
|
| diff --git a/ash/desktop_background/desktop_background_controller.h b/ash/desktop_background/desktop_background_controller.h
|
| index 23302c8bbffa2ee5d9614a2e261afed3125a045e..a93de632b7e9f160f660e70676179d7805b5b5d9 100644
|
| --- a/ash/desktop_background/desktop_background_controller.h
|
| +++ b/ash/desktop_background/desktop_background_controller.h
|
| @@ -6,7 +6,6 @@
|
| #define ASH_DESKTOP_BACKGROUND_DESKTOP_BACKGROUND_CONTROLLER_H_
|
|
|
| #include "ash/ash_export.h"
|
| -#include "ash/desktop_background/desktop_background_resources.h"
|
| #include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/memory/weak_ptr.h"
|
| @@ -24,6 +23,31 @@ class RootWindow;
|
|
|
| namespace ash {
|
|
|
| +enum WallpaperLayout {
|
| + WALLPAPER_LAYOUT_CENTER,
|
| + WALLPAPER_LAYOUT_CENTER_CROPPED,
|
| + WALLPAPER_LAYOUT_STRETCH,
|
| + WALLPAPER_LAYOUT_TILE,
|
| +};
|
| +
|
| +enum WallpaperResolution {
|
| + WALLPAPER_RESOLUTION_LARGE,
|
| + WALLPAPER_RESOLUTION_SMALL
|
| +};
|
| +
|
| +const SkColor kLoginWallpaperColor = 0xFEFEFE;
|
| +
|
| +// Encapsulates wallpaper infomation needed by desktop background controller.
|
| +struct ASH_EXPORT WallpaperInfo {
|
| + int idr;
|
| + WallpaperLayout layout;
|
| +};
|
| +
|
| +ASH_EXPORT extern const WallpaperInfo kDefaultLargeWallpaper;
|
| +ASH_EXPORT extern const WallpaperInfo kDefaultSmallWallpaper;
|
| +ASH_EXPORT extern const WallpaperInfo kGuestLargeWallpaper;
|
| +ASH_EXPORT extern const WallpaperInfo kGuestSmallWallpaper;
|
| +
|
| // The width and height of small/large resolution wallpaper. When screen size is
|
| // smaller than |kSmallWallpaperMaxWidth| and |kSmallWallpaperMaxHeight|, the
|
| // small resolution wallpaper should be used. Otherwise, uses the large
|
| @@ -64,21 +88,16 @@ class ASH_EXPORT DesktopBackgroundController : public aura::WindowObserver {
|
| // is no image, e.g. background is solid color.
|
| gfx::ImageSkia GetCurrentWallpaperImage();
|
|
|
| + // Gets the IDR of current wallpaper. Returns -1 if current wallpaper is not
|
| + // a builtin wallpaper.
|
| + int GetWallpaperIDR() const;
|
| +
|
| // Initialize root window's background.
|
| void OnRootWindowAdded(aura::RootWindow* root_window);
|
|
|
| - // Loads default wallpaper at |index| asynchronously but does not set the
|
| - // loaded image to current wallpaper. Resource bundle will cache the loaded
|
| - // image.
|
| - void CacheDefaultWallpaper(int index);
|
| -
|
| - // Loads default wallpaper at |index| asynchronously and sets to current
|
| - // wallpaper after loaded.
|
| - void SetDefaultWallpaper(int index);
|
| -
|
| - // Forces to reload the current default wallpaper. A different resolution
|
| - // wallpaper maybe loaded.
|
| - void ReloadDefaultWallpaper();
|
| + // Loads builtin wallpaper asynchronously and sets to current wallpaper after
|
| + // loaded.
|
| + void SetDefaultWallpaper(const WallpaperInfo& info);
|
|
|
| // Sets the user selected custom wallpaper. Called when user selected a file
|
| // from file system or changed the layout of wallpaper.
|
| @@ -116,7 +135,7 @@ class ASH_EXPORT DesktopBackgroundController : public aura::WindowObserver {
|
|
|
| private:
|
| // An operation to asynchronously loads wallpaper.
|
| - class WallpaperOperation;
|
| + class WallpaperLoader;
|
|
|
| struct WallpaperData;
|
|
|
| @@ -126,7 +145,7 @@ class ASH_EXPORT DesktopBackgroundController : public aura::WindowObserver {
|
|
|
| // Creates a new background widget and sets the background mode to image mode.
|
| // Called after wallpaper loaded successfully.
|
| - void OnWallpaperLoadCompleted(scoped_refptr<WallpaperOperation> wo);
|
| + void OnWallpaperLoadCompleted(scoped_refptr<WallpaperLoader> wl);
|
|
|
| // Adds layer with solid |color| to container |container_id| in |root_window|.
|
| ui::Layer* SetColorLayerForContainer(SkColor color,
|
| @@ -163,7 +182,7 @@ class ASH_EXPORT DesktopBackgroundController : public aura::WindowObserver {
|
| // The current wallpaper.
|
| scoped_ptr<WallpaperData> current_wallpaper_;
|
|
|
| - scoped_refptr<WallpaperOperation> wallpaper_op_;
|
| + scoped_refptr<WallpaperLoader> wallpaper_loader_;
|
|
|
| base::WeakPtrFactory<DesktopBackgroundController> weak_ptr_factory_;
|
|
|
|
|