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 10 namespace ash { 11 12 class ASH_EXPORT UserWallpaperDelegate { 13 public: ~UserWallpaperDelegate()14 virtual ~UserWallpaperDelegate() {} 15 16 // Returns the type of window animation that should be used when showing the 17 // wallpaper. 18 virtual int GetAnimationType() = 0; 19 20 // Returns the wallpaper animation duration in ms. A value of 0 indicates 21 // that the default should be used. 22 virtual int GetAnimationDurationOverride() = 0; 23 24 // Sets wallpaper animation duration in ms. Pass 0 to use the default. 25 virtual void SetAnimationDurationOverride(int animation_duration_in_ms) = 0; 26 27 // Should the slower initial animation be shown (as opposed to the faster 28 // animation that's used e.g. when switching from one user's wallpaper to 29 // another's on the login screen)? 30 virtual bool ShouldShowInitialAnimation() = 0; 31 32 // Updates current wallpaper. It may switch the size of wallpaper based on the 33 // current display's resolution. If |clear_cache| is true, all wallpaper 34 // cache should be cleared. This is required when the display's native 35 // resolution changes to a larger resolution (e.g. when hooked up a large 36 // external display) and we need to load a larger resolution wallpaper for the 37 // large display. All the previous small resolution wallpaper cache should be 38 // cleared. 39 virtual void UpdateWallpaper(bool clear_cache) = 0; 40 41 // Initialize wallpaper. 42 virtual void InitializeWallpaper() = 0; 43 44 // Opens the set wallpaper page in the browser. 45 virtual void OpenSetWallpaperPage() = 0; 46 47 // Returns true if user can open set wallpaper page. 48 virtual bool CanOpenSetWallpaperPage() = 0; 49 50 // Notifies delegate that wallpaper animation has finished. 51 virtual void OnWallpaperAnimationFinished() = 0; 52 53 // Notifies delegate that wallpaper boot animation has finished. 54 virtual void OnWallpaperBootAnimationFinished() = 0; 55 }; 56 57 } // namespace ash 58 59 #endif // ASH_DESKTOP_BACKGROUND_USER_WALLPAPER_DELEGATE_H_ 60