1 Star 1 Fork 1

sniper15 / lv_sim_visual_studio_sdl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

LVGL for Windows Visual Studio port

IMPORTANT NOTE The next major version (v9.0.0) is developed in the master branch. The last stable version is available in the release/v8.3 branch.

WARNING The compilation for the master branch will be failed in the recent days because the maintainer, or Kenji Mouri are making a new Win32 support for the new LVGL driver architecture.

Screenshot

In order to better maintain LVGL for Windows Visual Studio port, I have planned to do a big refactoring for this repository. I think it may be the biggest refactoring since I become the maintainer of this repository. For more information, please read https://github.com/lvgl/lv_port_win_visual_studio/issues/53.

Introduction

This is a pre-configured Visual Studio project to try LVGL on a Windows PC. The project only depend on Win32 API, C Runtime and C++ STL, so you can compile it without any extra dependencies.

The project is currently maintained using Visual Studio 2019. It may well work without modification in Visual Studio 2017 but it is not actively supported with that version, so please install and test with Visual Studio 2019 before reporting any bugs.

Some one will notice that this repository had been renamed from lv_sim_visual_studio_sdl to lv_sim_visual_studio. You can read here and know why.

This project is not for Visual Studio Code, it is for Visual Studio 2019.

Instructions for cloning, building and running the application are found below.

Known Issues

  • The LV_MEM_SIZE macro in lv_conf.h should be 128KiB or larger because you may meet the out of memory issue when you are using the 64-bit simulator.
    • Note: In this project, the size is set to 1024KiB.
  • Users need to check the target selected in Visual Studio, because the simulator project support ARM64 and Visual Studio will choose ARM64 in the first time because of the alphabetical order.

Supported Features

This repo is designed for keeping the simulator behavior. If you wonder to adapt your LVGL application to Windows, please visit lvgl/lv_port_windows.

  • Only depends on Win32 API, C Runtime and C++ STL.
  • Native support for x86, x64 and ARM64 Windows.
  • Support compiling with VC-LTL toolchain to make the binary size as smaller as using MinGW.
  • Support Per-monitor DPI Aware.
  • Support Windows keyboard and mouse wheel event in the HAL level.
  • FreeType integration.

How to Clone

This repository contains other, necessary LVGL software repositories as git submodules. Those submodules are not pulled in with the normal git clone command and they will be needed. There are a couple of techniques to pull in the submodules.

Everything at Once

This command will clone the lv_sim_visual_studio repository and all submodules in a single step.

git clone --recurse-submodules https://github.com/lvgl/lv_sim_visual_studio.git

Main Repository First, Submodules Second

If you've already cloned the main repository you can pull in the submodules with a second command. Both commands are shown below.

git clone https://github.com/lvgl/lv_sim_visual_studio.git
cd lv_port_win_visual_studio
git submodule update --init --recursive

Keeping Your Clone Up-To-Date

If you have cloned this repository and would like to pull in the latest changes, you will have to do this in two steps. The first step will pull in updates to the main repo, including updated references to the submodules. The second step will update the code in the submodules to match those references. The two commands needed to accomplish this are shown below, run these commands from inside the main repository's directory (top level lv_sim_visual_studio directory works fine).

git pull
git submodule update --init --recursive

If you have chosen to fork this repository then updating the fork from upstream will require a different, more involved procedure.

How To Build & Run

Open the LVGL.Simulator.sln solution file in Visual Studio. Set the LVGL.Simulator project as the startup project. Click on the Local Windows Debugger button in the top toolbar. The included project will be built and run, launching from a cmd window.

Trying Things Out

There are a list of possible test applications in the LVGL.Simulator.cpp file. Each test or demo is launched via a single function call. By default the lv_demo_widgets function is the one that runs, but you can comment that one out and choose any of the others to compile and run.

Use these examples to start building your own application test code inside the simulator.

A Note About Versions

This repository has its submodule references updated shortly afk with minor version updates. When submodule updates take place a matching version tag is added tter the release of new, major releases of LittlevGL's core lvgl project. Occasionally it is updated to woro this repository.

If you need to pull in bug fixes in more recent changes to the submodules you will have to update the references on your own. If source files are added or removed in the submodules then the visual studio project will likely need adjusting. See the commit log for examples of submodule updates and associated visual studio file changes to guide you.

Documents

MIT License Copyright (c) 2019 Littlev Graphics Library Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

不定时同步github,加快下载速度,在本地更新子模块前,把它们的地址也换成gitee 展开 收起
C 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/sniper15/lv_sim_visual_studio_sdl.git
git@gitee.com:sniper15/lv_sim_visual_studio_sdl.git
sniper15
lv_sim_visual_studio_sdl
lv_sim_visual_studio_sdl
master

搜索帮助