Commit 99c2aaad authored by Toni Barzic's avatar Toni Barzic Committed by Commit Bot

Add margin between items in folder icon to AppListConfig

The margin for small config is different than other (2 instead of 4), so
it cannot be just hardcoded in folder_image.

Updates how item image offset from the center of the folder icon is
calculated to 1/2 (item icon size + item margin), which matches the new
spec.

It's little different from the existing logic, where the item icon is
inset by 2 dip from the folder icon edge, but the numbers match for the
current (kShared) config.

BUG=996808

Change-Id: I4b5ffab257055d89ec612e60076af6cf6e24f841
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1779668Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Toni Baržić <tbarzic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#692849}
parent af3e704c
...@@ -26,9 +26,6 @@ namespace app_list { ...@@ -26,9 +26,6 @@ namespace app_list {
namespace { namespace {
// The margin of item icon in folder icon.
constexpr int kItemIconMargin = 2;
// The shadow blur of icon. // The shadow blur of icon.
constexpr int kIconShadowBlur = 5; constexpr int kIconShadowBlur = 5;
...@@ -189,10 +186,10 @@ std::vector<gfx::Rect> FolderImage::GetTopIconsBounds( ...@@ -189,10 +186,10 @@ std::vector<gfx::Rect> FolderImage::GetTopIconsBounds(
icon_center.y() - item_icon_dimension / 2, icon_center.y() - item_icon_dimension / 2,
item_icon_dimension, item_icon_dimension); item_icon_dimension, item_icon_dimension);
const int origin_offset = (AppListConfig::instance().folder_icon_dimension() - const int origin_offset =
item_icon_dimension) / (item_icon_dimension +
2 - AppListConfig::instance().item_icon_in_folder_icon_margin()) /
kItemIconMargin; 2;
const int scaled_folder_unclipped_icon_dimension = const int scaled_folder_unclipped_icon_dimension =
app_list_config.folder_unclipped_icon_dimension(); app_list_config.folder_unclipped_icon_dimension();
......
...@@ -225,7 +225,7 @@ int FolderClippedIconDimensionForType(ash::AppListConfigType type) { ...@@ -225,7 +225,7 @@ int FolderClippedIconDimensionForType(ash::AppListConfigType type) {
return FolderClippedIconDimensionForType(ash::AppListConfigType::kShared); return FolderClippedIconDimensionForType(ash::AppListConfigType::kShared);
} }
int ItemIconInFolderDimensionForType(ash::AppListConfigType type) { int ItemIconInFolderIconDimensionForType(ash::AppListConfigType type) {
switch (type) { switch (type) {
case ash::AppListConfigType::kShared: case ash::AppListConfigType::kShared:
case ash::AppListConfigType::kLarge: case ash::AppListConfigType::kLarge:
...@@ -237,7 +237,21 @@ int ItemIconInFolderDimensionForType(ash::AppListConfigType type) { ...@@ -237,7 +237,21 @@ int ItemIconInFolderDimensionForType(ash::AppListConfigType type) {
} }
NOTREACHED(); NOTREACHED();
return ItemIconInFolderDimensionForType(ash::AppListConfigType::kShared); return ItemIconInFolderIconDimensionForType(ash::AppListConfigType::kShared);
}
int ItemIconInFolderIconMarginForType(ash::AppListConfigType type) {
switch (type) {
case ash::AppListConfigType::kShared:
case ash::AppListConfigType::kLarge:
case ash::AppListConfigType::kMedium:
return 4;
case ash::AppListConfigType::kSmall:
return 2;
}
NOTREACHED();
return ItemIconInFolderIconMarginForType(ash::AppListConfigType::kShared);
} }
} // namespace } // namespace
...@@ -288,7 +302,8 @@ AppListConfig::AppListConfig(ash::AppListConfigType type) ...@@ -288,7 +302,8 @@ AppListConfig::AppListConfig(ash::AppListConfigType type)
folder_background_radius_(12), folder_background_radius_(12),
folder_bubble_color_(SkColorSetA(gfx::kGoogleGrey100, 0x7A)), folder_bubble_color_(SkColorSetA(gfx::kGoogleGrey100, 0x7A)),
item_icon_in_folder_icon_dimension_( item_icon_in_folder_icon_dimension_(
ItemIconInFolderDimensionForType(type)), ItemIconInFolderIconDimensionForType(type)),
item_icon_in_folder_icon_margin_(ItemIconInFolderIconMarginForType(type)),
folder_dropping_circle_radius_(folder_bubble_radius_), folder_dropping_circle_radius_(folder_bubble_radius_),
folder_dropping_delay_(0), folder_dropping_delay_(0),
folder_background_color_(gfx::kGoogleGrey100), folder_background_color_(gfx::kGoogleGrey100),
...@@ -397,6 +412,10 @@ AppListConfig::AppListConfig(const AppListConfig& base_config, ...@@ -397,6 +412,10 @@ AppListConfig::AppListConfig(const AppListConfig& base_config,
MinScale(base_config.item_icon_in_folder_icon_dimension_, MinScale(base_config.item_icon_in_folder_icon_dimension_,
scale_x, scale_x,
inner_tile_scale_y)), inner_tile_scale_y)),
item_icon_in_folder_icon_margin_(
MinScale(base_config.item_icon_in_folder_icon_margin_,
scale_x,
inner_tile_scale_y)),
folder_dropping_circle_radius_( folder_dropping_circle_radius_(
MinScale(base_config.folder_dropping_circle_radius_, MinScale(base_config.folder_dropping_circle_radius_,
scale_x, scale_x,
......
...@@ -125,6 +125,9 @@ class ASH_PUBLIC_EXPORT AppListConfig { ...@@ -125,6 +125,9 @@ class ASH_PUBLIC_EXPORT AppListConfig {
int item_icon_in_folder_icon_dimension() const { int item_icon_in_folder_icon_dimension() const {
return item_icon_in_folder_icon_dimension_; return item_icon_in_folder_icon_dimension_;
} }
int item_icon_in_folder_icon_margin() const {
return item_icon_in_folder_icon_margin_;
}
int folder_dropping_circle_radius() const { int folder_dropping_circle_radius() const {
return folder_dropping_circle_radius_; return folder_dropping_circle_radius_;
} }
...@@ -338,6 +341,9 @@ class ASH_PUBLIC_EXPORT AppListConfig { ...@@ -338,6 +341,9 @@ class ASH_PUBLIC_EXPORT AppListConfig {
// The dimension of the item icon in folder icon. // The dimension of the item icon in folder icon.
const int item_icon_in_folder_icon_dimension_; const int item_icon_in_folder_icon_dimension_;
// The margin between item icons inside a folder icon.
const int item_icon_in_folder_icon_margin_;
// Radius of the circle, in which if entered, show folder dropping preview // Radius of the circle, in which if entered, show folder dropping preview
// UI. // UI.
const int folder_dropping_circle_radius_; const int folder_dropping_circle_radius_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment