Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Windowless UI / 25 сообщений из 36, страница 1 из 2
27.06.2017, 05:17
    #39478085
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
Слабая надежда, но спрошу

Нужен безоконный UI (без HWND), со всеми иерархиями, модалами, посылкой команд/нотификаций от детей к родителям и прочее. Но с возможностью наполнить своим функционалом для рисования самих контролов.
Откопал тут по надобности свой велосипед, а он плохо ездит по новым дорогам, доделывать его как-то не хочется, если есть что-то готовое, но чё-то сомневаюсь, что есть :(
...
Рейтинг: 0 / 0
27.06.2017, 08:47
    #39478134
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMb,

Безоконный - в смысле с единственным главным окном?
...
Рейтинг: 0 / 0
27.06.2017, 08:53
    #39478136
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
Даже для рисования через OpenGL в венде надо сначала создать окно.
...
Рейтинг: 0 / 0
27.06.2017, 08:54
    #39478137
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
ИзопропилБезоконный - в смысле с единственным главным окном?Ну, типа, да. Точнее, не совсем.
Нужна просто система управления иерархией "окон" и UI API. Т.е. чтобы даже можно было с консоли управлять.
И возможность вставить код, рисующий все эти окна. Вот тут нужно окно, да, но это уже забота пользователя.
Соответственно, потом у этого одного главного окна надо сделать привязку к рисования и взаимодействию (мышь/клавиатура/ещё)
Если такой библиотеки нету, по-моему, она была бы очень полезна, потому что абстрактна и универсальна.
...
Рейтинг: 0 / 0
27.06.2017, 08:59
    #39478141
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMb,

QML например
...
Рейтинг: 0 / 0
27.06.2017, 09:06
    #39478149
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
браузер типа phantomjs
...
Рейтинг: 0 / 0
27.06.2017, 09:11
    #39478152
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
rdb_devДаже для рисования через OpenGL в венде надо сначала создать окно.
Для инициализации -да
Необязательно видимое окно

А рендерить можно в текстуры сколько угодно
...
Рейтинг: 0 / 0
27.06.2017, 09:39
    #39478182
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
NekZQML напримерон же не предлагает оконный функционал, только описание самих окон?
Ну и без JS не работает же?
Изопропилбраузер типа phantomjsТоже JS?

Давайте, немного подробнее распишу:
1.1 Есть система/иерархия абстрактных окон, со свойствами, размерами, отношением.
1.2 Есть API, где их можно двигать, нажимать, читать/писать свойства и так далее.
2 Есть API (callback?) позволяющий рисовать их по событию, как, например, WM_DRAWITEM.
3 Есть API для привязки к реальным окнам: для рисования, кликов, кнопок и прочего.

Т.е. пункт 1 - это абстрактная совсем(no JS!) модель иерархии окон, а используя пункт 2 и 3, пользователь может прикручивать эти окна к реальности по своему усмотрению(JS welcome)
...
Рейтинг: 0 / 0
27.06.2017, 10:46
    #39478246
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMb3 Есть API для привязки к реальным окнам: для рисования, кликов, кнопок и прочего.
а это ещё что за зверь?
...
Рейтинг: 0 / 0
27.06.2017, 11:00
    #39478270
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMbНу, типа, да. Точнее, не совсем.
Нужна просто система управления иерархией "окон" и UI API. Т.е. чтобы даже можно было с консоли управлять.
И возможность вставить код, рисующий все эти окна. Вот тут нужно окно, да, но это уже забота пользователя.
Соответственно, потом у этого одного главного окна надо сделать привязку к рисования и взаимодействию (мышь/клавиатура/ещё)
Если такой библиотеки нету, по-моему, она была бы очень полезна, потому что абстрактна и универсальна. GTK+
...
Рейтинг: 0 / 0
27.06.2017, 11:25
    #39478290
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
Изопропила это ещё что за зверь?Сама по себе система с внешним миром никак не взаимодействует. Чтобы её стало "видно", надо чтобы она была функционально связана с каким-то объектом. Например, окном. Событие перерисовки окна приходит в обработчик, мы передаём его через API в эту UI. UI пробегается по всем контролам и зовёт их функции "рисования", на что они зовут колбаки обратно в приложении, которое решает, как они будут отрисованы. Кликнули в окно - тоже самое, обработчик передаёт клик в UI.
rdb_dev GTK+ по описанию подходит вроде бы :)
1. GLib
2. Cairo + Pango
3. GLib
Спасибо, буду разбираться.
...
Рейтинг: 0 / 0
27.06.2017, 12:02
    #39478342
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMbИзопропилБезоконный - в смысле с единственным главным окном?Ну, типа, да. Точнее, не совсем.
Нужна просто система управления иерархией "окон" и UI API. Т.е. чтобы даже можно было с консоли управлять.
И возможность вставить код, рисующий все эти окна. Вот тут нужно окно, да, но это уже забота пользователя.
Соответственно, потом у этого одного главного окна надо сделать привязку к рисования и взаимодействию (мышь/клавиатура/ещё)
Если такой библиотеки нету, по-моему, она была бы очень полезна, потому что абстрактна и универсальна.

Совсем не понятно, что тебе надо, и главное -- зачем ?
user.dll не хочешь/можешь использовать ?
Не получится.

чисто теоретически ты можешь рисовать контролы сам с помощью GDI на дектопе (это такое специальное окно с хендлом 0).
Но нафига это всё -- не понятно.
...
Рейтинг: 0 / 0
27.06.2017, 12:34
    #39478378
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
MasterZiv,

