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 ASH_DESKTOP_BACKGROUND_USER_WALLPAPER_DELEGATE_H_ 6 #define ASH_DESKTOP_BACKGROUND_USER_WALLPAPER_DELEGATE_H_ 7 8 #include "ash/ash_export.h" 9 #include "ui/views/corewm/window_animations.h" 10 11 namespace ash { 12 13 class ASH_EXPORT UserWallpaperDelegate { 14 public: ~UserWallpaperDelegate()15 virtual ~UserWallpaperDelegate() {} 16 17 // Returns the type of window animation that should be used when showing the 18 // wallpaper. 19 virtual int GetAnimationType() = 0; 20 21 // Should the slower initial animation be shown (as opposed to the faster 22 // animation that's used e.g. when switching from one user's wallpaper to 23 // another's on the login screen)? 24 virtual bool ShouldShowInitialAnimation() = 0; 25 26 // Updates current wallpaper. It may switch the size of wallpaper based on the 27 // current display's resolution. 28 virtual void UpdateWallpaper() = 0; 29 30 // Initialize wallpaper. 31 virtual void InitializeWallpaper() = 0; 32 33 // Opens the set wallpaper page in the browser. 34 virtual void OpenSetWallpaperPage() = 0; 35 36 // Returns true if user can open set wallpaper page. Only guest user returns 37 // false currently. 38 virtual bool CanOpenSetWallpaperPage() = 0; 39 40 // Notifies delegate that wallpaper animation has finished. 41 virtual void OnWallpaperAnimationFinished() = 0; 42 43 // Notifies delegate that wallpaper boot animation has finished. 44 virtual void OnWallpaperBootAnimationFinished() = 0; 45 }; 46 47 } // namespace ash 48 49 #endif // ASH_DESKTOP_BACKGROUND_USER_WALLPAPER_DELEGATE_H_ 50