/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.

For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/

using "ui/basic.style";
using "ui/widgets/widgets.style";
using "overview/overview.style";

MediaPlayerButton {
	playPosition: point;
	playOuter: size;
	pausePosition: point;
	pauseOuter: size;
	pauseStroke: pixels;
	cancelPosition: point;
	cancelOuter: size;
	cancelStroke: pixels;

	rippleAreaPosition: point;
	rippleAreaSize: pixels;
	ripple: RippleAnimation;

	duration: int;
}

MediaSpeedMenu {
	dropdown: DropdownMenu;
	activeCheck: icon;
	activeCheckSkip: pixels;
	sliderStyle: TextStyle;
	sliderPadding: margins;
	sliderWidth: pixels;
	slider: MediaSlider;

	slow: icon;
	slowActive: icon;
	normal: icon;
	normalActive: icon;
	medium: icon;
	mediumActive: icon;
	fast: icon;
	fastActive: icon;
	veryFast: icon;
	veryFastActive: icon;
	superFast: icon;
	superFastActive: icon;
}

MediaSpeedButton {
	size: size;
	padding: margins;
	font: font;
	fg: color;
	overFg: color;
	activeFg: color;
	icon: icon;
	ripple: RippleAnimation;
	rippleActiveColor: color;
	rippleRadius: pixels;
	menu: MediaSpeedMenu;
	menuAlign: align;
}

mediaPlayerButton: MediaPlayerButton {
	playPosition: point(2px, 0px);
	playOuter: size(17px, 15px);
	pausePosition: point(1px, 1px);
	pauseOuter: size(15px, 15px);
	pauseStroke: 5px;
	cancelPosition: point(1px, 1px);
	cancelOuter: size(15px, 15px);
	cancelStroke: 3px;

	rippleAreaPosition: point(0px, 5px);
	rippleAreaSize: 25px;
	ripple: RippleAnimation(defaultRippleAnimation) {
		color: lightButtonBgOver;
	}

	duration: 200;
}
mediaPlayerWideWidth: 460px;
mediaPlayerHeight: 35px;
mediaPlayerPadding: 8px;
mediaPlayerNameTop: 22px;
mediaPlayerPlayLeft: 9px;
mediaPlayerPlaySkip: 1px;
mediaPlayerPlayTop: 0px;
mediaPlayerCloseRight: 0px;

mediaPlayerName: FlatLabel(defaultFlatLabel) {
	maxHeight: 20px;
}
mediaPlayerTime: LabelSimple(defaultLabelSimple) {
	textFg: windowSubTextFg;
}

mediaPlayerRepeatButton: IconButton {
	width: 30px;
	height: 30px;

	icon: icon {
		{ "player/player_repeat", mediaPlayerActiveFg }
	};
	iconPosition: point(3px, 6px);

	rippleAreaPosition: point(2px, 6px);
	rippleAreaSize: 24px;
	ripple: RippleAnimation(defaultRippleAnimation) {
		color: lightButtonBgOver;
	}
}
mediaPlayerRepeatDisabledIcon: icon {
	{ "player/player_repeat", menuIconFg }
};
mediaPlayerRepeatDisabledIconOver: icon {
	{ "player/player_repeat", menuIconFgOver }
};
mediaPlayerRepeatOneIcon: icon {
	{ "player/player_repeat_single", mediaPlayerActiveFg }
};
mediaPlayerReverseIcon: icon {
	{ "player/player_order", mediaPlayerActiveFg }
};
mediaPlayerReverseDisabledIcon: icon {
	{ "player/player_order", menuIconFg }
};
mediaPlayerReverseDisabledIconOver: icon {
	{ "player/player_order", menuIconFgOver }
};
mediaPlayerShuffleIcon: icon {
	{ "player/player_shuffle", mediaPlayerActiveFg }
};
mediaPlayerRepeatDisabledRippleBg: windowBgOver;

