lvgl / lv_port_win_codeblocks

Windows PC simulator project for LVGL embedded GUI Library
MIT License
129 stars 79 forks source link

Can you replace the drawing engine with SDL2? #2

Closed yihua-wang closed 4 years ago

yihua-wang commented 4 years ago

It's too difficult to use the WIN32 GUI.

embeddedt commented 4 years ago

Unfortunately, probably not.

Win32 was deliberately chosen to make the setup process easier for new users. If you would like SDL, you could use the Visual Studio project instead.

You shouldn't need to interact with the Win32 APIs at all. What's too difficult?

yihua-wang commented 4 years ago

Can you add the console window to the codeblocks project to support printf infomation? and fix a bug where the codeblocks process could not be completely closed after clicking the GUI window close button.

yihua-wang commented 4 years ago

I fixed the bug by modifying the code in the Windows drv.c file at line 192. Change the while to if, it can kill processes completely.

/***/ static void msg_handler(void *param) { (void)param;

MSG msg;
BOOL bRet;
if( (bRet = PeekMessage( &msg, NULL, 0, 0, TRUE )) != 0)
{
    if (bRet == -1)
    {
        return;
    }
    else
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}
if(msg.message == WM_QUIT)
    lv_win_exit_flag = true;

}

embeddedt commented 4 years ago

I fixed the bug by modifying the code in the Windows drv.c file at line 192.

Thank you! I've applied the change here.

Can you add the console window to the codeblocks project to support printf infomation?

Again, I'd prefer not to make this the default setting for simplicity and aesthetics (having a console window open at the same time looks rather ugly for an example). However, you can add the console to your copy of the project.

You'll need to right-click on the LittlevGL project in the sidebar and open the settings/properties window (sorry, I don't recall the exact name). Then you can choose the Build targets tab. It should look like this (without the "New build target" dialog):

You can then change the "Type" option to Console application. Some people have reported online that you may also need to add -mwindows to the linker options, which you can find by clicking the "Build options" button.

stale[bot] commented 4 years ago

This issue or pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.