Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 14:40

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 15, 2007 07:02 
Решил спросить здесь. т.к. тема близкая.
Имеется файл в lib\win\spfgui\spfgui.f

Например если даю ему на вход
Код:
16 CONSTANT a
: r a ;
DIS-OPT
lib/ext/disasm.f
SEE r


то курсор после вывода остается в конце строки, а нажатие Enter
приводит к Исключению. Если нажать ESC, то нормально.

Как это исправить?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 23, 2007 08:49 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 05, 2006 06:19
Сообщения: 192
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
вернулся тут на днях к графической консоли,
столкнулся с такой проблемой
из исполняемого файла папытка вывести картинку заканчивается падением, а в при не посредственом исполнении работает.
Код:
REQUIRE Point   ~pi/lib/wincon/graph.f
REQUIRE _TEXT   ~pi/lib/wincon/text.f

: t1
300 100 ConCreate
0xCC0000 ColorText 0xAA0000 BackgroundText
500 PAUSE 10 30 S" TEST ТЕСТ " Print ConRefresh
\ 500 PAUSE S" disketa.bmp" 44 10 Image
2000 PAUSE BYE  ;

FALSE TO SPF-INIT?
TRUE TO ?GUI
FALSE TO ?CONSOLE
' t1 TO <MAIN>
S" t1.exe" SAVE BYE
тоесть с закаментированой строкой все работает нормально, толи я чегото в сохранении в exe непонимаю толи фиг его знает

_________________
SPF


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 13, 2007 12:31 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Когда соданное окно консоли перекрывается с окном консоли SPF, то след окна консоли из окна СПФ уже не исчезает. А если потаскать окно СПФ по экрану так, чтобы оно наезжало на окно графическрй консоли, то совсем интересная картинка получается. На другие окна открытые в Windows (XP SP2) не влияет.

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 12:16 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Pretorian, а как правильно "по-виндовски" в этой графической консоли отобразить заранее подготовленный растр?
Не по точкам же его рисовать ... должен же быть способ, вроде того как сделано с отображением bmp-файла, но чтобы растр брался из памяти, а не из файла.

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 12:25 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Для GDI существует блиттинг - быстрое копирование прямоугольных картинок. Однако оно требует подготовительной работы по описанию разнообразных структур. В OpenGL удобнее - формат вызова функции копирования достаточно прямой.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 13:16 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Вот я и надеюсь, что эта подготовительная работа будет этим модулем от меня скрыта, так же как она скрыта словом Image, выводящим в консоль битмап-файл (полагаю, что там этой работы не меньше).

Еще вопрос:
Когда я выполняю ConCreate, не сделав ConDestroy для предыдущей, снимается с выполнения весь СПФ.
Это принциально, или есть (будет) возможность создавать несколько консолей и "параллельно" с ними работать?

И наконец: а что посмотреть из OpenGL оберток для СПФ, чтобы, опять-таки, не углубляться в дебри Win-программирования?
Мне графика нужна в основном для быстрого визуального контроля данных и правильности их обработки, поэтому хотелось бы проще и прямолинейнее.

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 16:58 
---


Последний раз редактировалось profiT Сб мар 01, 2008 00:20, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 15, 2007 14:05 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
profiT писал(а):
Варнак писал(а):
И наконец: а что посмотреть из OpenGL оберток для СПФ, чтобы, опять-таки, не углубляться в дебри Win-программирования?

basicdraw -- openGL-обёртка для пиксельного рисования[/url]

А нельзя ли сопроводить это списком слов, предоставляющих конечный функционал, со их стековой нотацией и хотя бы кратким описанием функций. А пока я никак не могу сказать, что то, что я вижу в basicdraw.f , помогает использовать OpenGL из SPF.

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 15, 2007 14:59 
---


Последний раз редактировалось profiT Сб мар 01, 2008 00:20, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 16, 2007 13:08 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
profiT писал(а):
Код:
CLS ( -- )
PIXEL ( x y -- )
SET-COLOR ( r g b -- )
SET-SIZE ( w h -- )
START-DRAW ( xt -- )

Смотрите также пример.

Код:
:NONAME
\ здесь рисовать
; START-DRAW


Есть ещё обработка клавиш, но тут по-любому смотрите пример -- там очень коротко и ничего такого страшного.


Ну что ж: не обращаясь к дополнительным источникам информации и потратив около получаса, с использованием basicdraw не сумел написать слово, которое бы создало окно для рисования, что-то нарисовало и закрыло окно. Примерно даже понимаю почему не сумел: поленился разбираться в хитросплетениях передачи параметров слову STAR-DRAW для случая когда если необходимо скомпилировать в форт систему слово, которое будет что-то рисовать, когда его вызовут.
Может когда-ниубдь и разберусь, но сейчас, увы, не до этого.