mediaPlayerPlayButton: IconButton(mediaPlayerRepeatButton) {
	width: 24px;
	icon: icon{
		{ "player/player_play", mediaPlayerActiveFg }
	};
	iconPosition: point(0px, 5px);
	rippleAreaPosition: point(0px, 5px);
	rippleAreaSize: 24px;
}
mediaPlayerPauseIcon: icon{
	{ "player/player_pause", mediaPlayerActiveFg }
};
mediaPlayerCancelIcon: icon{
	{ "player/panel_close", mediaPlayerActiveFg }
};

mediaPlayerMenu: DropdownMenu(defaultDropdownMenu) {
	wrap: InnerDropdown(defaultInnerDropdown) {
		scrollPadding: margins(0px, 4px, 0px, 4px);
		padding: margins(10px, 2px, 10px, 10px);
	}
}
mediaPlayerMenuCheck: icon {{ "player/player_check", mediaPlayerActiveFg }};

mediaPlayerSpeedMenu: MediaSpeedMenu {
	dropdown: DropdownMenu(mediaPlayerMenu) {
		menu: Menu(menuWithIcons) {
			separator: MenuSeparator(defaultMenuSeparator) {
				padding: margins(0px, 4px, 0px, 4px);
				width: 6px;
			}
			itemPadding: margins(54px, 7px, 54px, 9px);
			itemFgDisabled: mediaPlayerActiveFg;
		}
	}
	activeCheck: mediaPlayerMenuCheck;
	activeCheckSkip: 8px;
	sliderStyle: TextStyle(defaultTextStyle) {
		font: font(12px semibold);
	}
	sliderPadding: margins(50px, 8px, 12px, 8px);
	sliderWidth: 122px;
	slider: MediaSlider(defaultContinuousSlider) {
		activeFg: mediaPlayerActiveFg;
		inactiveFg: windowBgOver;
		activeFgOver: mediaPlayerActiveFg;
		inactiveFgOver: windowBgOver;
		activeFgDisabled: windowBgOver;
		receivedTillFg: windowBgOver;
		width: 6px;
		seekSize: size(6px, 6px);
	}

	slow: playerSpeedSlow;
	slowActive: playerSpeedSlowActive;
	normal: playerSpeedNormal;
	normalActive: playerSpeedNormalActive;
	medium: playerSpeedMedium;
	mediumActive: playerSpeedMediumActive;
	fast: playerSpeedFast;
	fastActive: playerSpeedFastActive;
	veryFast: playerSpeedVeryFast;
	veryFastActive: playerSpeedVeryFastActive;
	superFast: playerSpeedSuperFast;
	superFastActive: playerSpeedSuperFastActive;
}

mediaPlayerSpeedButton: MediaSpeedButton {
	size: size(30px, 30px);
	padding: margins(0px, 6px, 0px, 0px);
	font: font(11px bold);
	fg: menuIconFg;
	overFg: menuIconFgOver;
	activeFg: mediaPlayerActiveFg;
	icon: icon{{ "player/player_speed", menuIconFg }};
	ripple: RippleAnimation(defaultRippleAnimation) {
		color: windowBgOver;
	}
	rippleActiveColor: lightButtonBgOver;
	rippleRadius: 4px;
	menu: mediaPlayerSpeedMenu;
	menuAlign: align(topright);
}

mediaPlayerVolumeIcon0: icon {
	{ "player/player_mini_off", mediaPlayerActiveFg },
};
mediaPlayerVolumeIcon1: icon {
	{ "player/player_mini_half", mediaPlayerActiveFg },
};
mediaPlayerVolumeToggle: IconButton(mediaPlayerRepeatButton) {
	width: 34px;
	icon: icon {
		{ "player/player_mini_full", mediaPlayerActiveFg },
	};
	iconPosition: point(5px, 6px);
	rippleAreaPosition: point(4px, 5px);
}
mediaPlayerVolumeMargin: 10px;
mediaPlayerVolumeSize: size(27px, 100px);

