Копировать Выделить всё//== Файл Стартовый.os == начало Перем ДФ, Флажок1, Флажок2, Подпись1, Подпись2, Ползунок1, Ползунок2, Ползунок3, Куб, БлокВцентре, Икс, Игрек; Процедура Флажок1_ПриИзменении() Экспорт Ползунок1.Отключено = Не Флажок1.Помечен; Ползунок2.Отключено = Не Флажок1.Помечен; Ползунок3.Отключено = Не Флажок1.Помечен; Если Флажок1.Помечен Тогда Подпись1.Стиль.ЦветФона = ДФ.Цвет.БледноЗеленый; БлокВцентре.Стиль.Перспектива = Ползунок1.Значение; Иначе Подпись1.Стиль.ЦветФона = ДФ.Цвет.БелаяДымка; БлокВцентре.Стиль.Перспектива = "none"; КонецЕсли; КонецПроцедуры Процедура Флажок2_ПриИзменении() Экспорт Если Флажок2.Помечен Тогда Подпись2.Стиль.ЦветФона = ДФ.Цвет.БледноЗеленый; Куб.Стиль.Состояние = ДФ.Состояние.Запущена; Иначе Подпись2.Стиль.ЦветФона = ДФ.Цвет.БелаяДымка; Куб.Стиль.Состояние = ДФ.Состояние.Остановлена; КонецЕсли; КонецПроцедуры Процедура Ползунок1_Ввод() Экспорт Ползунок1.Стиль.РазмерКартинки = ДФ.Размер(ДФ.АргументыСобытия.Значение - 300, 7); БлокВцентре.Стиль.Перспектива = ДФ.АргументыСобытия.Значение; КонецПроцедуры Процедура Ползунок2_Ввод() Экспорт Ползунок2.Стиль.РазмерКартинки = ДФ.Размер(ДФ.АргументыСобытия.Значение + 100, 7); БлокВцентре.Стиль.ИсточникПерспективы = ДФ.ИсточникПерспективы(Икс, ДФ.АргументыСобытия.Значение); Игрек = ДФ.АргументыСобытия.Значение; КонецПроцедуры Процедура Ползунок3_Ввод() Экспорт Ползунок3.Стиль.РазмерКартинки = ДФ.Размер(ДФ.АргументыСобытия.Значение + 100, 7); БлокВцентре.Стиль.ИсточникПерспективы = ДФ.ИсточникПерспективы(ДФ.АргументыСобытия.Значение, Игрек); Икс = ДФ.АргументыСобытия.Значение КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\DeclarativeForms\DeclarativeForms\bin\Debug\DeclarativeForms.dll"); ДФ = Новый ДекларативныеФормы(); ДФ.cssПуть = "cub.css"; Форма1 = ДФ.Форма; Контент = Форма1.Контент; Контент.Стиль.Отображать = ДФ.Отображать.Гибкий; Контент.Стиль.РасположениеСодержимого = ДФ.РасположениеСодержимого.Вцентре; Контент.Стиль.ВыравниваниеЭлементов = ДФ.ВыравниваниеЭлементов.Центр; Контент.Стиль.Переполнение = ДФ.Переполнение.Прокрутка; Контент.Стиль.ЦветФона = ДФ.Цвет.БелаяДымка; Контент.Стиль.НаправлениеЭлементов = ДФ.НаправлениеЭлементов.Колонка; Контент.Стиль.НаправлениеЭлементов = ДФ.НаправлениеЭлементов.Колонка; Контент.Стиль.РазмерШрифта = 20; БлокВерх = Форма1.ДобавитьДочерний(ДФ.Блок()); БлокВерх.Стиль.Отображать = ДФ.Отображать.Гибкий; Флажок1 = БлокВерх.ДобавитьДочерний(ДФ.Флажок()); Флажок1.Идентификатор = "usePerspective"; Флажок1.ПриИзменении = ДФ.Действие(ЭтотОбъект, "Флажок1_ПриИзменении"); Флажок1.Стиль.Отображать = ДФ.Отображать.Отсутствие; Флажок1.Помечен = Истина; Флажок2 = БлокВерх.ДобавитьДочерний(ДФ.Флажок()); Флажок2.Идентификатор = "runAnimation"; Флажок2.ПриИзменении = ДФ.Действие(ЭтотОбъект, "Флажок2_ПриИзменении"); Флажок2.Стиль.Отображать = ДФ.Отображать.Отсутствие; Флажок2.Помечен = Истина; Подпись1 = БлокВерх.ДобавитьДочерний(ДФ.Подпись()); Подпись1.Связь = Флажок1.Идентификатор; Подпись1.Текст = "Использовать перспективу"; Подпись1.Стиль.Границы = ДФ.Границы(1, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Черный); Подпись1.Стиль.РадиусГраницы = ДФ.РадиусГраницы(4, 4, 4, 4); Подпись1.Стиль.Заполнение = ДФ.Заполнение(3, 3, 3, 3); БлокВерх.ДобавитьДочерний(ДФ.Блок()).Стиль.Ширина = 15; Подпись2 = БлокВерх.ДобавитьДочерний(ДФ.Подпись()); Подпись2.Связь = Флажок2.Идентификатор; Подпись2.Текст = "Запустить анимацию"; Подпись2.Стиль.Границы = ДФ.Границы(1, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Черный); Подпись2.Стиль.РадиусГраницы = ДФ.РадиусГраницы(4, 4, 4, 4); Подпись2.Стиль.Заполнение = ДФ.Заполнение(3, 3, 3, 3); БлокСередина = Форма1.ДобавитьДочерний(ДФ.Блок()); БлокСередина.Стиль.ОтступСверху = 20; БлокСередина.Стиль.Отображать = ДФ.Отображать.Гибкий; БлокСлева = БлокСередина.ДобавитьДочерний(ДФ.Блок()); БлокСлева.Стиль.НаправлениеЭлементов = ДФ.НаправлениеЭлементов.Строка; БлокСлева.Стиль.Ширина = 50; БлокСлеваТекст = БлокСлева.ДобавитьДочерний(ДФ.Блок()); БлокСлеваТекст.Текст = "Перспектива"; БлокСлеваТекст.Стиль.Позиция = ДФ.Позиция.Абсолютно; БлокСлеваТекст.Стиль.Ширина = 50; БлокСлеваТекст.Стиль.Сдвиг = ДФ.Поворот(270); БлокСлеваТекст.Стиль.ОтступСлева = -9; БлокСлеваТекст.Стиль.ОтступСверху = 185; Ползунок1 = БлокСлева.ДобавитьДочерний(ДФ.Ползунок()); Ползунок1.Минимум = 300; Ползунок1.Максимум = 600; Ползунок1.Значение = 450; Ползунок1.Стиль.Позиция = ДФ.Позиция.Абсолютно; Ползунок1.Стиль.Ширина = 300; Ползунок1.Стиль.Сдвиг = ДФ.Поворот(270); Ползунок1.Стиль.ОтступСлева = -115; Ползунок1.Стиль.ОтступСверху = 185; Ползунок1.Ввод = ДФ.Действие(ЭтотОбъект, "Ползунок1_Ввод"); Ползунок1.Стиль.РазмерКартинки = ДФ.Размер(150, 7); БлокВцентре = БлокСередина.ДобавитьДочерний(ДФ.Блок()); БлокВцентре.Стиль.Ширина = 400; БлокВцентре.Стиль.Высота = 400; БлокВцентре.Класс = "container"; БлокВцентре.Стиль.Отображать = ДФ.Отображать.Гибкий; БлокВцентре.Стиль.РасположениеСодержимого = ДФ.РасположениеСодержимого.Вцентре; БлокВцентре.Стиль.ВыравниваниеЭлементов = ДФ.ВыравниваниеЭлементов.Центр; БлокВцентре.Стиль.Перспектива = 1000; БлокВцентре.Стиль.ИсточникПерспективы = ДФ.ИсточникПерспективы(0, 1); Икс = 0; Игрек = 1; БлокСправа = БлокСередина.ДобавитьДочерний(ДФ.Блок()); БлокСлева.Стиль.НаправлениеЭлементов = ДФ.НаправлениеЭлементов.Строка; БлокСправа.Стиль.Ширина = 50; Ползунок2 = БлокСправа.ДобавитьДочерний(ДФ.Ползунок()); Ползунок2.Класс = "input2"; Ползунок2.Минимум = -100; Ползунок2.Максимум = 200; Ползунок2.Значение = 0; Ползунок2.Стиль.Позиция = ДФ.Позиция.Абсолютно; Ползунок2.Стиль.Ширина = 300; Ползунок2.Стиль.Сдвиг = ДФ.Поворот(270); Ползунок2.Стиль.ОтступСлева = -135; Ползунок2.Стиль.ОтступСверху = 185; Ползунок2.Ввод = ДФ.Действие(ЭтотОбъект, "Ползунок2_Ввод"); Ползунок2.Стиль.РазмерКартинки = ДФ.Размер(100, 7); БлокСправаТекст = БлокСправа.ДобавитьДочерний(ДФ.Блок()); БлокСправаТекст.Текст = "Источник перспективы - вертикаль"; БлокСправаТекст.Стиль.Позиция = ДФ.Позиция.Абсолютно; БлокСправаТекст.Стиль.Ширина = 300; БлокСправаТекст.Стиль.Сдвиг = ДФ.Поворот(90); БлокСправаТекст.Стиль.ОтступСлева = -115; БлокСправаТекст.Стиль.ОтступСверху = 185; БлокСнизу = Форма1.ДобавитьДочерний(ДФ.Блок()); БлокСнизу.Стиль.Отображать = ДФ.Отображать.Гибкий; БлокСнизу.Стиль.Ширина = 500; БлокСнизу.Стиль.НаправлениеЭлементов = ДФ.НаправлениеЭлементов.Колонка; БлокСнизу.Стиль.ВыравниваниеЭлементов = ДФ.ВыравниваниеЭлементов.Центр; БлокСнизу.Стиль.ОтступСверху = 3; Ползунок3 = БлокСнизу.ДобавитьДочерний(ДФ.Ползунок()); Ползунок3.Класс = "input3"; Ползунок3.Минимум = -100; Ползунок3.Максимум = 200; Ползунок3.Значение = 100; Ползунок3.Стиль.Ширина = 300; Ползунок3.Ввод = ДФ.Действие(ЭтотОбъект, "Ползунок3_Ввод"); Ползунок3.Стиль.РазмерКартинки = ДФ.Размер(200, 7); БлокСнизуТекст = БлокСнизу.ДобавитьДочерний(ДФ.Блок()); БлокСнизуТекст.Текст = "Источник перспективы - горизонталь"; Куб = БлокВцентре.ДобавитьДочерний(ДФ.Блок()); Куб.Класс = "cube"; Куб.Стиль.Позиция = ДФ.Позиция.Относительно; Куб.Стиль.Ширина = 200; Куб.Стиль.Высота = 200; Куб.Стиль.СтильСдвига = ДФ.СтильСдвига.Трехмерный; Фронт = Куб.ДобавитьДочерний(ДФ.Блок()); Фронт.Класс = "side front"; Фронт.Стиль.Позиция = ДФ.Позиция.Абсолютно; Фронт.Стиль.Ширина = "100%"; Фронт.Стиль.Высота = "100%"; Фронт.Стиль.Непрозрачность = 0.75; Фронт.Стиль.Границы = ДФ.Границы(2, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Белый); Фронт.Стиль.ЦветФона = ДФ.Цвет(213, 0, 0); Фронт.Стиль.Сдвиг = ДФ.ПереводЗет(100); ЛеваяСторона = Куб.ДобавитьДочерний(ДФ.Блок()); ЛеваяСторона.Класс = "side left"; ЛеваяСторона.Стиль.Позиция = ДФ.Позиция.Абсолютно; ЛеваяСторона.Стиль.Ширина = "100%"; ЛеваяСторона.Стиль.Высота = "100%"; ЛеваяСторона.Стиль.Непрозрачность = 0.75; ЛеваяСторона.Стиль.Границы = ДФ.Границы(2, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Белый); ЛеваяСторона.Стиль.ЦветФона = ДФ.Цвет(48, 79, 254); Массив1 = Новый Массив(); Массив1.Добавить(ДФ.ПоворотИгрек(90)); Массив1.Добавить(ДФ.ПереводЗет(100)); ЛеваяСторона.Стиль.Сдвиг = Массив1; ПраваяСторона = Куб.ДобавитьДочерний(ДФ.Блок()); ПраваяСторона.Класс = "side right"; ПраваяСторона.Стиль.Позиция = ДФ.Позиция.Абсолютно; ПраваяСторона.Стиль.Ширина = "100%"; ПраваяСторона.Стиль.Высота = "100%"; ПраваяСторона.Стиль.Непрозрачность = 0.75; ПраваяСторона.Стиль.Границы = ДФ.Границы(2, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Белый); ПраваяСторона.Стиль.ЦветФона = ДФ.Цвет(170, 0, 255); Массив2 = Новый Массив(); Массив2.Добавить(ДФ.ПоворотИгрек(-90)); Массив2.Добавить(ДФ.ПереводЗет(100)); ПраваяСторона.Стиль.Сдвиг = Массив2; Задняя = Куб.ДобавитьДочерний(ДФ.Блок()); Задняя.Класс = "side back"; Задняя.Стиль.Позиция = ДФ.Позиция.Абсолютно; Задняя.Стиль.Ширина = "100%"; Задняя.Стиль.Высота = "100%"; Задняя.Стиль.Непрозрачность = 0.75; Задняя.Стиль.Границы = ДФ.Границы(2, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Белый); Задняя.Стиль.ЦветФона = ДФ.Цвет(170, 0, 255); Задняя.Стиль.Сдвиг = ДФ.ПереводЗет(-100); Верхняя = Куб.ДобавитьДочерний(ДФ.Блок()); Верхняя.Класс = "side top"; Верхняя.Стиль.Позиция = ДФ.Позиция.Абсолютно; Верхняя.Стиль.Ширина = "100%"; Верхняя.Стиль.Высота = "100%"; Верхняя.Стиль.Непрозрачность = 0.75; Верхняя.Стиль.Границы = ДФ.Границы(2, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Белый); Верхняя.Стиль.ЦветФона = ДФ.Цвет(0, 191, 165); Массив3 = Новый Массив(); Массив3.Добавить(ДФ.ПоворотИкс(90)); Массив3.Добавить(ДФ.ПереводЗет(100)); Верхняя.Стиль.Сдвиг = Массив3; Нижняя = Куб.ДобавитьДочерний(ДФ.Блок()); Нижняя.Класс = "side bottom"; Нижняя.Стиль.Позиция = ДФ.Позиция.Абсолютно; Нижняя.Стиль.Ширина = "100%"; Нижняя.Стиль.Высота = "100%"; Нижняя.Стиль.Непрозрачность = 0.75; Нижняя.Стиль.Границы = ДФ.Границы(2, ДФ.СтильГраницы.Сплошная, ДФ.Цвет.Белый); Нижняя.Стиль.ЦветФона = ДФ.Цвет(100, 221, 23); Массив4 = Новый Массив(); Массив4.Добавить(ДФ.ПоворотИкс(-90)); Массив4.Добавить(ДФ.ПереводЗет(100)); Нижняя.Стиль.Сдвиг = Массив4; // Создадим одельные кадры. Кадр1 = ДФ.Стиль(); Массив5 = Новый Массив(); Массив5.Добавить(ДФ.ПоворотИгрек(0)); Массив5.Добавить(ДФ.ПоворотИкс(720)); Массив5.Добавить(ДФ.ПоворотЗет(0)); Кадр1.Сдвиг = Массив5; Кадр1.Смещение = 0; // Для первого и последнего кадра задать смещение во времени обязятельно. Кадр2 = ДФ.Стиль(); Массив6 = Новый Массив(); Массив6.Добавить(ДФ.ПоворотИгрек(360)); Массив6.Добавить(ДФ.ПоворотИкс(0)); Массив6.Добавить(ДФ.ПоворотЗет(360)); Кадр2.Сдвиг = Массив6; Кадр2.Смещение = 1; // Для первого и последнего кадра задать смещение во времени обязятельно. // Соберем одельные кадры. Кадры1 = ДФ.Кадры(); Кадры1.Имя = "вращениекуба"; // Обязательно задаем имя. Кадры1.Добавить(Кадр1); Кадры1.Добавить(Кадр2); Стиль1 = ДФ.Стиль(); // Обязательно создаем стиль для кадров. Стиль1.Кадры = Кадры1; Анимация1 = ДФ.СвойстваАнимации(Кадры1.Имя, 10000, ДФ.ФункцияСинхронизации.Линейно, , -1); Куб.Стиль.Анимация = Анимация1; Флажок1_ПриИзменении(); Флажок2_ПриИзменении(); Форма1.Открыть(); //== Файл Стартовый.os == конец //== Файл cub.css == начало input[type="range"]:focus { box-shadow: 0 0 3px 1px #4b81dd; outline: none; } input[type="range"] { -webkit-appearance: none; margin-right: 15px; width: 200px; height: 7px; background: rgba(255, 255, 255, 0.6); border-radius: 5px; background-image: linear-gradient(#ff4500, #ff4500); background-size: 70% 100%; background-repeat: no-repeat; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; height: 20px; width: 20px; border-radius: 50%; background: #ff4500; box-shadow: 0 0 2px 0 #555; transition: background .3s ease-in-out; } input[type="range"]::-moz-range-thumb { -webkit-appearance: none; height: 20px; width: 20px; border-radius: 50%; background: #ff4500; box-shadow: 0 0 2px 0 #555; transition: background .3s ease-in-out; } input[type="range"]::-ms-thumb { -webkit-appearance: none; height: 20px; width: 20px; border-radius: 50%; background: #ff4500; box-shadow: 0 0 2px 0 #555; transition: background .3s ease-in-out; } input[type="range"]::-webkit-slider-thumb:hover { background: #ff0200; } input[type="range"]::-moz-range-thumb:hover { background: #ff0200; } input[type="range"]::-ms-thumb:hover { background: #ff0200; } input[type="range"]::-webkit-slider-runnable-track { -webkit-appearance: none; box-shadow: none; border: none; background: transparent; } input[type="range"]::-moz-range-track { -webkit-appearance: none; box-shadow: none; border: none; background: transparent; } input[type="range"]::-ms-track { -webkit-appearance: none; box-shadow: none; border: none; background: transparent; } .input1, .input2::-webkit-slider-thumb { cursor: ns-resize; } .input3::-webkit-slider-thumb { cursor: ew-resize; } .input1, .input2::-moz-range-thumb { cursor: ns-resize; } .input3::-moz-range-thumb { cursor: ew-resize; } .input1, .input2::-ms-thumb { cursor: ns-resize; } .input3::-ms-thumb { cursor: ew-resize; } //== Файл cub.css == конец