Отрисовка / скрытие заголовка и границ окна. (Linux)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение Andreich » 27.10.2008 13:24:54

Существует окно (создано при помощи glut/opengl)... Оно выглядит как черный прямоугольник! Как заставить систему рисовать для этого окна границы и заголовок?

P.S. Операционная система: Linux (Ubuntu 8.04); Lazarus 0.9.26

P.P.S. Если кто-нибудь знает, как рисовать в родном окне Lazarus (например на Form1) при помощи OpenGL - подскажите пожалуйста, как это реализуется?
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение FedeX » 27.10.2008 13:55:40

В Лазаре есть компонент TOpenGLContext. При установке лазаря из репозитория этот компонент лежит в Убунте где-то здесь /usr/lib/lazarus/components/opengl.
Насчёт глут - я с ним не работал, но насколько знаю там по умолчанию создаёться окно с заголовком. Тоесть ты что-то не так инициализировал.
Ещё если знать хендл х-окна можно рисовать на практически произвольном окне в Линуксе и отображать прятать его рамку и т.д. В LCL хендл х-окна (а возможно гтк виджета - не помню точно) вродебы лежит в Form.Handle (где-то на этом форуме упоминалось). Где-то на этом сайте кажеться есть статья как работать с х-ами напрямую.
Аватара пользователя
FedeX
постоялец
 
Сообщения: 422
Зарегистрирован: 27.03.2006 09:25:34
Откуда: украина, житомир

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение B4rr4cuda » 27.10.2008 14:48:00

Я пробовал работать с GL и рисовать на форме - впечатления отвратные. В общем не знаю как под виндой, а под лином все мерцает. Форма постоянно обновляется и перерисовывается поверх gl контекста. Ужас. Хороший результат дает чистый fpc +glut или fpc+SDL. Многие крайне не рекомендуют глут. Честно говоря хз по каким причинам, но не любят его. Если цель геймдев - то SDL - хороший выбор (пакет JEDI-SDL). Честно говоря покопал я это дело и плюнул. Тут моя запись в блоге на эту тему.
Некоторое время покопал в сторону Ogre3D. Хороший графический кроссплатформенный движок. Минус у него один - нужно писать на сях.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение FedeX » 27.10.2008 15:20:24

B4rr4cuda писал(а):Я пробовал работать с GL и рисовать на форме - впечатления отвратные. В общем не знаю как под виндой, а под лином все мерцает.

Наверно что-то не так было сделано - демка-то поставляемая с lazarus (/usr/lib/lazarus/examples/openglcontrol) замечательно работает. Если руками создавал контекст, возможно не выставил двойную буферизацию или ещё что...

Многие крайне не рекомендуют глут. Честно говоря хз по каким причинам, но не любят его

Наверно из-за лицензии. Хотя есть freeglut. А ещё наверно из-за того, что в документации к глуту так и написано, что он для демонстраций и уроков, а не для серьёзных приложений.

SDL, да - хорош. Только в нашем веке уже лучше не юзать SDLSurface-ы и пр. растровые возможности SDL - лучше связку - SDL+OpenGL.

Ещё GLScene сносно работала и под Линухом и под Виндой. ВОзможностей там тьма, хотя всё это со временем поростает мохом. К тому же я её пробовал на Лазаре 0.9.24, а на 0.9.26 попробовал ради интереса поставить - уже не ставиться что-то. Просит JpegForLazarus, а я не знаю куда он делся. Мож кто знает?
Аватара пользователя
FedeX
постоялец
 
Сообщения: 422
Зарегистрирован: 27.03.2006 09:25:34
Откуда: украина, житомир

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение Andreich » 27.10.2008 15:23:45

FedeX писал(а):Насчёт глут - я с ним не работал, но насколько знаю там по умолчанию создаёться окно с заголовком. Тоесть ты что-то не так инициализировал.

Даже не знаю,... пример брал с lazarus wiki (http://wiki.lazarus.freepascal.org/OpenGL_Tutorial), но там у них картинки с заголовками и границами!.. а у меня их нет.

B4rr4cuda писал(а):Хороший результат дает чистый fpc +glut или fpc+SDL. Многие крайне не рекомендуют глут. Честно говоря хз по каким причинам, но не любят его.

Тоже сейчас пробую lazarus+glut,.. пока вроде нормально, особых нареканий нет!
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение VirtUX » 14.05.2009 11:13:48

Одному из окон в проекте установил свойство BorderStyle := bsNone. Если использовать процедуру Form.ShowModal; для показа этого окна, то заголовок все-равно отрисовывается. Если использовать Form.Show, то заголовка с рамкой нет, но мне не подходит такой вариант, т.к. вызывающая форма должна быть заблокирована для редактирования. Виджет QT 4.5. Lazarus 0.9.27 SVN от 13 мая. Это бага или можно как-то по другому решить проблему?
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение alexmai » 21.05.2009 19:14:00

VirtUX писал(а):Одному из окон в проекте установил свойство BorderStyle := bsNone. Если использовать процедуру Form.ShowModal; для показа этого окна, то заголовок все-равно отрисовывается. Если использовать Form.Show, то заголовка с рамкой нет, но мне не подходит такой вариант, т.к. вызывающая форма должна быть заблокирована для редактирования. Виджет QT 4.5. Lazarus 0.9.27 SVN от 13 мая. Это бага или можно как-то по другому решить проблему?

Попробуйте установить это свойство BorderStyle := bsNone установить в самом методе Show.
правда у меня виджет gtk2 Lazarus 27 , но заголовок убирает и Show и в ShowModal.
На этом форуме я уже задавал другой вопрос, что в КДЕ нельзя сделать тип окна только с системным крестиком, все время вылазят все иконки , и сворачивания и разворачивания.
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение EmeraldMan » 17.10.2009 12:28:50

Возникла проблемка с glut в Ununtu 9.04.
Под Windows написаны простенькие программы (напр. вращающийся куб).
Подключаю glut и рисую чайник glutSolidTeapot(1.5); тоже все работает.
Компилирую в Ubuntu и тут начались проблемы... Прога не запускается.
Убираю из проекта чайник и подключение модуля glut - все работает.
Докачал библиотеки Glut (libglut3 и др.), подключаю модуль glut - запускается! (До этого даже просто с подключенным модулем не запускалась).
Снова использую функцию glutSolidTeapot, запускаю - окно формы только появляется и сразу исчезает...
Может кто сталкивался с этим или знает выход из ситуации?
Аватара пользователя
EmeraldMan
постоялец
 
Сообщения: 149
Зарегистрирован: 16.10.2008 08:41:51
Откуда: Белгород

Re: Отрисовка / скрытие заголовка и границ окна. (Linux)

Сообщение insight81 » 22.03.2010 16:03:42

Отвечаю первоначальный вопрос по теме.
Сам столкнулся с подобной проблемой. Решается так: в ubuntu необходимо отключить визуальные эффекты (Система-Параметры-Внешний вид-Визуальные эффекты-Без эффектов). После этого окна на базе glut отображаются нормально, в смысле с заголовком.
Удачи.
insight81
незнакомец
 
Сообщения: 1
Зарегистрирован: 22.03.2010 14:41:17


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot] и гости: 31

Рейтинг@Mail.ru