предположить я могу следующее - удалённый доступ - события мыши клавиатуры поступаю удалённо,
на некоем сервере строится модель интерфейса, далее клиенту посылается не растровая картинка,
а команды управления/отображения элементами интерфейса(на клиенте отображение - по любой технологии приоизводится)
...
Рейтинг: 0 / 0
27.06.2017, 12:41
    #39478387
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
MasterZivСовсем не понятно, что тебе надо, и главное -- зачем ?хочу сделать безоконный GUI. Что бы не было привязки к виндовым окнам. Т.е. я могу сейчас отправить событие отрисовки в UI, оно мне срисуется в картинку, это картинку я могу потом рендерить хоть куда. Это сейчас так работает.
MasterZivuser.dll не хочешь/можешь использовать ?не хочу, да
MasterZivчисто теоретически ты можешь рисовать контролы сам с помощью GDI на дектопе (это такое специальное окно с хендлом 0).
Но нафига это всё -- не понятно.Почему на десктопе? Я их сейчас рисую в буфер(картинку). Буфер потом можно рисовать в окно. С этого же окна снимать мышь и клавиатуру и отправлять в этот UI.

Т.е. изначально проблема в том, что сейчас это велосипед. Графика загружается в контролы при создании, и они сами иерархично рисуются в родителей, до корня, с корня потом снимается буфер и кидается на настоящее окно. Хочется: 1. нарастить функционал, 2. упростить работу с этим велосипедом. Но есть подозрение, что потрачу на это много времени.

Btw, GTK+ мне пока кажется сильно тяжеловатым, С + порт_на С++. Но пока смотрю ещё...
...
Рейтинг: 0 / 0
27.06.2017, 12:50
    #39478396
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
Изопропилпредположить я могу следующее - удалённый доступкстати, тоже вариант!
Но вообще любая система UI, по идее, должна иметь безынтерфейсный режим(слой чистой логики).
...
Рейтинг: 0 / 0
27.06.2017, 13:41
    #39478436
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMb,

XAML - рассматривал?
...
Рейтинг: 0 / 0
27.06.2017, 13:49
    #39478445
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMbкстати, тоже вариант!
Но вообще любая система UI, по идее, должна иметь безынтерфейсный режим(слой чистой логики).Все необходимые описания стандартов "дистанционных интерфейсов" находятся на сайте W3C и, по большей части, реализованы в большинстве современных браузеров на базе фреймворка WebKit .
...
Рейтинг: 0 / 0
27.06.2017, 13:59
    #39478454
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMb,

Можешь брать за основу любую библиотеку с ненативными (своими) контролами. Подменяешь ей финальный рендер - и все.

Не хочешь GTK или Qt5 - смотри FLTK или IUP
...
Рейтинг: 0 / 0
27.06.2017, 15:08
    #39478507
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMb,

оконный сервер как в Linux хочешь? с ним почти все кросс-гуи умеют работать, ну а некоторые, типа GTK, только для него и написаны
...
Рейтинг: 0 / 0
27.06.2017, 16:59
    #39478598
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
Я вот лично нифига не понял.
Ну да ладно.
...
Рейтинг: 0 / 0
27.06.2017, 17:27
    #39478611
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
А чего ж тут непонятного? Человек самостоятельно дошел до идеи X Window. Только привычка к виндам не дает ему провести параллелей.

CEMb, начни читать тут: https://en.wikipedia.org/wiki/X_Window_System
А для прикладной работы, лучше всего взять GTK+, оно вовсе не такое сложное как тебе показалось на первый взгляд.
...
Рейтинг: 0 / 0
28.06.2017, 06:19
    #39478765
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
ИзопропилXAML - рассматривал?это просто разметка, мне нужен базовый функционал UI. В качестве внешнего описания форм хотел использовать xml+boost
rdb_devВсе необходимые описания стандартов "дистанционных интерфейсов" находятся на сайте W3C и, по большей части, реализованы в большинстве современных браузеров на базе фреймворка WebKit .Это больше для веба, как я понял.
SiemarglFLTKага, вот эта штука интересная.
kealon(Ruslan)оконный сервер как в Linux хочешь?нет, просто абстрактный UI и независимую графику для него.
MasterZivЯ вот лично нифига не понял.абстрагирование и разделение GUI на независимые блоки
White OwlА чего ж тут непонятного? Человек самостоятельно дошел до идеи X Window. Только привычка к виндам не дает ему провести параллелей.Нет, не совсем так, но может так было бы и лучше :)
White OwlА для прикладной работы, лучше всего взять GTK+, оно вовсе не такое сложное как тебе показалось на первый взгляд.я не говорил, что она сложная, я говорил, что она тяжеловатая для моих целей. Т.е. там сама либа, плюс порт на с++. Мне надо light weignt.
И наличие возможности статически линковать.
...
Рейтинг: 0 / 0
28.06.2017, 07:14
    #39478769
_Sheraton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
Рекомендую wxWidgets в generic сборке. Отличие generic от обычной сборки заключается в том, что generic создает контроллы свои и с "нуля", а не берёт их из операционной системы.
...
Рейтинг: 0 / 0
28.06.2017, 08:35
    #39478779
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
_SheratonРекомендую wxWidgets в generic сборке.вот на них я тоже смотрел. Эту штуку можно статически прилинковать?
...
Рейтинг: 0 / 0
28.06.2017, 11:38
    #39478920
_Sheraton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Windowless UI
CEMb_SheratonРекомендую wxWidgets в generic сборке.вот на них я тоже смотрел. Эту штуку можно статически прилинковать?

Разумеется. Под Linux я для статики добавляю в команду сборки: --disable-shared под win я 5 лет назад еще легче делал статическую сборку. Но уже не помню как.
Так же нужно понимать, что generic немного отстает в развитии от остальных сборок. Поэтому есть некоторые "не смертельные" баги, которые можно исправить самому.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Windowless UI / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]