OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 23 Октябрь, 2018 13:04

Часовой пояс: UTC + 3 часа


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему  [ Сообщений: 140 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 16 Апрель, 2013 08:16 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Илья Ермаков писал(а):
В том месте фреймворка, где идёт вызов HandleCtrlMsg, сделать логику запоминания "базы" и продолжения (если при прошлом вызове HandleCtrlMsg был вызван Input). А внутри Input запоминать контекст потока, снимать со стека все кадры выше запомненной "базы".
И ещё неясно, поможет ли такой механизм решить проблему интерфейсов, ведь тот же Mechanisms.Hook.TrackToResize чисто по набору параметров представляется как синхронная процедура - вызвали, а в результате сразу получаем новые размеры отображения. И пусть весь мир подождёт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 16 Апрель, 2013 08:55 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Пётр Кушнир писал(а):
ведь тот же Mechanisms.Hook.TrackToResize чисто по набору параметров представляется как синхронная процедура - вызвали, а в результате сразу получаем новые размеры отображения. И пусть весь мир подождёт.
HostMechanisms.Hook.TrackToResize в цикле использует тот же Ports.Frame.Input, а значит, решив проблему с Input, есть надежда порешать и этот вопрос.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 16 Апрель, 2013 09:57 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9011
Откуда: Россия, Орёл
Коллеги, скинул наработки по ЛС. Надеюсь, будут полезны :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 16 Апрель, 2013 10:35 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Патчи ядра это всегда хорошо :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Среда, 17 Апрель, 2013 19:11 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1438
Цитата:
FTGL is a free cross-platform Open Source C++ library that uses Freetype2 to simplify rendering fonts in OpenGL applications. FTGL supports bitmaps, pixmaps, texture maps, outlines, polygon mesh, and extruded polygon rendering modes.

http://sourceforge.net/projects/ftgl/

http://ftgl.sourceforge.net/docs/html/f ... orial.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Среда, 17 Апрель, 2013 20:44 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
спасибо, но это в ветку по шрифтам :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Четверг, 18 Апрель, 2013 19:34 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
В очередной раз победили OpenGL и реализовали различные режимы маркировки областей порта. Интересный эффект, например, формы стали сразу похожи на оригинальные, ББ-шные.
Плюс к этому я потихоньку расковыриваю HostMechanisms, решил не спешить и пока запилить платформонезависимый способ перетаскивания в пределах одного фрейма. Правда, мышь на скриншот не попала, но вот эта синяя рамка это будущая позиция контрола.
Пока что использую старый режим с циклом вокруг f.Input.
Как оказалось, работа механизмов должна выполняться в пределах одного фрейма, то есть, если при перерисовке окна фреймы перестроятся, то старый фрейм исчезнет, и будет ошибка выполнения внутри Containers.
Эта ситуация пока мешает реализовать способ Ильи Ермакова применительно к механизмам. Я решил пока не ломать совместимость в этом плане и планирую использовать сохранение контекста процедуры для реализации пользовательских диалогов.
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Понедельник, 22 Апрель, 2013 20:55 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Сегодня мы отрастили важную фичу - контекстные меню выделения.
Конь-текстное меню контрола на форме:
Изображение
Контекстное меню текста внутри контейнера в красивой рамочке, как в оригинальном ББ.
Изображение

А так же обнаружилась интересная особенность механизма фреймов. Пока не могу со стопроцентной уверенностью сказать, но в целом, ситуация такая:
Любое отображение, которое встраивает в себя другие отображения выполняет процедуру Views.InstallFrame внутри метода Views.View.Restore. Ну, дальше, фрейм добавляется к дереву фреймов корневого фрейма окна, процедуры перестройки фреймов проходят по новым фреймам и т.д.
Так вот, дело в том, что в нашем хосте проявилась интересная штука, видимо, из-за частой перерисовки всей области окна (а как ещё быть в OpenGL) происходит накопление фреймов без их очистки, то есть, они не удаляются процедурой Views.RemoveFrames при отработке цепочки вызовов Windows.Window.Restore > Views.ValidateRoot. В принципе, самое очевидное решение, выполнять удаление старых фреймов видимой области отображения вручную, при входе в метод Views.View.Restore. И он даёт результат, но ведь проблема в том, что в старом ББ такое действие нигде не применялось, а всё вполне работало и без него.
Вот к примеру, красивая картинка, состоит из контейнера-доски и встроенных шашек. При открытии начинает нагло жрать память :)
Изображение
Такие вот новости.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 23 Апрель, 2013 02:45 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7861
Откуда: Троицк, Москва
Параметр keepFrames там каким-нибудь боком не может сыграть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 23 Апрель, 2013 07:32 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
он играет, да, но из мест, которые нам недоступны, то есть, разработчики основного каркаса задумывали именно так - например, тексты и формы сами зачищают фреймы внутри себя, но это можно понять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Понедельник, 29 Апрель, 2013 20:00 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Продолжаем развитие подсистемы нативных контролов.
Задача усложняется тем, что виндовая реализация, при всей её громоздкости всё же использовала готовые контролы, с готовыми отлаженными поведением и внешним видом. А тут приходится реализовывать всё самому. Впрочем, абстракции фрейма не дают уйти от запланированной функциональности слишком далеко. Опять же, во фрейм можно встраивать другие фреймы, как я и поступил с полем ввода, в который интегрировано обычное текстовое отображение.

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Понедельник, 29 Апрель, 2013 22:59 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7861
Откуда: Троицк, Москва
Да ладно, отображение. Вьюшка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 06:07 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2190
Откуда: Красноярск
Подхвачу ваш офтоп.
Info21 писал(а):
Да ладно, отображение. Вьюшка.
Навязывание сленга имеет место быть.
Цитата:
В сленге программистов часто используется в качестве заимствования из английского — «вьюха», «вьюшка» wiki
модель контроллер отображение, в гугле 1 300 000
модель контроллер представление, в гугле 700 000
модель контроллер вид, в гугле 190 000
модель контроллер вьюшка, в гугле 7 000.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 10:00 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7861
Откуда: Троицк, Москва
Профессиональному учёному стыдно ссылаться на мнение толпы.
Вас извиняет то, что Вы ещё только начинающий.

