Сережа
кросскомпилятором
Vladimir
они не существуют статически
Vladimir
user32 там всякий
Vladimir
только в длл
Сережа
i686-w64-mingw32-gcc -v  18:30:15 Using built-in specs. COLLECT_GCC=i686-w64-mingw32-gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-w64-mingw32/6.2-win32/lto-wrapper Target: i686-w64-mingw32 Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu' --libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++ --enable-lto --with-plugin-ld --enable-threads=win32 --program-suffix=-win32 --program-prefix=i686-w64-mingw32- --target=i686-w64-mingw32 --with-as=/usr/bin/i686-w64-mingw32-as --with-ld=/usr/bin/i686-w64-mingw32-ld --disable-libatomic Thread model: win32 gcc version 6.2.0 20160822 (GCC)
Vladimir
ты же не хтмлами будешь оперировать и не жава скриптами
Сережа
/home/user/mingw32/lib   ls | grep user32  18:31:02 libuser32.a
Vladimir
ой иди нахуй, посмотри что в этом а файле
Vladimir
там только сигнатуры функции
Маjко
и да нахуй кому нужен гуй который жрет по полгига оперативы?
Окстись, лиса целиком всего пол гига жрет с десятком вкладок
Vladimir
и да, чтобы длл либа сама подключалась, ей нужен а файл тож
Vladimir
ну всмысле
Маjко
Это в винде так? Чтобы скомпоновать динамически либу, нужна еще и статическая?
Vladimir
везде
Маjко
Эм
Vladimir
там не статическая, а урезаная её копия
Маjко
Ок
Vladimir
если ты хочешь загружать в динамике, можешь без а файла, если хочешь чтоб компилятор сам за тебя это всё сделал
Anton
крч соберу всю инфу что знаю, скину сюда - сами решите прав я или нет и закидаете помидорами
Anton
я пока еще пытаюсь ее обобщить и описать все
Vladimir
и имена забиндил функций, тащи с собой а файлик
Vladimir
на 1 кб
Сережа
бля и правда: Disassembly of section .text: 00000000 <_ActivateKeyboardLayout@8>: 0: ff 25 00 00 00 00 jmp *0x0 6: 90 nop 7: 90 nop
Сережа
и все в этом же стиле
Сережа
спасибо, я не подумал
Сережа
кароч проще вебсервир на хипере сделать и фронт на риакте)))))))))) чем нейтив уи)))))))))
Anton
С моей колокольни вебрендер смотрится неплохо, даже для гуя
Anton
Ты не ответил, про nanovg
клевая штука на самом деле
Anton
чистые С
Anton
пара тыщ строк вполне читабельного кода
Anton
плюс мультисэмплингн
Anton
и вуаля - красивый рендер svg
Anton
тебе нужно - сначала четко разделить библиотеку виджетов, и библиотеку окон, можно для окон юзать пока что нить сторонее
Anton
про эвенты/сигналы согласен, сложная часть
Anton
(ударился в полет фантазии) если у тебя будет обектное древо компонентов, то рендер на него можно навешивать плагинами, тебе будет пофигу на чем рисовать - directfb или opengl
Anton
Опять же для компоновки слоев, и видимой части - можно потырить идей из вебрендера
Сережа
я кстати только сегодня смотрел, что ваша сложная часть на расте уже реализована
Сережа
https://github.com/tomaka/winit
Anton
Вот это одна из не очень изящных вещей в Qt - там все виджеты рисуются по событиям, парент старается не рисовать по кординатам где расположены чилды, но по факту это все выливается в боль для программиста, смотреть dirty регион и перерисовывать только его, если был бы какой нить глобальный композитор - имхо было бы проще
Anton
а еще евентлуп и рендер в одном треде, что тоже не гуд
Vladimir
Антоны сильно шарят в гуи? Может вы чат для себя сздадите, а то второго шрамко никто не выдержит
Anton
https://github.com/tomaka/winit
На первый взгляд выгялдит как наколеночный евентлуп - такой запилить несложно, хотелось бы что нить типо системы сигнал/слот
Сережа
лучше чтобы из евентлупа в тред рендера отправлялись сообщения о том, что надо перерендерить?
Anton
лучше чтобы из евентлупа в тред рендера отправлялись сообщения о том, что надо перерендерить?
Что то такое, есть виджеты - после событий в евентлупе, виджет помечается как грязный - тред композитора по сообщению, перерисовывает сцену - все виджеты берет из кеша, а гразный перерисовывает - как то так
Anton
По отзывам в EFL хорошая реализация сцены
Anton
Антоны сильно шарят в гуи? Может вы чат для себя сздадите, а то второго шрамко никто не выдержит
Некоторые люди говорят не на интересные тебе темы, прости что засираем чат который спецально для тебя запустили
Сережа
а в куте разве не так? с отличием что перерисовывает в том же треде где "евентлуп"?
Anton
а в куте разве не так? с отличием что перерисовывает в том же треде где "евентлуп"?
В qt это это затрагивает родительский виджет, если я правильно путаю
Anton
В Qt хитро выкрутились, сделав два метода repaint и update - первый перерисовывает незамедлительно, второй помечает как грязный и ставит в "очередь" на перерисовку, при следующей "глобальной" перерисовке
Anton
Тут кстати пробегал кто то из embed, он случайно не тут?
Сережа
embed это ос под stm32 что-ли?
Сережа
repaint кстати не перерисовывает замедлительно
Сережа
это callback который дергается по событию
Anton
главная причина почему мне не нравится вебрендер это привязка гвоздями к gl контексту
Anton
причем довольно хитровыебано
Anton
я бы хотел чтобы система отрисовки имела абстрактную привязку
Anton
тоесть использовала gfx
Anton
к тому же я расчитываю на гибкое встраивание
Anton
тоесть вебрендер то можно встроить в независимый opengl контекст, но вот никак не объеденить с другими бэкеендами
Anton
чисто теритически - вдруг кто захочет себе базовый гуй встроить в игру на том же пистоне или аметисте
Anton
то окажется что такой гуй никому не всрался
Anton
к тому же стоит вопрос, а как делать встраивание webview?
Anton
делать некую неюзательную поеботу или копировать electron но на расте это не то чтобы прям полноценные гуи
Anton
это скорее некий внешний кусок, который позволяет что либо отобразить
Anton
repaint кстати не перерисовывает замедлительно
Он генерирует QPaintEvent - что почти тоже самое, поэтому нельзя юзать repaint в обработчике paintEvent
Anton
хотя и обрабатывается довольно долго порой, и мешает порой динамичности
Anton
я бы хотел чтобы система отрисовки имела абстрактную привязку
Абстрактные привязки - дополнительный оверхед, большинство напрмую в gl, а там где его нет юзают софтрендер
Anton
но если у кого контекст используется другой?
Anton
оверхед то оверхэд, но он не такой большой а вот выигрыш очевиден
Anton
потому что можно использовать платформенные спеки