OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef ASH_COMMON_SYSTEM_CHROMEOS_NETWORK_NETWORK_ICON_H_ | |
6 #define ASH_COMMON_SYSTEM_CHROMEOS_NETWORK_NETWORK_ICON_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "ash/ash_export.h" | |
11 #include "base/strings/string16.h" | |
12 #include "ui/gfx/image/image_skia.h" | |
13 | |
14 namespace chromeos { | |
15 class NetworkState; | |
16 } | |
17 | |
18 namespace ash { | |
19 namespace network_icon { | |
20 | |
21 // Type of icon which dictates color theme and VPN badging | |
22 enum IconType { | |
23 ICON_TYPE_TRAY, // light icons with VPN badges | |
24 ICON_TYPE_DEFAULT_VIEW, // dark icons with VPN badges | |
25 ICON_TYPE_LIST, // dark icons without VPN badges; in-line status | |
26 ICON_TYPE_MENU_LIST, // dark icons without VPN badges; separate status | |
27 }; | |
28 | |
29 // Gets the image for provided |network|. |network| must not be NULL. | |
30 // |icon_type| determines the color theme and whether or not to show the VPN | |
31 // badge. This caches badged icons per network per |icon_type|. | |
32 ASH_EXPORT gfx::ImageSkia GetImageForNetwork( | |
33 const chromeos::NetworkState* network, | |
34 IconType icon_type); | |
35 | |
36 // Gets the full strength image for a Wi-Fi network. | |
37 // TODO(estade): Expose SignalStrengthImageSource and use that instead. | |
38 ASH_EXPORT gfx::ImageSkia GetImageForConnectedMobileNetwork(); | |
39 | |
40 // Gets the disconnected image for a cell network. | |
41 // TODO(estade): Expose SignalStrengthImageSource and use that instead. | |
42 ASH_EXPORT gfx::ImageSkia GetImageForDisconnectedCellNetwork(); | |
43 | |
44 // Gets the full strength image for a Wi-Fi network using |icon_color| for the | |
45 // main icon and |badge_color| for the badge. | |
46 ASH_EXPORT gfx::ImageSkia GetImageForNewWifiNetwork(SkColor icon_color, | |
47 SkColor badge_color); | |
48 | |
49 // Returns the label for |network| based on |icon_type|. |network| cannot be | |
50 // nullptr. | |
51 ASH_EXPORT base::string16 GetLabelForNetwork( | |
52 const chromeos::NetworkState* network, | |
53 IconType icon_type); | |
54 | |
55 // Updates and returns the appropriate message id if the cellular network | |
56 // is uninitialized. | |
57 ASH_EXPORT int GetCellularUninitializedMsg(); | |
58 | |
59 // Gets the correct icon and label for |icon_type|. Also sets |animating| | |
60 // based on whether or not the icon is animating (i.e. connecting). | |
61 ASH_EXPORT void GetDefaultNetworkImageAndLabel(IconType icon_type, | |
62 gfx::ImageSkia* image, | |
63 base::string16* label, | |
64 bool* animating); | |
65 | |
66 // Called when the list of networks changes. Retreives the list of networks | |
67 // from the global NetworkStateHandler instance and removes cached entries | |
68 // that are no longer in the list. | |
69 ASH_EXPORT void PurgeNetworkIconCache(); | |
70 | |
71 } // namespace network_icon | |
72 } // namespace ash | |
73 | |
74 #endif // ASH_COMMON_SYSTEM_CHROMEOS_NETWORK_NETWORK_ICON_H_ | |
OLD | NEW |