Обратился после этого к ~pi/lib/opengl. За это же время сумел создать слово, которое открыло окно, что-то нарисовало и закрыло окно. Но возникли следующие вопросы:
1) как создать окно нужного размера в нужном месте экрана?
1') как создавать несколько окон и рисовать в разные, переключаясь между ними по мере необходимости?
2) как добиться того, чтобы после закрытия окна не закрывался и СПФ, откуда это слово запускалось?
3) в чем сакральный смысл слова "ShiftMatrix", удаление которого из текста примера (слова "main"), приводит к прекращению отрисовки (к этому же приводит и передача ему трех нулевых параметров)?
4) можно ли как "одним махом" отобразить поготовленный растр?

Если эти (1' и 4) проблемы будет решены в рамках модуля ~pi/lib/wincon/..., то и это вполне устроило бы.
Пока что им и пользуюсь, отрисовывая растр по точкам.

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 16, 2007 14:20 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Варнак писал(а):
...
4) можно ли как "одним махом" отобразить поготовленный растр?

Если эти (1' и 4) проблемы будет решены в рамках модуля ~pi/lib/wincon/..., то и это вполне устроило бы.
Пока что им и пользуюсь, отрисовывая растр по точкам.


Может Вам попробовать пакетный графический редактор ( находится на странице forth.org.ru/~yz )

На базе этого кода и еще tprint этого же автора н-ое время назад накидал
проект Простого Node редактора ( найти можно в разделе подфорума SPF)
По Приведенным Вам пунктам у него еще не вся функциональность, но
попробовать его возможности уже можно.

P.S. Проект, пока сырой и как обычно говорят:)
нет много времени, что бы продолжить его развитие.
Пока рисует в монохроме и есть еще недоработанные места.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 16, 2007 16:53 
---


Последний раз редактировалось profiT Сб мар 01, 2008 00:20, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 17, 2007 16:26 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Можно также попробовать ~ygrek/lib/wfl/opengl - либа берёт на себя создание окна и встраивание окна как контрола в диалог WFL. В частности basicdraw есть надстройкой над этой либой.
Варнак писал(а):
1) как создать окно нужного размера в нужном месте экрана?
1') как создавать несколько окон и рисовать в разные, переключаясь между ними по мере необходимости?
2) как добиться того, чтобы после закрытия окна не закрывался и СПФ, откуда это слово запускалось?
3) в чем сакральный смысл слова "ShiftMatrix", удаление которого из текста примера (слова "main"), приводит к прекращению отрисовки (к этому же приводит и передача ему трех нулевых параметров)?
4) можно ли как "одним махом" отобразить поготовленный растр?

Применительно к basicdraw
1) 200 100 SET-SIZE
1') создавать окна из нескольких потоков, или проще разбить одно окно на логические области, или сделать эти окна child'ами
2) из коробки
4) есть ~profit/lib/wfl/opengl/GLImage.f, но он грузит растр тоже из BMP. Суть в том что у этого растра может быть миллион с хвостиком форматов. Если вы скажем подготовите растр чтобы он совпадал с форматом который принимают gl-функции то думаю проблем добавить его обработку в glimage не будет.

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 18, 2007 09:07 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
ygrek писал(а):
Можно также попробовать ~ygrek/lib/wfl/opengl - либа берёт на себя создание окна и встраивание окна как контрола в диалог WFL. В частности basicdraw есть надстройкой над этой либой.

Спасибо. посмотрю. Может там найдутся слова более очевидные для использования. (Я чуть позже опишу подробнее, почему у меня не получается использовать basicdraw в привычной для меня манере)

Цитата:
1') создавать окна из нескольких потоков, ... или сделать эти окна child'ами

Вот об этом подробнее, пожалуйста.

Цитата:
2) из коробки

этой реплики вообще не понял

Цитата:
4) Если вы скажем подготовите растр чтобы он совпадал с форматом который принимают gl-функции то думаю проблем добавить его обработку в glimage не будет.

Подготовлю, а каковы эти форматы?

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 18, 2007 11:17 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Варнак писал(а):
Цитата:1') создавать окна из нескольких потоков, ... или сделать эти окна child'ами

Вот об этом подробнее, пожалуйста.


У каждого главного окна есть цикл обработки сообщений, который крутится всё время жизни окна. Если вам надо 2 toplevel окна то нужны два цикла. Единственный способ чтобы эти два цикла работали одновременно и независимо - запустить их в разных потоках.
Если же вы создаёте окна child'ами по отношению к какому либо другому окну то у них нет своего цикла обработки, за них получение сообщений делает родитель. Пример GL окон встроенных в диалог - ~ygrek/prog/wfl/grid.f. Но как я понял вы хотите чтобы окна были перекрывающимися. Это наверное можно сделать и для child'ов.. Но вариант с потоками по-моему проще. Вот, где-то так, если не ошибаюсь.

Варнак писал(а):
Цитата: 4) Если вы скажем подготовите растр чтобы он совпадал с форматом который принимают gl-функции то думаю проблем добавить его обработку в glimage не будет.

Подготовлю, а каковы эти форматы?


http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawpixels.html

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB