Forth http://fforum.winglion.ru/ |
|
Графическая консоль http://fforum.winglion.ru/viewtopic.php?f=18&t=823 |
Страница 1 из 4 |
Автор: | Pretorian [ Пт июн 22, 2007 09:17 ] |
Заголовок сообщения: | Графическая консоль |
Сделал графическую автономную консоль wincon.f, теперь можно рисовать как и в кварке. берем контекст который указан в доке (в конце файла) и рисуем, консоль сохраняет данные сама, можно ни о чем не беспокоится. Для тех кто не хочет возится с апи для рисования, graph.f сможет помочь в рисовании примитивов. Для демонстрации качайте оба файла и запустите graph.f, в общем все очень просто как в старом бейсике, рисуем по ходу выполнении программы, а не через WS_PAINT и все сохраняется и не исчезает без вашего ведома. http://spf.cvs.sourceforge.net/spf/devel/~pi/lib/ Естественно еще будут новшества, но т.к. ухожу в отпуск на 10 дней, решил выложить что есть (и так уже не плохо). |
Автор: | profiT [ Пт июн 22, 2007 12:06 ] |
Заголовок сообщения: | |
--- |
Автор: | profiT [ Пт июн 22, 2007 12:10 ] |
Заголовок сообщения: | |
--- |
Автор: | Pretorian [ Пт июн 22, 2007 13:55 ] |
Заголовок сообщения: | |
Да это точно, забыл про ето, еще и поток забыл остановить. А код и ненадо понимать, только то что есть в доке, что бы не навредить лишним не пользоваться. |
Автор: | Pretorian [ Пт июн 22, 2007 14:17 ] |
Заголовок сообщения: | |
profiT писал(а): С этой точки зрения тогда вообще нет необходимости в двух файлах, достаточно одного: ~pi/lib/wincon.f . То есть: перенести определения слов Ellipse, Circle и прочих в ~pi/lib/wincon.f. И сделать в prog файлик, содержащий запускающий код. graph.f это расшерение не обязательное. Хотя поначалу был тока wincon. profiT писал(а): + в MODULE: внутренние слова опять же можно (даже желательно) "спрятать". Я всегда стараюсь прятать, но что то STRUCT: не работают когда спрятаны, незнаю почему и пока не разбирался, да и это тока начало проекта. profiT писал(а): А вообще -- нормально, даже отлично. А то вот хочется иногда такого порисовать -- а сходу нельзя. Теперь -- можно.
Я рад что понравилось, особенно приятно услышать от profitT такое, библиотека будет развиваться, я тока начал. Жаль в отпуске до компа не доберусь, а ноута нет. Кстати OpenGL тоже прикрутим сюда впоследствии, гулять, так гулять! |
Автор: | profiT [ Ср июл 04, 2007 11:21 ] |
Заголовок сообщения: | |
--- |
Автор: | Pretorian [ Чт июл 05, 2007 06:30 ] |
Заголовок сообщения: | |
profiT писал(а): Пока Pretorian наслаждается отпуском, оставлю ему "на автоответчик" ещё пожелания. Я уже нагулялся profiT писал(а): Ну, во-первых повторю прошлые пожелания: 1. gpaph.f по идее должно быть graph.f Это поправленно, но еще не залито. profiT писал(а): 2. Библиотека должна быть библиотекой, то есть не должна ничего выполнять, а только компилировать. Если хочется показать пример работы с ней можно либо выводить пример в отдельный файл (не в папке lib, само собой), либо отграничивать пример(-ы) от кода библиотеки словом /TEST (~profit/lib/testing.f -- удобный, простой и экономный по словам подход). Это тоже сделанно, но еще не залил. profiT писал(а): Prerorian писал(а): Я всегда стараюсь прятать, но что то STRUCT: не работают когда спрятаны, незнаю почему и пока не разбирался, ... "Если водка мешает работе, ну её нафик..." (с) Можно использовать слово --. Это будет сделанно, сам о этом думал. profiT писал(а): Prerorian писал(а): ...да и это тока начало проекта. Ой. Обычно подобные слова обозначают не "начало проекта", а начало его конца. Неее, пока у меня в мозгах начало его начала. Да и давненько я хотел его начать, пора помочь людям полноценно и быстро работать с графикой. В этой стезе чуствуешь себя нужным. Очень хочется увидеть в будущем на forth интрушку какие были во времена спектрума. Prerorian писал(а): Цитата: Кстати OpenGL тоже прикрутим сюда впоследствии, гулять, так гулять! Раз уж упомянуто, то такие же замечания к ~pi/lib/opengl.f и к некоторым другим: 1. INCLUDED где можно бы REQUIRE 2. Неуникальное имя модуля (HIDDEN) 3. Почему-то спрятанные внутри модуля WINAPI-функции. 4. STARTLOG, определение main и его вызов выносить или за \EOF или за /TEST или в отдельный файл ("библиотечность"). ~pi/lib/opengl.f впоследствии перейдет в папку примеров, после написания opengl под мой проект. С первым пунктом согласен, просмотрел. Второй вопрос учтем. WINAPI функции прячу т.к. считаю их неумесными в библиотеке которая сама является интерфейсом и предпологает что только через ее стандартные слова будет доступ. По четвертому вопросу согласен, это в период отладки такое у меня наблюдается. По поводу замечаний graph.f в wincon.f отвечаю, wincon.f это низкий уровень интерфейса, кроме graph.f будут opengl.f, console.f ну еще что то возможно, так зачем нужен нам будет лишний код из graph.f если мы используем opengl.f. В любом случае будет все таки отдельная папка для всех этих файлов. |
Автор: | profiT [ Чт июл 05, 2007 14:13 ] |
Заголовок сообщения: | |
--- |
Автор: | вопрос [ Чт июл 05, 2007 14:25 ] |
Заголовок сообщения: | |
Цитата: Цель ниженаписанного -- не сбить энтузиазм, а хотя бы немного подзабороть "тёмную массу" (хотя на форуме это делать -- полубесполезное занятие). ну, отчего, сделать на главной странице "Внимание - существующие програмы на Форте по разным направлениям" - и индех с перекрёстными ссылками, обновлять раз в квартал.
|
Автор: | Pretorian [ Чт июл 05, 2007 15:28 ] |
Заголовок сообщения: | |
profiT, я про интро(интрушки), не про игрушки. В общем я хочу написать хороший простой интерфейс прослойку для работы с графикой. И вобще у меня все совсем подругому в отличее от указанных библиотек, я использую последовательный вывод графики, обработку кода, и не заставляю кто будет использовать библиотеку заморачиваться на обработчике событий. |
Автор: | VoidVolker [ Пт июл 06, 2007 00:55 ] |
Заголовок сообщения: | |
Pretorian писал(а): В общем я хочу написать хороший простой интерфейс прослойку для работы с графикой. И вобще у меня все совсем подругому в отличее от указанных библиотек, я использую последовательный вывод графики, обработку кода, и не заставляю кто будет использовать библиотеку заморачиваться на обработчике событий.
А поподробнее можно? Что подразумевается под фразой "хороший простой интерфейс прослойку для работы с графикой"? |
Автор: | Pretorian [ Пт июл 06, 2007 06:07 ] |
Заголовок сообщения: | |
Ну как известно для работы с API и обработчиками событий нужен опыт и не каждый может взять и сделать что то связанное с графикой, те библиотеки которые существуют упращают работу с API но не упрощают работу с обработчиком событий, т.е. для того что бы рисовать нужно обрабатывать сообщение ws_paint. У меня подход другой, в моей библиотеке ненужны ни какие обработчики событий, все рисуется и выполняется по ходу программы, как в старые добрые времена, это то и осуществляет wincon.f, эта библиотека не зависима и может служить начальной библиотекой для графических приложений, а так же для изучения GDI, OPENGL АПИ, не заморачиваясь на создание окна и обработчика событий (что самое не интересное и нудное). В настоящее время пишутся дополнительные библиотеки для работы с графикой которые будут использовать wincon.f. Это: graph.f - для работы с графикой GDI wconsole.f - графической эмулятор консоли (в проекте) opengl.f - для работы с 3D графикой (есть некоторые наброски) Пока документация находится в самих библиотеках по ходу объявления слов и в конце файлов после \EOF, современем напишу нормальную документацию после того как wincon.f будет "удовлетворять меня". Планирую обновлять библиотеки на CVS раз в неделю. |
Автор: | AlexF [ Пт июл 06, 2007 18:38 ] |
Заголовок сообщения: | |
Библиотека мне очень понравилась, собственно, ее ждал довольно давно. Спасибо автору. Жду ее развития. Пробовал первую версию. Из замеченного -- не всегда перерисовываются графическое окно, н аконах других приложений, которые были на/под этим окном остаются артефакты Графический вывод примитивов не сразу отражается в окне, приходится делать Код: ConHide ConShow
Из пожеланий: - сделать сохранение окна в BMP-файл - чтение в окно указанного BMP-файла |
Автор: | Pretorian [ Пн июл 09, 2007 08:19 ] |
Заголовок сообщения: | |
AlexF писал(а): Из пожеланий:
- сделать сохранение окна в BMP-файл - чтение в окно указанного BMP-файла Это будет обязательно. То что артефакты остаются и не перерисовывается, хм, извиняюсь, похоже пора обновить версию мне, все эти огрехи исправленны. Обновил: http://spf.cvs.sourceforge.net/spf/deve ... ib/wincon/ Новая версия вот здесь, старая валяется еще в http://spf.cvs.sourceforge.net/spf/devel/~pi/lib/, но будет удалена, пока не разобрался как. |
Автор: | Pretorian [ Пн июл 09, 2007 08:40 ] |
Заголовок сообщения: | |
AlexF писал(а): Графический вывод примитивов не сразу отражается в окне, приходится делать
Код: ConHide ConShow Странно а у меня оно сразу все отображает (XP), в любом случае тут wincon не виновата, это graph, дело в том что все рисуется в буфер, а в событии ws_paint этот буфер выводится в окно, похоже после чего то нарисованного надо будет посылать сообщение ws_paint, вобщем доработаю. P.S. Кстати AlexF, проверь новую версию, может мне и не придется делать выше сказанное если будет все отображатся. |
Страница 1 из 4 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |