/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org

Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

In addition, as a special exception, the copyright holders give permission
to link the code of portions of this program with the OpenSSL library.

Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
*/
textStyle {
	linkFlags: font;
	linkFlagsOver: font;
	linkFg: color;
	linkFgDown: color;
	monoFg: color;
	selectBg: color;
	selectOverlay: color;
	lineHeight: number;
}

linkButton {
	color: color;
	overColor: color;
	downColor: color;
	font: font;
	overFont: font;
}

sysButton {
	size: size;
	img: sprite;
	color: color;
	overColor: color;
	duration: number;
}

flatButton {
	color: color;
	overColor: color;
	downColor: color;

	bgColor: color;
	overBgColor: color;
	downBgColor: color;

	width: number;
	height: number;

	textTop: number;
	overTextTop: number;
	downTextTop: number;

	font: font;
	overFont: font;
	duration: number;
	cursor: cursor;
}

iconedButton {
	icon: sprite;
	iconPos: point;
	downIcon: sprite;
	downIconPos: point;

	color: color;
	bgColor: color;
	overBgColor: color;
	width: number;
	height: number;
	font: font;

	opacity: number;
	overOpacity: number;

	textPos: point;
	downTextPos: point;

	duration: number;
	cursor: cursor;
}

flatCheckbox {
	textColor: color;
	bgColor: color;
	disColor: color;

	width: number;
	height: number;
	textTop: number;
	textLeft: number;
	font: font;
	duration: number;
	bgFunc: transition;
	cursor: cursor;

	disabledCursor: cursor;

	imageRect: sprite;
	chkImageRect: sprite;
	overImageRect: sprite;
	chkOverImageRect: sprite;
	disImageRect: sprite;
	chkDisImageRect: sprite;

	imagePos: point;
}

flatInput {
	textColor: color;
	bgColor: color;
	bgActive: color;
	width: number;
	height: number;
	textMrg: margins;
	align: align;
	font: font;
	cursor: cursor;

	imgRect: sprite;
	imgPos: point;

	borderWidth: number;
	borderColor: color;
	borderActive: color;
	borderError: color;

	phColor: color;
	phFocusColor: color;
	phPos: point;
	phAlign: align;
	phShift: number;
	phDuration: number;
	phLeftFunc: transition;
	phAlphaFunc: transition;
	phColorFunc: transition;
}

flatTextarea {
	textColor: color;
	bgColor: color;
	width: number;
	textMrg: margins;
	align: align;
	font: font;
	cursor: cursor;

	phColor: color;
	phFocusColor: color;
	phPos: point;
	phAlign: align;
	phShift: number;
	phDuration: number;
	phLeftFunc: transition;
	phAlphaFunc: transition;
	phColorFunc: transition;
}

flatScroll {
	barColor: color;
	bgColor: color;
	barOverColor: color;
	bgOverColor: color;

	round: number;

	width: number;
	minHeight: number;
	deltax: number;
	deltat: number;
	deltab: number;

	topsh: number;
	bottomsh: number;
	shColor: color;

	duration: number;
	hiding: number;
}

countryInput {
	width: number;
	height: number;
	top: number;
	bgColor: color;
	ptrSize: size;
	textMrg: margins;
	font: font;
	align: align;
}

slider {
	color: color;
	thikness: number;

	width: number;
	bar: sprite;
}

flatLabel {
	font: font;
	minWidth: number;
	width: number;
	align: align;
}

switcher {
	border: number;
	borderColor: color;

	bgColor: color;
	bgHovered: color;
	bgActive: color;

	height: number;

	font: font;
	textColor: color;
	activeColor: color;

	duration: number;
}

dropdown {
	border: number;
	borderColor: color;

	padding: margins;
	shadow: sprite;
	shadowShift: number;

	duration: number;
	width: number;
}

PopupMenu {
	skip: number;

	shadow: sprite;
	shadowShift: number;

	itemBg: color;
	itemBgOver: color;
	itemFg: color;
	itemFgOver: color;
	itemFgDisabled: color;
	itemFgShortcut: color;
	itemFgShortcutOver: color;
	itemFgShortcutDisabled: color;
	itemPadding: margins;
	itemFont: font;

	separatorPadding: margins;
	separatorWidth: number;
	separatorFg: color;

	arrow: sprite;

	duration: number;

	widthMin: number;
	widthMax: number;
}

Tooltip {
	textBg: color;
	textFg: color;
	textFont: font;
	textBorder: color;
	textPadding: margins;

	shift: point;
	skip: number;

	widthMax: number;
	linesMax: number;
}

botKeyboardButton {
	margin: number;
	padding: number;
	height: number;
	textTop: number;
	downTextTop: number;
}

BoxButton {
	textFg: color;
	textFgOver: color;
	textBg: color; // rect of textBg with rounded rect of textBgOver upon it
	textBgOver: color;

	width: number;
	height: number;

	textTop: number;

	font: font;
	duration: number;
}

Checkbox {
	textFg: color;
	textBg: color;

	checkFg: color;
	checkFgOver: color;
	checkFgActive: color;

	width: number;
	height: number;

	textPosition: point;
	diameter: number;
	thickness: number;
	checkIcon: sprite;

	font: font;
	duration: number;
}

Radiobutton {
	textFg: color;
	textBg: color;

	checkFg: color;
	checkFgOver: color;
	checkFgActive: color;

	width: number;
	height: number;

	textPosition: point;
	diameter: number;
	thickness: number;
	checkSkip: number;

	font: font;
	duration: number;
}

InputArea {
	textFg: color;
	textMargins: margins;

	placeholderFg: color;
	placeholderFgActive: color;
	placeholderMargins: margins;
	placeholderAlign: align;
	placeholderShift: number;

	duration: number;

	borderFg: color;
	borderFgActive: color;
	borderFgError: color;

	border: number;
	borderActive: number;
	borderError: number;

	font: font;

	width: number;
	heightMin: number;
	heightMax: number;
}

InputField {
	textFg: color;
	textMargins: margins;
	textAlign: align;

	placeholderFg: color;
	placeholderFgActive: color;
	placeholderMargins: margins;
	placeholderAlign: align;
	placeholderShift: number;

	duration: number;

	borderFg: color;
	borderFgActive: color;
	borderFgError: color;

	border: number;
	borderActive: number;
	borderError: number;

	font: font;

	width: number;
	height: number;

	iconSprite: sprite;
	iconPosition: point;
}

PeerAvatarButton {
	size: number;
	photoSize: number;
}