mediaPlayerControlsFade: icon {{ "fade_horizontal", mediaPlayerBg }};

mediaPlayerNextButton: IconButton(mediaPlayerPlayButton) {
	icon: icon {
		{ "player/player_forward", mediaPlayerActiveFg },
	};
}
mediaPlayerNextDisabledIcon: icon {
	{ "player/player_forward", mediaPlayerInactiveFg },
};
mediaPlayerPreviousButton: IconButton(mediaPlayerNextButton) {
	icon: icon {
		{ "player/player_backward", mediaPlayerActiveFg },
	};
}
mediaPlayerPreviousDisabledIcon: icon {
	{ "player/player_backward", mediaPlayerInactiveFg },
};

touchBarIconPlayerClose: icon {{ "player/panel_close", windowFg }};
touchBarIconPlayerPlay: icon {{ "media_play", windowFg }};
touchBarIconPlayerPause: icon {{ "media_pause", windowFg }};
touchBarIconPlayerNext: icon {{ "player/player_forward", windowFg }};
touchBarIconPlayerPrevious: icon {{ "player/player_backward", windowFg }};

mediaPlayerClose: IconButton(mediaPlayerRepeatButton) {
	width: 39px;
	icon: icon {{ "player/panel_close", menuIconFg }};
	iconOver: icon {{ "player/panel_close", menuIconFgOver }};
	iconPosition: point(5px, 6px);

	rippleAreaPosition: point(4px, 5px);
	ripple: RippleAnimation(defaultRippleAnimation) {
		color: windowBgOver;
	}
}
mediaPlayerPlayback: FilledSlider {
	fullWidth: 6px;
	lineWidth: 2px;
	activeFg: mediaPlayerActiveFg;
	inactiveFg: mediaPlayerInactiveFg;
	disabledFg: mediaPlayerDisabledFg;
	duration: 150;
}

mediaPlayerPanelMarginLeft: 10px;
mediaPlayerPanelMarginBottom: 10px;
mediaPlayerPanelWidth: 344px;

mediaPlayerPanelNextButton: IconButton(mediaPlayerRepeatButton) {
	width: 37px;
	icon: icon {{ "player/player_forward", mediaPlayerActiveFg, point(6px, 4px) }};
}

mediaPlayerPanelPlaybackPadding: 8px;
mediaPlayerPanelPlayback: defaultContinuousSlider;

mediaPlayerPanelVolumeWidth: 64px;

mediaPlayerScroll: ScrollArea(defaultSolidScroll) {
	deltat: 10px;
	deltab: 10px;
}
mediaPlayerListHeightMax: 280px;
mediaPlayerListMarginBottom: 10px;

mediaPlayerFileLayout: OverviewFileLayout(overviewFileLayout) {
	maxWidth: 344px;
	songIconBg: mediaPlayerActiveFg;
	songOverBg: mediaPlayerActiveFg;
}

mediaPlayerFloatSize: 128px;
mediaPlayerFloatMargin: 12px;

mediaPlayerMenuPosition: point(-2px, -1px);
mediaPlayerOrderMenu: Menu(defaultMenu) {
	itemIconPosition: point(13px, 8px);
	itemPadding: margins(49px, 9px, 17px, 11px);
	itemStyle: boxTextStyle;
}
mediaPlayerOrderMenuActive: Menu(mediaPlayerOrderMenu) {
	itemFg: windowActiveTextFg;
	itemFgOver: windowActiveTextFg;
}
mediaPlayerOrderIconReverse: icon{{ "player/player_order", windowFg }};
mediaPlayerOrderIconReverseActive: icon{{ "player/player_order", windowActiveTextFg }};
mediaPlayerOrderIconShuffle: icon{{ "player/player_shuffle", windowFg }};
mediaPlayerOrderIconShuffleActive: icon{{ "player/player_shuffle", windowActiveTextFg }};
