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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 108 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Вт дек 28, 2010 11:37 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
mgw писал(а):
console.exe надо было из под wine запускать?
Нет, console.exe истинное Linux приложение. Просто имя такое, что бы не путаться. Другое дело версия Qt. У меня Qt 4.7 и соответственно программа собрана под разделяемые библиотеки 4.7.
У вас версия Qt 4.3.3. Что бы собрать под эту версию, вам надо скомпилировать исходный текст разделяемой библиотеки fqt и
получить файл fqt.so.2.0.0 под вашу версию Qt.

Пока для ознакомления можно запустить версию для windows, т.к. в неё я положил и DLL от Qt с которой собрана программа.
spfqt_win.zip


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Пн янв 03, 2011 21:03 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Подключил OpenGL через QT. Работает :) Ни каких тебе DC и прочей низкоуровневой занудности.
Просто три CALLBACK:
1- инициализация
2- paint (отрисовка)
3- изменение размера окна.

Пример:
Код:
if=W Library" opengl32.dll" opengl32
if=W Library@ opengl32  1 WINAPI-Call" glEnable"      glEnable
if=W Library@ opengl32  3 WINAPI-Call" glColor3i"     glColor3i
if=W Library@ opengl32  1 WINAPI-Call" glBegin"       glBegin
if=W Library@ opengl32  0 WINAPI-Call" glEnd"         glEnd
if=W Library@ opengl32  3 WINAPI-Call" glVertex3f"    glVertex3f
if=W Library@ opengl32  2 WINAPI-Call" glVertex2i"    glVertex2i
if=W Library@ opengl32  0 WINAPI-Call" glFlush"       glFlush
if=W Library@ opengl32  4 WINAPI-Call" glViewport"    glViewport
if=W Library@ opengl32  1 WINAPI-Call" glClear"       glClear
if=W Library@ opengl32  4 WINAPI-Call" glClearColor"  glClearColor // ???? ????
if=W Library@ opengl32  3 WINAPI-Call" glColor3f"     glColor3f
if=W Library@ opengl32 12 WINAPI-Call" glOrtho"       glOrtho

0x0000 CONSTANT GL_POINTS
0x0001 CONSTANT GL_LINES

0x0B71 CONSTANT GL_DEPTH_TEST
0x0007 CONSTANT GL_QUADS
0x4000 CONSTANT GL_COLOR_BUFFER_BIT
0x0100 CONSTANT GL_DEPTH_BUFFER_BIT
0x0009 CONSTANT GL_POLYGON                       

...................................................................

VARIABLE aPaintGL
: _tmp6  // ( a -- )  Рисуем фигуры OpenGL
  GL_COLOR_BUFFER_BIT glClear DROP
  1E float 0E float 1E float glColor3f DROP
  -1.0E double 1.0E double -1.0E double 1.1E double -1.0E double 1.0E double glOrtho DROP
1E float 0E float 1E float glColor3f DROP
GL_POLYGON glBegin DROP
  0E float 0.25E float 0.25E float glVertex3f DROP
  0E float 0.25E float 0.75E float glVertex3f DROP
  0E float 0.75E float 0.75E float glVertex3f DROP
  0E float 0.75E float 0.25E float glVertex3f DROP
glEnd DROP
glFlush DROP
  0
  ;
' _tmp6 1 CELLS CALLBACK: onPaintGL
' onPaintGL aPaintGL !

...................................................................................

fQGLWidget NEW w1         // Создадим окно OpenGL
w1 create   
aPaintGL @ w1 PaintGL     // Поставим обработчик на прорисовку
w1 show                          // Наслаждаемся окошком с OpenGL


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Пн янв 03, 2011 21:42 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mgw писал(а):
Просто три CALLBACK:
1- инициализация
2- paint (отрисовка)
3- изменение размера окна.

"Те, кто говорит, что женщине нужно только внимание, просто не представляют себе, что такое это "только" :) Особенно paint...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Пн янв 03, 2011 21:46 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
mgw писал(а):
Подключил OpenGL через QT. Работает Ни каких тебе DC и прочей низкоуровневой занудности.

