Pull to refresh
9
0.2
Антон Головков@udattsk

Программист, предприниматель

Send message

Ну что, лови минуса, "за себя и за Саньку" ❤️

И что нам делать в этой ситуации?

Зачем вы употребляете это отвратительное слово?

Справедливо, будем работать над этим 👍

Ну лямбда не меняет контекст треда. В WUI события (и порождаемые ими вызовы лямбд) происходят из треда обрабатывающего event loop

Да, лицензия boost. Нужно бы ещё компонентов дописать... Если есть желание, присоединяйтесь!

Жму руку, и завидую белой завистью. Вот что значит отсутствие дурной бабы рядом ?

Все дело в размере устройства... Если она форматом с хорошую тумбочку, то все возможно...
Меня только смущает, что получится в итоге бабушкина радиола, стерео из одной АС так себе )

Спасибо!

Я пока думаю следующее:
1. Для ряда задач нужно пиксель в пиксель (условный embedded)
2. Для десктопа нужна читаемость/попадаемость мышью, т.е. нужен некий scaling.

Возможно я что-то упускаю, как я сейчас думаю это сделать:
2.1. Простой случай: просто умножаем координату/размер на scale factor
2.2. Для сложных приложений возможно лучше отдельное UI представление с другой компоновкой для 4К. Т. е. если у нас стало в 4 раза больше экрана, а кнопок у нас как в условном автокаде, то имеет смсыл показать больше кнопок/инструментов.

Вообще интересно что вы думаете про подводные камни 4К, и какие есть пути решения...

Будет мелко, однозначно. Поддержка DPI и svg скоро, надеюсь, будет.

Пока есть workaround - сделать 4K темы. Контролы автоматически увеличатся под текст. Но это такое, да...
Еще надо декларативный язык для создания UI и редактор...

1>LIBCMTD.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol WinMain referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)


К сожалению, на msvc так не работает.

Существенно переписал раздел "Главный цикл приложения". Теперь #ifdef'ы не торчат и все красиво. Спасибо еще раз за критику.

По stringview нужно подумать, скорее всего если c++14 на XP соберется то сделаем.

Спасибо за замечания по constexpr ?

По поводу платформенных кишков с ifdef вопрос уже решен - создана новая подсистема framework.

Теперь минимальный hello_word выглядит как-то так:

#ifdef _WIN32
int APIENTRY wWinMain(_In_ HINSTANCE,
    _In_opt_ HINSTANCE,
    _In_ LPWSTR    lpCmdLine,
    _In_ int       nCmdShow)
#elif __linux__
int main(int argc, char *argv[])
#endif
{
    wui::framework::init();

    // Здесь код инициализации конфига, темы и локали

    MainFrame mainFrame;
    mainFrame.Run();

    wui::framework::run();

    return 0;
}

MainFrame.cpp:

window->init(wui::locale("main_frame", "caption"), { -1, -1, width, height },
        wui::window_style::frame, [this]() { 
          wui::framework::stop(); 
        });

Сейчас еще сделаю селектор для конфигов и обновлю статью.

Вам, и всем кто указал на эту недоработку огромная благодарность ?

10 Mb x64, 8 Mb win32

Я всех люблю ?
Посмотрите лучше: https://lvgl.io/
wx отдыхает, как и wui ?

Information

Rating
2,740-th
Location
Томск, Томская обл., Россия
Date of birth
Registered
Activity

Specialization

Десктоп разработчик, Фулстек разработчик
Ведущий
C++
Linux
SQL
ООП
Git
Python
PHP
REST
MySQL
Bash