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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Графическая консоль
Автор Сообщение
  Заголовок сообщения:  Re: Графическая консоль  Ответить с цитатой
На днях вернулся к этой библиотеке. Не развивается больше?
Интерсено, как поставить другой шрифт при выводе, для слова Print?
Сообщение Добавлено: Пт апр 15, 2011 20:04
  Заголовок сообщения:   Ответить с цитатой
Варнак писал(а):
Да мне почти все равно, на что переходить, с FIG-Forth'а после 15-тилетнего перерыва. СПФ просто первый под руку попался и на этом форуме он, явно, самый популярный.

а почему не GNU Forth ? UNIX не планируете использовать ?
Сообщение Добавлено: Ср июн 25, 2008 22:08
  Заголовок сообщения:   Ответить с цитатой
Обнаружил баг в слове Print:
Код:
ConCreate
200 30 ConSize
0x00FFFF ColorText 0 BackgroundText
10 5 S" 1234567890" Print
ConRefresh

Длина печатаемой строки ограничена высотой консоли.
Поменяв местами rectl и recth, все заработало как надо:
Код:
\ ~pi\lib\wincon\text.f
0
CELL -- rectx
CELL -- recty
CELL -- rectl
CELL -- recth
CONSTANT RECT
0 VALUE rect
RECT ALLOCATE THROW TO rect

Немного скорретировав(убрав 'STRUCT:') , запустил в ннкроне :) Правда иногда убивает крон насмерть - даже гуард не помогает, приходится ручками перезапускать.
Сообщение Добавлено: Ср июн 25, 2008 14:41
  Заголовок сообщения:   Ответить с цитатой
Варнак писал(а):
Всем спасибо! Какое-то представление составил о проблеме. Кварк, возможно - то что надо, но отсутствие даже минимальной документации не позволяет начать использовать с ходу.

Каюсь, грешен! :) Документация будет вот-вот, потому что уже многим надо. Вкратце оно PIXEL ( x, y, color -- ), остальное вобщем-то как обычно. Только словари вот по стандарту 83. Еще можно скачать proton, это графическая оболочка, подгружающая quark.dll. Там, в частности, подгружается и список слов.
Сообщение Добавлено: Чт ноя 22, 2007 01:14
  Заголовок сообщения:   Ответить с цитатой
Короче граф консоль, будет новая, эта оказывается не фурычит, если ее в систему SPF интегрировать. Уф, долго отсутствовал, у нас тут поголовный переход на линукс был, совсем замотался.
Сообщение Добавлено: Ср ноя 21, 2007 13:40
  Заголовок сообщения:   Ответить с цитатой
Всем спасибо! Какое-то представление составил о проблеме. Кварк, возможно - то что надо, но отсутствие даже минимальной документации не позволяет начать использовать с ходу. Попутно, лишний раз убедился, что внимание к интеренсым мелочам сильно отвлекает от главной задачи - поэтому буду заниматься ею, а отрисовка уж какая получается, можно в конце концов и в файл картинку записать, а потом посмотреть.
Сообщение Добавлено: Вт ноя 20, 2007 10:10
  Заголовок сообщения:   Ответить с цитатой
На форуме, да и в среде российских фортеров - да. Кварк сейчас в стадии доработки, позиционируется как некий common Forth без особых наворотов, и в виде dll (чтобы не навязывать людям консоль, окно определенного типа и интерфейс). Основная идея - дать "плоский экран" с внутренним доступом и отрисовкой в окно OpenGL. Плавающая точка. Архив тут http://www.msyst.ru/quarkexe.zip
Вот тут http://www.msyst.ru/proton.zip IDE к нему, использующая идею "подключаем quark.dll и скармливаем ему строки".

exe-версия полностью аналогична dll, за исключением того, что сама создает OpenGL-окно. Документация в процессе :) Примеры на форуме в разделе "Наши проекты - Quark".

P.S. Quark планируется как freeware, но не opensource. Однозначно - и то, и другое :)
Сообщение Добавлено: Пн ноя 19, 2007 14:27
  Заголовок сообщения:   Ответить с цитатой
Да мне почти все равно, на что переходить, с FIG-Forth'а после 15-тилетнего перерыва. СПФ просто первый под руку попался и на этом форуме он, явно, самый популярный.
А как Кварк позиционируется? Какие у него особенности? Я полагаю, что все стандартные слова в нем есть ...
Сообщение Добавлено: Пн ноя 19, 2007 14:13
  Заголовок сообщения:   Ответить с цитатой
Кварк все это делает. Не предлагаю из-за этого переходить на кварк, но вот его код для отрисовки.

Код:
       invoke  glDrawPixels, [rc.right], [rc.bottom], GL_RGBA, GL_UNSIGNED_BYTE, eax   
        invoke  SwapBuffers,[hdc]   


GL_RGBA означает формат, в котором 3 байта отвечают за отдельные цвета, а четвертый - за альфа-канал.
Сообщение Добавлено: Пн ноя 19, 2007 12:35
  Заголовок сообщения:   Ответить с цитатой
Цитата:
http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawpixels.html

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

SHOW-BMP ( addr w h x y -- ... ) , где

addr - адрес массива, состоящего из элементов растра в RGB формате,
w, h - размеры растра по горизонтали и вертикали,
x, y - координата в текущем окне, которая будет левым верхним углом изображения.
Сообщение Добавлено: Пн ноя 19, 2007 11:17
  Заголовок сообщения:   Ответить с цитатой
Варнак писал(а):
Цитата: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
Сообщение Добавлено: Вс ноя 18, 2007 11:17
  Заголовок сообщения:   Ответить с цитатой
ygrek писал(а):
Можно также попробовать ~ygrek/lib/wfl/opengl - либа берёт на себя создание окна и встраивание окна как контрола в диалог WFL. В частности basicdraw есть надстройкой над этой либой.

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

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

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

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

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

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

Подготовлю, а каковы эти форматы?
Сообщение Добавлено: Вс ноя 18, 2007 09:07
  Заголовок сообщения:   Ответить с цитатой
Можно также попробовать ~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 не будет.
Сообщение Добавлено: Сб ноя 17, 2007 16:26
  Заголовок сообщения:   Ответить с цитатой
---
Сообщение Добавлено: Пт ноя 16, 2007 16:53
  Заголовок сообщения:   Ответить с цитатой
Варнак писал(а):
...
4) можно ли как "одним махом" отобразить поготовленный растр?

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


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

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

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

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


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