Лучше все-же бы смотрелся TCL-подобный интерфейс с окнами и с окнами c OpenGL

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Чт янв 06, 2011 21:44 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Подскажите, пробовал кто нибудь на SPF создавать DLL библиотеки?

....................
вопрос снят ... Всё нашел.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Пт янв 07, 2011 21:22 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Написал небольшую статью о методике подключения QT к SPF 4.20.
http://mgw.narod.ru/doc.htm

Исходные тексты и пример (console.f) для Windows
http://mgw.narod.ru/spfqt_win.zip


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Сб янв 08, 2011 11:16 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
mgw писал(а):
Написал небольшую статью о методике подключения QT к SPF 4.20.
http://mgw.narod.ru/doc.htm

небольшая просьба: разместите пожалуйста эту статью так же в разделе статьи этого форума.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Пн янв 28, 2013 14:01 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Ilya пишет, что подключал GTK к SPF
Ни у кого нет примеров такого рода?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Пн янв 28, 2013 23:54 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
oco писал(а):
Ilya пишет, что подключал GTK к SPF
Ни у кого нет примеров такого рода?

А gforth вроде работает с X11 вообще через сокеты (или чё-то путаю я).
ЗЫ
Смотри свою электропочту.



За это сообщение автора Ilya поблагодарил: oco
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Вт янв 29, 2013 12:20 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Спасибо! Буду разбираться.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Вт янв 29, 2013 14:51 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Радует то, что в GTK не обязательно создавать виджеты вручную, а использовать GLADE
Код:
0 VALUE window
0 VALUE builder

: g_signal_connect 4 <( 0 0 )) g_signal_connect_data ;

: main
    CR ." Start!"
    (( 0 0 )) gtk_init DROP
    (()) gtk_builder_new TO builder
    (( builder S" test1.glade" DROP 0 )) gtk_builder_add_from_file
    (( builder S" demoWindow" DROP )) gtk_builder_get_object TO window
    (( window )) gtk_widget_show DROP
    (()) gtk_main DROP
    CR ." The main end!"
;

main

и все виджеты загрузятся из файла


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Вт янв 29, 2013 22:34 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
oco писал(а):
Радует то, что в GTK не обязательно создавать виджеты вручную, а использовать GLADE
..........
и все виджеты загрузятся из файла

А я всё пальцы об клаву стачивал! :o
Интересно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Пт мар 08, 2013 19:56 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Для пополнения темы - "всплывающие сообщения" .

Код:
REQUIRE +ZPLACE ~nn/lib/az.f

USE libnotify.so
0 VALUE gnotify
CREATE gner 256 ALLOT
CREATE gbody 1024 ALLOT   \ Содержимое тела уведомления


\ где adr n - заголовок, adr1 n1 - содержание
: SIMPLE-GNOTIFY ( adr n adr1 n -- )
(( Z" spf4" )) notify_init
IF
gbody ZPLACE DROP >R (( R> gbody 0 )) notify_notification_new TO gnotify   
(( gnotify gner )) notify_notification_show 0= THROW
(()) notify_uninit DROP
THEN
;

\EOF
S" SPF4" S" Проверка" SIMPLE-GNOTIFY



Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Сб мар 09, 2013 00:52 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Супер!
Сам недавно тоже стал использовать библиотеки в линуксе
Ilya писал(а):
Для пополнения темы - "всплывающие сообщения" .
Код:
gbody ZPLACE DROP >R (( R> gbody 0 )) notify_notification_new TO gnotify   

Вместо
Код:
>R (( R> gbody 0 )) notify_notification_new

можно
Код:
1 <( gbody 0 )) notify_notification_new

и один элемент со стека данных передастся в функцию первым


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth++
СообщениеДобавлено: Сб мар 09, 2013 11:12 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
oco писал(а):
Супер!
Сам недавно тоже стал использовать библиотеки в линуксе

можно
Код:
1 <( gbody 0 )) notify_notification_new

и один элемент со стека данных передастся в функцию первым

Логично! :)


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

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


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

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


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

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