RIPPER-GFX работает с любыми GFX-темами, не обязательно из серии @DED@ и умеет: РАЗОБРАТЬ готовую GFX-тему на файлы СОБРАТЬ готовую GFX-тему из папки с файлами Заменять ИЗОБРАЖЕНИЯ фона и других компонентов Создавать и редактировать шрифты Помогать в настройке GFX-темы @DED-LEGO@ Запускать виртуальную машину для загрузочной флэшки
Настройка и создание @DED-LEGO@ средствами RIPPER-а Настройка готовой @DED-LEGO@ прямо через MENU.lst Введение Скрытых пунктов в MENU.lst Привязка пунктов MENU.lst к номеру LOGO и справке Пользовательские горячие клавиши для пунктов меню Мультифоновая, мультшрифтовая поддержка Реализованые компоненты: СМОТРЕТЬ
Эта gfxboot была нужна для ТОНКОЙ подгонки цветов и координат. Потеряла актуальность с выпуском RIPPER-а с графическим интерфейсом пользователя (GUI)
а что если эту прорисовку пустить по заданной ломаной???
Так может пора к скриптам переходить? Там и инструкция по языку приложена "Язык скриптов для gfxboot.html".
lineto – draw line
( int1 int2 — )
int1, int2: line end
Что означает: указать два целых числа и дать команду lineto. В коде это выглядит так init1 init2 lineto Так проводится отрезок от "текущей точки" до заданной координатами int1, int2. После чего "текущей" становится конечная точка, т.е. (int1; int2). А если нужно просто установить графический курсор в точку, то intX, intY moveto Начало координат (0;0) - левый верхний угол экрана. ПРИМЕР: Диагональ экрана 0 0 moveto 800 600 lineto Все не так уж и сложно.
Что касается дуги, то я ее "рисование" оформил как подпрограмму. Если понадобится, то вытащим со склада. @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Вторник, 20.04.2010, 19:36
Так может пора к скриптам переходить? Там и инструкция по языку приложена "Язык скриптов для gfxboot.html"
Я конечно понимаю что учиться никогда не поздно,но я даже английского не знаю.... А так то штука интересная... Еслиб у мня был компьютер лет 17 назад, то наверное я бы что то уже умел...
Нарисовать-то линию не проблема. Проблема ее "стереть", т.е. восстановить цвета всех точек по которым она прошла. Потом появится вопрос, а к какому "событию" нам нужно привязать этот эффект. Вариантов не так уж и много, т.к. у нас есть только обработчик клавиатуры, т.е. событие "по нажатию клавиши" и обработчик "тиков" - т.е. по таймеру разово или с частотой не выше чем 18,3 раза в секунду (к сожалению ). Для разнообразия можно еще добавить "случайность". Вот и все @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Вторник, 20.04.2010, 19:53
Потом появится вопрос, а к какому "событию" нам нужно привязать этот эффект.
...Нууу,к событиям я его привязывать не собирался,просто подумалось что декоративный элемент (типа экран медицинского аппарата жизнеобеспечения) смотрелся бы даже очень ничего...
Я вот что думаю. Делать модуль под конкретную задачу "кардиограмма" это как-то узко, что ли. Хорошо бы обобщить постановку задачи, что бы она могла найти бОльшее применение. Например, в коллекции фонов, приложенных к RIPPER-у есть фон techo.jpg (NecroTYN использовал его в экспериментах). Так вот, там есть большое количество геометрических элементов: прямоугольников, многоугольников, системы координат. Они являются частью рисунка, но на самом деле, это можно рассматривать как стиль - полупрозрачные панели + тонкие линии, составляющие единый замысел. Представьте себе макет глянцевого журнала. Там в каждом номере фотка машины, бизнемена или красотки другая (характерный пример). Однако стиль всегда узнаваем за счет единообразного расположения текста, дополнительных дизайнерских врезок, типовых шрифтов и т.д. Может быть разработать модуль для такого стиля? А кардиограмма будет частным случаем. Тогда нужно формализовать задачу. Думаем, господа Эспериментаторы. + + + + = , , , , @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Среда, 21.04.2010, 13:36
тоесть если я правильно понимаю... то это нечто вроде придумать скин? шкуру? или я недопонял... если так, то как-бы оч мудрёно получается ибо нужно будет как минимум несколько таких стилей делать, и каждый формировать. ну там шрифт, расположение полосок всяких вокруг меню (обрамление) вокруг бегущей, вокруг Лого. опять-таки если эти модули используются в теме, и скажем тот-же лого не всегда нужно выделять ибо с маской он и так приятно смотрится... ну а в простейшем варианте можно сделать что-бы вокруг меню и бегущей рисовались линии, или пиксельные или в виде накладываемого рисунка... но ИМХО это проще ОДИН раз сделать в самом фоне, и всё...
оч мудрёно получается ибо нужно будет как минимум несколько таких стилей делать, и каждый формировать.
Нет, я это не так рассматриваю. Я же не хочу за кого-то решать КАК ему оформлять тему, я хочу дать пользователю инструмент. Да еще такой, чтоб его можно было настраивать. Делаем, скажем, модуль "Макеты панелей" со следующей задачей: Дать возможность пользователю заказать размещение на экране N полупрозрачных панелей. Пользователь в SETTINGS.txt указывает кол-во подобных панелей, а затем параметры (координаты, размеры, уровень прозрачности и цвет) для каждой из них (как уже сделано с настройкой Электрических Разрядов) А вот наш модуль, должен считывать эти данные и выполнять все необходимые действия. Уверен, что какому-нибудь дизайнеру этого будет достаточно для эффектного меню ДАЖЕ БЕЗ ИСПОЛЬЗОВАНИЯ ФОНА! Но, во-первых, мы (я-то уж точно) - не дизайнеры. Во-вторых, зачем от него отказываться, если он есть? С отрезками, многоугольниками, ломаными ситуация, как ни странно, сложнее, т.к. панели, в моем понимании, размещаются разово, при загрузке меню, а вот отрезки хотелось бы анимировать (по заказу NecroTYN). ОТЧЕТ: Провел серию экспериментов с размерами GFX-тем по результатам "разбора полетов" с NecroTYN. Во-первых, вынужден признать, что использование gZip-a НЕ ВЫЗЫВАЕТ дополнительный расход памяти (похоже, что у меня устаревшие или ошибочные данные). Получается, что тема из gz-архива прямо с носителя разворачивается в память и поэтому расход памяти ОДИНАКОВ. Во-вторых, оценил границу, за которой неработоспособность практически гарантирована. Получается, что суммарный объем grldr+меню+тема(не gz!)+ядро темы не должны зашкаливать за 600 000 байт. Остальные 40 000 байт "Основной Памяти", по-видимому, приходятся на данные BIOS-а и различные буфферы. В-третьих, доработал RIPPER в этой части, чтобы он оценивал размеры собираемых GFX-тем и делал предупреждения. (К выходным выложу)
Вот к стати, грандмерси за то что предупреждение о размере, ибо только думал предложить как-то это... и так-же увидел список файликов которые берутся в Тему...к стати, а можно как-то список получить тех файлов которые нужны для сборки Темы... хотя там наверно при разных сеттингсах, по разному... NEW! Моя сборка - Kupr_Soft-Flash_4.4 ...Не ленитесь поднять репу =)
Хорошо бы обобщить постановку задачи, что бы она могла найти бОльшее применение.
Надо это дело обкумекать получше...
Quote (ded2007)
Делаем, скажем, модуль "Макеты панелей" со следующей задачей: Дать возможность пользователю заказать размещение на экране N полупрозрачных панелей.
..Панели какие??? Справка,wait panel,Logo panel или просто декоративные???? Если декоративные(фоновые) то нужно будет добавлять к ним обрамления--рамки(тоже кстати с настройками), а чтоб человеки имели представление,нужен какойнить визуализатор,т.к. мало кто сможет имея какойнить образ(картинку)воплотить ее в жизнь с помощью settings.txt А в рипере можно задать команду на просмотр изображений???-имеется ввиду запуск какого нибудь просмотрщика(TOOL)???? Типа выбираем пункт- создать панель,потом тип(скруглить углы,окружность,многоугольник(с количеством углов)можно еще произвольную фигура добавить)количество ,далее-допустим рамка.При выборе последнего пункта открывается просмотрщик (в неактивном окне) с примерами рамок(пронумерованными).Остается только выбрать тип и типа панелька с рамкой готова....а вот настраивать ее(размеры,положение,прозрачность,цвет) это уже в settings.txt
Ну как то вот...Ну как то так...
А вот за отчет и за правку рипера огромное спасибо!!!!
можно как-то список получить тех файлов которые нужны для сборки Темы
Если речь идет о Разобранных Темах, то достаточно просто заглянуть в папку THEMES\искомая_тема. Если речь идет об экспериментальной, т.е. построенной на базе @DED-LEGO@, то дополнительно в папку включается еще и файл settings.txt. Но в сборку он не входит, т.к. является текстовым, с большим количеством ненужных комментариев. Вместо него в сборке есть файлы DED00xx.CFG по каждому модулю отдельно. Наличие DED00xx.CFG означает, что при компиляции в ядро был включен модуль DED00xx.inc. Если DED00xx.CFG удалить, то соответствующий модуль будет отключен и только. Но ядро от этого меньше не становится, ведь модуль был включен туда при компиляции. Если же Вы хотите уменьшить размер ядра за счет ПОЛНОГО ОТКЛЮЧЕНИЯ модуля, то его СЕКЦИЮ нужно закомментировать в settings.txt еще ДО КОМПИЛЯЦИИ. Вот так: #[ded00xx]
Если же вопрос был о файлах необходимых для КОМПИЛЯЦИИ темы, то это практически все, что находится в папках с проектами. Уверен, что там много лишнего. И так известно, да и по тексту inc-файлов видно, что GFX-темы изначально разрабатывались как оболочки для инсталляций SUSE и загрузчика isolinux, поэтому там много не нужного для пользователей GRUB4DOS. Я было хотел разобраться с этим и порезать функциональность в этой части. Но, во-первых, это может ограничить кого-то, кто захочет использовать другие загрузчики (GRUB4DOS еще не победил на всей планете). А во-вторых, там оказалось так все плотно увязано, что распутывание заняло бы слишком много времени. Ограничения на размер ядра, задаваемые Основной Памятью, вроде бы подталкивают к этому, но уже сейчас понятно, что кардинально проблему решить не удастся. Реально помочь сможет лишь МОДУЛЬНОСТЬ. Я попробовал разработать LEGO-конструктор. Для того, чтобы пользователь, из всего разнообразия модулей, брал ТОЛЬКО НУЖНЫЕ ДЛЯ РЕАЛИЗАЦИИ ИДЕИ. Посудите сами, зачем одновременно на экране и линейный, и круговой, и цифровой таймер? Все это управление реализуется в SETTINGS.txt (см. предыдущий спойлер и приложенные к проекту тексты "О том_и_о_сём ...").
Добавлено (22.04.2010, 12:15) --------------------------------------------- NecroTYN Панелями, предлагаю называть полупрозрачные прямоугольники, предназначенные для ограничения или визуального выделения некоторой области экрана. До сих пор все используемые панели были связаны с какой-то функциональностью: панель меню, панель таймера, панель Бегущей строки, INFO панель и т.д. (их Вы как раз и видите при запуске темы). При запуске, я все равно регистрирую панели для последующего обращения к ним, поэтому решил еще и экспонировать их. При этом выяснилось, что полупрозрачность несет свой дизайнерский эффект. (Вы согласны?) С тех пор я думаю о том, как бы превратить этот эффект в дизайнерский элемент. Вот и Вашу задачу пытаюсь притянуть к этой схеме.
Quote (NecroTYN)
то нужно будет добавлять к ним обрамления--рамки
Вот-вот! Рамки можно рассматривать как многоугольники, т.е. наборы отрезков. Таким образом, если наш модуль даст в руки пользователя рисование отрезков, то он сможет и рамку, и кардиограмму, и...
Quote (Kupr_Soft)
теоретически можно сделять на секунду типа "рябь" как по телику,
(Я так дУмаю! к/ф "Мимино")
Quote (NecroTYN)
рамки(тоже кстати с настройками)
Ну да, конечно - настройка в качестве отрезков. Пока вырисовывется такая идея. Объект: регулируемые свойства Панель: x, y, ширина, высота, цвет, прозрачность Строка Текста: x, y, прозрачность, цвет, номер_шрифта (на будущее) Картинка ??: x, y, прозрачность?? Отрезок: x1, y1, x2, y2 , цвет, прозрачность, режим (одноразовый или со стиранием), событие привязки (старт темы, нажатие клавиши, с периодом) Дуги: ??????? Для всех объектов, кроме отрезков, пока планирую единовременный вывод при старте без всякого стирания. "Стирание" в алгоритмах GFX - это восстановление запомненного состояния, т.е. "прожорливость" по памяти. Если это восстановление чистого фона, то он у нас есть, а вот если на этом фоне уже были модификации (тексты меню, свои панели, стрелки и т.п.), то проблема обостряется. Анимация давит еще больше. Выручить может только видеопамять. В этой связи, вопрос: Сколько видеостраниц видит @DED-HELP@ на вашем РЕАЛЬНОМ железе? @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Четверг, 22.04.2010, 22:29
Вот, вот ибо сейчас ещё как-то худо-бедно Можно разобраться с теми украшательствами что есть... а вот если наворачивать...то боюсь тут и у меня начнёт мозг от математики корёбить...
(блин уже как несколько дней установил делфю, так и не могу подступиться, то дела дома, то на работе гад вся контора вирусами обросла, борюсь)
Добавлено (22.04.2010, 17:01) --------------------------------------------- Microsoft Essentials ругнулась тут: Категория: Программное средство Описание: Эта программа является потенциально опасной.
(блин уже как несколько дней установил делфю, так и не могу подступиться, то дела дома, то на работе гад вся контора вирусами обросла, борюсь)
Вот, вот. Я уже примерялся сделать что-то на Basic-е, но у меня та же тема дела-дела-дела. Так что, с моей стороны такого скоро не ждите.
Quote (NecroTYN)
(скруглить углы
На это тоже в скором времени расчитывать не приходится, т.к. в данном языке нет никаких команд на заливку областей и нет команд, касающихся работы с окружностями, т.е. нам, в таком случае, нужно наработать целую библиотеку модулей.
Quote (Kupr_Soft)
DED2007v2-1\TOOLS\cmdow.exe что енто и о чём?
Так-с, инструкции не читаем? см. "О работе RIPPER-а.txt"
# Об инструментах (TOOLS) : #------------------------------/ # - nconvert.exe - утилитка масштабирующая графические файлы. Когда нужно из # файла 1600x1200 срочно сделать РАБОЧИЙ(!) фон для GFX-меню, даем команду # nconvert.exe -out jpeg -q 70 -resize 800 600 -o <КУДА\имя1> <ОТКУДА\имя2> # Она же помогает нам "хватать" изображения из Буфера Обмена (например пос- # ле нажатия PrtScr) и выдает jpg-и "понимаемые" различными GFX-меню. # - cpio.exe, libiconv2.dll, libintl3.dll - архиватор для сборки темы в один # файл. CPIO хоть и является архиватором, но в нашем случае сжатие=0. Архив # CPIO можно ЧИТАТЬ 7zip-ом, что позволяет выдергивать им файлы из готовых # тем, но для СБОРКИ требуется именно CPIO. # - 7za.exe - позволяет реально уменьшить размер GFX-темы, заархивировав ее # в gZip-формат, известный всем загрузчикам. # - cmdow.exe - утилита для управления окнами из командных файлов. Иногда на # нее ругаются антивирусы, т.к. она умеет прятать окна. Нужна для максими- # зации нашего окна и переключения между окнами. # - qemu - папка с виртуальной машиной QEMU. RIPPER-GFX умеет натравливать ее # на флэшку (если флэшка загрузочная, конечно)
Можно удалить, на функциональность не повлияет. @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Четверг, 22.04.2010, 18:13