Миллиарды речевых актов, не отягощённых задумчивостью, не имеют ни малейшего веса.

Всё было сказано в комментариях к переводу в ББ от Информатики-21.
Найдите там, почитайте и подумайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 10:14 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Я, как представитель толпы, считаю, что слово "вьюшка" годится для сленга, а как термин не катит совершенно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 11:46 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Пётр, рад что есть продвижение.
Правда, у меня есть опасение, что для реализации интерфейса в процессе переноса ЧЯ на OpenGL приходится разрабатывать разные несовместимые друг с другом модификации велосипедов, что усложняет дальнейшее развите проекта.

В элементах управления интерфейса знаки "&" в надписях означают назначение горячих клавиш. Соответственно, знак "&" отображаться не должен.
"Le&vel" -> "Level"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 11:50 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Русское слово "вьюшка" не имеет ни малейшего отношения к переводу слова "view". Если взят за основу сленг, то тем более, не может являться приемлемым термином. Так что я поддерживаю оппонентов Info21.

А как насчёт выделить эту часть разговора отдельно от обсуждения темы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 11:57 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Ухх, оффтоп ^^

Роман М. писал(а):
в процессе переноса ЧЯ на OpenGL приходится разрабатывать разные несовместимые друг с другом модификации велосипедов
В смысле? Конкретнее, то есть.

Роман М. писал(а):
Соответственно, знак "&" отображаться не должен.
Да, действительно, до этого пока руки не дошли :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 12:47 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Я про модификацию каркаса ЧЯ, реализацию элементов интерфейса и их поведение в OpenGL.
Пока ничего конкретного, так как код не смотрел.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 30 Апрель, 2013 13:31 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Аа, понял о чём вы.
Ну тут понятно, что для контролов уровня Windows или Qt нужен труд не только кодеров, но и дизайнеров, а с технической стороны нужен полный уход от примитивов Ports к полноценной работе с векторными форматами графики, отображаемой в OpenGL.

Сейчас я пробую воспроизвести основное поведение контролов используюя только платформонезависимые компоненты, в некоторых местах снабжая их хост-движком, как например всплывающие меню. Контролы нужны для дальнейшего развития основного проекта. Чтобы тестировать приложения с формами и прочим на новом хосте.

Всё равно надо освоить StdCFrames полностью, чтобы понимать, как работают все стандартные контролы. А для реализации чего-то крутого наверное нужен отдельный большой проект.


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

Часовой пояс: UTC + 3 часа


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB