All working
This commit is contained in:
		
							parent
							
								
									34e8c0e07b
								
							
						
					
					
						commit
						e26410c36e
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,4 +1,3 @@
 | 
				
			|||||||
build/*
 | 
					build/*
 | 
				
			||||||
build
 | 
					build
 | 
				
			||||||
lib/*
 | 
					 | 
				
			||||||
!lib/testlib .gitignore
 | 
					!lib/testlib .gitignore
 | 
				
			||||||
							
								
								
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@ -1,5 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "files.associations": {
 | 
					    "files.associations": {
 | 
				
			||||||
        "lvgl.h": "c"
 | 
					        "lvgl.h": "c",
 | 
				
			||||||
 | 
					        "sdl.h": "c"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -12,6 +12,7 @@ add_compile_definitions(MAIN_MESSAGE="Hello for main.c from cmake.")
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# For LVGL
 | 
					# For LVGL
 | 
				
			||||||
add_compile_definitions(DLV_CONF_PATH="${CMAKE_CURRENT_SOURCE_DIR}/include/lv_conf.h")
 | 
					add_compile_definitions(DLV_CONF_PATH="${CMAKE_CURRENT_SOURCE_DIR}/include/lv_conf.h")
 | 
				
			||||||
 | 
					# add_compile_definitions(DLV_CONF_PATH="${CMAKE_CURRENT_SOURCE_DIR}/include/lv_drv_conf.h")
 | 
				
			||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/)
 | 
					include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# set 1 to compile static (Standalone) 
 | 
					# set 1 to compile static (Standalone) 
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										504
									
								
								include/lv_drv_conf.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										504
									
								
								include/lv_drv_conf.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,504 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @file lv_drv_conf.h
 | 
				
			||||||
 | 
					 * Configuration file for v9.0.0-dev
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * COPY THIS FILE AS lv_drv_conf.h
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* clang-format off */
 | 
				
			||||||
 | 
					#if 1 /*Set it to "1" to enable the content*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef LV_DRV_CONF_H
 | 
				
			||||||
 | 
					#define LV_DRV_CONF_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "lv_conf.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*********************
 | 
				
			||||||
 | 
					 * DELAY INTERFACE
 | 
				
			||||||
 | 
					 *********************/
 | 
				
			||||||
 | 
					#define LV_DRV_DELAY_INCLUDE  <stdint.h>            /*Dummy include by default*/
 | 
				
			||||||
 | 
					#define LV_DRV_DELAY_US(us)  /*delay_us(us)*/       /*Delay the given number of microseconds*/
 | 
				
			||||||
 | 
					#define LV_DRV_DELAY_MS(ms)  /*delay_ms(ms)*/       /*Delay the given number of milliseconds*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*********************
 | 
				
			||||||
 | 
					 * DISPLAY INTERFACE
 | 
				
			||||||
 | 
					 *********************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*------------
 | 
				
			||||||
 | 
					 *  Common
 | 
				
			||||||
 | 
					 *------------*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_INCLUDE         <stdint.h>           /*Dummy include by default*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_CMD_DATA(val)  /*pin_x_set(val)*/    /*Set the command/data pin to 'val'*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_RST(val)       /*pin_x_set(val)*/    /*Set the reset pin to 'val'*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*---------
 | 
				
			||||||
 | 
					 *  SPI
 | 
				
			||||||
 | 
					 *---------*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_SPI_CS(val)          /*spi_cs_set(val)*/     /*Set the SPI's Chip select to 'val'*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_SPI_WR_BYTE(data)    /*spi_wr(data)*/        /*Write a byte the SPI bus*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_SPI_WR_ARRAY(adr, n) /*spi_wr_mem(adr, n)*/  /*Write 'n' bytes to SPI bus from 'adr'*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*------------------
 | 
				
			||||||
 | 
					 *  Parallel port
 | 
				
			||||||
 | 
					 *-----------------*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_PAR_CS(val)          /*par_cs_set(val)*/   /*Set the Parallel port's Chip select to 'val'*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_PAR_SLOW             /*par_slow()*/        /*Set low speed on the parallel port*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_PAR_FAST             /*par_fast()*/        /*Set high speed on the parallel port*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_PAR_WR_WORD(data)    /*par_wr(data)*/      /*Write a word to the parallel port*/
 | 
				
			||||||
 | 
					#define LV_DRV_DISP_PAR_WR_ARRAY(adr, n) /*par_wr_mem(adr,n)*/ /*Write 'n' bytes to Parallel ports from 'adr'*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***************************
 | 
				
			||||||
 | 
					 * INPUT DEVICE INTERFACE
 | 
				
			||||||
 | 
					 ***************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------
 | 
				
			||||||
 | 
					 *  Common
 | 
				
			||||||
 | 
					 *----------*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_INCLUDE     <stdint.h>             /*Dummy include by default*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_RST(val)    /*pin_x_set(val)*/     /*Set the reset pin to 'val'*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_IRQ_READ    0 /*pn_x_read()*/      /*Read the IRQ pin*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*---------
 | 
				
			||||||
 | 
					 *  SPI
 | 
				
			||||||
 | 
					 *---------*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_SPI_CS(val)            /*spi_cs_set(val)*/     /*Set the SPI's Chip select to 'val'*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_SPI_XCHG_BYTE(data)    0 /*spi_xchg(val)*/     /*Write 'val' to SPI and give the read value*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*---------
 | 
				
			||||||
 | 
					 *  I2C
 | 
				
			||||||
 | 
					 *---------*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_I2C_START              /*i2c_start()*/       /*Make an I2C start*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_I2C_STOP               /*i2c_stop()*/        /*Make an I2C stop*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_I2C_RESTART            /*i2c_restart()*/     /*Make an I2C restart*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_I2C_WR(data)           /*i2c_wr(data)*/      /*Write a byte to the I1C bus*/
 | 
				
			||||||
 | 
					#define LV_DRV_INDEV_I2C_READ(last_read)    0 /*i2c_rd()*/        /*Read a byte from the I2C bud*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*********************
 | 
				
			||||||
 | 
					 *  DISPLAY DRIVERS
 | 
				
			||||||
 | 
					 *********************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------
 | 
				
			||||||
 | 
					 *  SDL
 | 
				
			||||||
 | 
					 *-------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* SDL based drivers for display, mouse, mousewheel and keyboard*/
 | 
				
			||||||
 | 
					#ifndef USE_SDL
 | 
				
			||||||
 | 
					# define USE_SDL 0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Hardware accelerated SDL driver */
 | 
				
			||||||
 | 
					#ifndef USE_SDL_GPU
 | 
				
			||||||
 | 
					# define USE_SDL_GPU 0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_SDL || USE_SDL_GPU
 | 
				
			||||||
 | 
					#  define SDL_HOR_RES     480
 | 
				
			||||||
 | 
					#  define SDL_VER_RES     320
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Scale window by this factor (useful when simulating small screens) */
 | 
				
			||||||
 | 
					#  define SDL_ZOOM        1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Used to test true double buffering with only address changing.
 | 
				
			||||||
 | 
					 * Use 2 draw buffers, bith with SDL_HOR_RES x SDL_VER_RES size*/
 | 
				
			||||||
 | 
					#  define SDL_DOUBLE_BUFFERED 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*Eclipse: <SDL2/SDL.h>    Visual Studio: <SDL.h>*/
 | 
				
			||||||
 | 
					#  define SDL_INCLUDE_PATH    <SDL2/SDL.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*Open two windows to test multi display support*/
 | 
				
			||||||
 | 
					#  define SDL_DUAL_DISPLAY            0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Window Title  */
 | 
				
			||||||
 | 
					#  define SDL_WINDOW_TITLE "TFT Simulator"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------
 | 
				
			||||||
 | 
					 *  Monitor of PC
 | 
				
			||||||
 | 
					 *-------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*DEPRECATED: Use the SDL driver instead. */
 | 
				
			||||||
 | 
					#ifndef USE_MONITOR
 | 
				
			||||||
 | 
					#  define USE_MONITOR         0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_MONITOR
 | 
				
			||||||
 | 
					#  define MONITOR_HOR_RES     480
 | 
				
			||||||
 | 
					#  define MONITOR_VER_RES     320
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Scale window by this factor (useful when simulating small screens) */
 | 
				
			||||||
 | 
					#  define MONITOR_ZOOM        1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Used to test true double buffering with only address changing.
 | 
				
			||||||
 | 
					 * Use 2 draw buffers, bith with MONITOR_HOR_RES x MONITOR_VER_RES size*/
 | 
				
			||||||
 | 
					#  define MONITOR_DOUBLE_BUFFERED 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*Eclipse: <SDL2/SDL.h>    Visual Studio: <SDL.h>*/
 | 
				
			||||||
 | 
					#  define MONITOR_SDL_INCLUDE_PATH    <SDL2/SDL.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*Open two windows to test multi display support*/
 | 
				
			||||||
 | 
					#  define MONITOR_DUAL            0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------
 | 
				
			||||||
 | 
					 *  Native Windows (including mouse)
 | 
				
			||||||
 | 
					 *----------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_WINDOWS
 | 
				
			||||||
 | 
					#  define USE_WINDOWS       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_WINDOWS
 | 
				
			||||||
 | 
					#  define WINDOW_HOR_RES      480
 | 
				
			||||||
 | 
					#  define WINDOW_VER_RES      320
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------------------------
 | 
				
			||||||
 | 
					 *  Native Windows (win32drv)
 | 
				
			||||||
 | 
					 *---------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_WIN32DRV
 | 
				
			||||||
 | 
					#  define USE_WIN32DRV       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_WIN32DRV
 | 
				
			||||||
 | 
					/* Scale window by this factor (useful when simulating small screens) */
 | 
				
			||||||
 | 
					#  define WIN32DRV_MONITOR_ZOOM        1
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------------------------------------
 | 
				
			||||||
 | 
					 *  GTK drivers (monitor, mouse, keyboard
 | 
				
			||||||
 | 
					 *---------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_GTK
 | 
				
			||||||
 | 
					#  define USE_GTK       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------------------------------------
 | 
				
			||||||
 | 
					 *  Wayland drivers (monitor, mouse, keyboard, touchscreen)
 | 
				
			||||||
 | 
					 *---------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_WAYLAND
 | 
				
			||||||
 | 
					#  define USE_WAYLAND       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_WAYLAND
 | 
				
			||||||
 | 
					/* Support for client-side decorations */
 | 
				
			||||||
 | 
					#  ifndef LV_WAYLAND_CLIENT_SIDE_DECORATIONS
 | 
				
			||||||
 | 
					#    define LV_WAYLAND_CLIENT_SIDE_DECORATIONS 1
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					/* Support for (deprecated) wl-shell protocol */
 | 
				
			||||||
 | 
					#  ifndef LV_WAYLAND_WL_SHELL
 | 
				
			||||||
 | 
					#    define LV_WAYLAND_WL_SHELL 1
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					/* Support for xdg-shell protocol */
 | 
				
			||||||
 | 
					#  ifndef LV_WAYLAND_XDG_SHELL
 | 
				
			||||||
 | 
					#    define LV_WAYLAND_XDG_SHELL 0
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------------------------------------
 | 
				
			||||||
 | 
					 *  X11 drivers (monitor, mouse, keyboard)
 | 
				
			||||||
 | 
					 *---------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_X11
 | 
				
			||||||
 | 
					#  define USE_X11       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------------
 | 
				
			||||||
 | 
					 *    SSD1963
 | 
				
			||||||
 | 
					 *--------------*/
 | 
				
			||||||
 | 
					#ifndef USE_SSD1963
 | 
				
			||||||
 | 
					#  define USE_SSD1963         0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_SSD1963
 | 
				
			||||||
 | 
					#  define SSD1963_HOR_RES     LV_HOR_RES
 | 
				
			||||||
 | 
					#  define SSD1963_VER_RES     LV_VER_RES
 | 
				
			||||||
 | 
					#  define SSD1963_HT          531
 | 
				
			||||||
 | 
					#  define SSD1963_HPS         43
 | 
				
			||||||
 | 
					#  define SSD1963_LPS         8
 | 
				
			||||||
 | 
					#  define SSD1963_HPW         10
 | 
				
			||||||
 | 
					#  define SSD1963_VT          288
 | 
				
			||||||
 | 
					#  define SSD1963_VPS         12
 | 
				
			||||||
 | 
					#  define SSD1963_FPS         4
 | 
				
			||||||
 | 
					#  define SSD1963_VPW         10
 | 
				
			||||||
 | 
					#  define SSD1963_HS_NEG      0   /*Negative hsync*/
 | 
				
			||||||
 | 
					#  define SSD1963_VS_NEG      0   /*Negative vsync*/
 | 
				
			||||||
 | 
					#  define SSD1963_ORI         0   /*0, 90, 180, 270*/
 | 
				
			||||||
 | 
					#  define SSD1963_COLOR_DEPTH 16
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------------
 | 
				
			||||||
 | 
					 *    R61581
 | 
				
			||||||
 | 
					 *--------------*/
 | 
				
			||||||
 | 
					#ifndef USE_R61581
 | 
				
			||||||
 | 
					#  define USE_R61581          0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_R61581
 | 
				
			||||||
 | 
					#  define R61581_HOR_RES      LV_HOR_RES
 | 
				
			||||||
 | 
					#  define R61581_VER_RES      LV_VER_RES
 | 
				
			||||||
 | 
					#  define R61581_HSPL         0       /*HSYNC signal polarity*/
 | 
				
			||||||
 | 
					#  define R61581_HSL          10      /*HSYNC length (Not Implemented)*/
 | 
				
			||||||
 | 
					#  define R61581_HFP          10      /*Horitontal Front poarch (Not Implemented)*/
 | 
				
			||||||
 | 
					#  define R61581_HBP          10      /*Horitontal Back poarch (Not Implemented */
 | 
				
			||||||
 | 
					#  define R61581_VSPL         0       /*VSYNC signal polarity*/
 | 
				
			||||||
 | 
					#  define R61581_VSL          10      /*VSYNC length (Not Implemented)*/
 | 
				
			||||||
 | 
					#  define R61581_VFP          8       /*Vertical Front poarch*/
 | 
				
			||||||
 | 
					#  define R61581_VBP          8       /*Vertical Back poarch */
 | 
				
			||||||
 | 
					#  define R61581_DPL          0       /*DCLK signal polarity*/
 | 
				
			||||||
 | 
					#  define R61581_EPL          1       /*ENABLE signal polarity*/
 | 
				
			||||||
 | 
					#  define R61581_ORI          0       /*0, 180*/
 | 
				
			||||||
 | 
					#  define R61581_LV_COLOR_DEPTH 16    /*Fix 16 bit*/
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*------------------------------
 | 
				
			||||||
 | 
					 *  ST7565 (Monochrome, low res.)
 | 
				
			||||||
 | 
					 *-----------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_ST7565
 | 
				
			||||||
 | 
					#  define USE_ST7565          0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_ST7565
 | 
				
			||||||
 | 
					/*No settings*/
 | 
				
			||||||
 | 
					#endif  /*USE_ST7565*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*------------------------------
 | 
				
			||||||
 | 
					 *  GC9A01 (color, low res.)
 | 
				
			||||||
 | 
					 *-----------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_GC9A01
 | 
				
			||||||
 | 
					#  define USE_GC9A01          0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_GC9A01
 | 
				
			||||||
 | 
					/*No settings*/
 | 
				
			||||||
 | 
					#endif  /*USE_GC9A01*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*------------------------------------------
 | 
				
			||||||
 | 
					 *  UC1610 (4 gray 160*[104|128])
 | 
				
			||||||
 | 
					 *  (EA DOGXL160 160x104 tested)
 | 
				
			||||||
 | 
					 *-----------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_UC1610
 | 
				
			||||||
 | 
					#  define USE_UC1610          0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_UC1610
 | 
				
			||||||
 | 
					#  define UC1610_HOR_RES         LV_HOR_RES
 | 
				
			||||||
 | 
					#  define UC1610_VER_RES         LV_VER_RES
 | 
				
			||||||
 | 
					#  define UC1610_INIT_CONTRAST   33   /* init contrast, values in [%] */
 | 
				
			||||||
 | 
					#  define UC1610_INIT_HARD_RST   0    /* 1 : hardware reset at init, 0 : software reset */
 | 
				
			||||||
 | 
					#  define UC1610_TOP_VIEW        0    /* 0 : Bottom View, 1 : Top View */
 | 
				
			||||||
 | 
					#endif  /*USE_UC1610*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------------------------------------
 | 
				
			||||||
 | 
					 *  SHARP memory in pixel monochrome display series
 | 
				
			||||||
 | 
					 *      LS012B7DD01 (184x38  pixels.)
 | 
				
			||||||
 | 
					 *      LS013B7DH03 (128x128 pixels.)
 | 
				
			||||||
 | 
					 *      LS013B7DH05 (144x168 pixels.)
 | 
				
			||||||
 | 
					 *      LS027B7DH01 (400x240 pixels.) (tested)
 | 
				
			||||||
 | 
					 *      LS032B7DD02 (336x536 pixels.)
 | 
				
			||||||
 | 
					 *      LS044Q7DH01 (320x240 pixels.)
 | 
				
			||||||
 | 
					 *------------------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_SHARP_MIP
 | 
				
			||||||
 | 
					#  define USE_SHARP_MIP       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_SHARP_MIP
 | 
				
			||||||
 | 
					#  define SHARP_MIP_HOR_RES             LV_HOR_RES
 | 
				
			||||||
 | 
					#  define SHARP_MIP_VER_RES             LV_VER_RES
 | 
				
			||||||
 | 
					#  define SHARP_MIP_SOFT_COM_INVERSION  0
 | 
				
			||||||
 | 
					#  define SHARP_MIP_REV_BYTE(b)         /*((uint8_t) __REV(__RBIT(b)))*/  /*Architecture / compiler dependent byte bits order reverse*/
 | 
				
			||||||
 | 
					#endif  /*USE_SHARP_MIP*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------------------------------------
 | 
				
			||||||
 | 
					 *  ILI9341 240X320 TFT LCD
 | 
				
			||||||
 | 
					 *------------------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_ILI9341
 | 
				
			||||||
 | 
					#  define USE_ILI9341       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_ILI9341
 | 
				
			||||||
 | 
					#  define ILI9341_HOR_RES       LV_HOR_RES
 | 
				
			||||||
 | 
					#  define ILI9341_VER_RES       LV_VER_RES
 | 
				
			||||||
 | 
					#  define ILI9341_GAMMA         1
 | 
				
			||||||
 | 
					#  define ILI9341_TEARING       0
 | 
				
			||||||
 | 
					#endif  /*USE_ILI9341*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------
 | 
				
			||||||
 | 
					 *  Linux frame buffer device (/dev/fbx)
 | 
				
			||||||
 | 
					 *-----------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_FBDEV
 | 
				
			||||||
 | 
					#  define USE_FBDEV           0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_FBDEV
 | 
				
			||||||
 | 
					#  define FBDEV_PATH          "/dev/fb0"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------
 | 
				
			||||||
 | 
					 *  FreeBSD frame buffer device (/dev/fbx)
 | 
				
			||||||
 | 
					 *.........................................*/
 | 
				
			||||||
 | 
					#ifndef USE_BSD_FBDEV
 | 
				
			||||||
 | 
					#  define USE_BSD_FBDEV		0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_BSD_FBDEV
 | 
				
			||||||
 | 
					# define FBDEV_PATH		"/dev/fb0"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------
 | 
				
			||||||
 | 
					 *  DRM/KMS device (/dev/dri/cardX)
 | 
				
			||||||
 | 
					 *-----------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_DRM
 | 
				
			||||||
 | 
					#  define USE_DRM           0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_DRM
 | 
				
			||||||
 | 
					#  define DRM_CARD          "/dev/dri/card0"
 | 
				
			||||||
 | 
					#  define DRM_CONNECTOR_ID  -1	/* -1 for the first connected one */
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*********************
 | 
				
			||||||
 | 
					 *  INPUT DEVICES
 | 
				
			||||||
 | 
					 *********************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*--------------
 | 
				
			||||||
 | 
					 *    XPT2046
 | 
				
			||||||
 | 
					 *--------------*/
 | 
				
			||||||
 | 
					#ifndef USE_XPT2046
 | 
				
			||||||
 | 
					#  define USE_XPT2046         0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_XPT2046
 | 
				
			||||||
 | 
					#  define XPT2046_HOR_RES     480
 | 
				
			||||||
 | 
					#  define XPT2046_VER_RES     320
 | 
				
			||||||
 | 
					#  define XPT2046_X_MIN       200
 | 
				
			||||||
 | 
					#  define XPT2046_Y_MIN       200
 | 
				
			||||||
 | 
					#  define XPT2046_X_MAX       3800
 | 
				
			||||||
 | 
					#  define XPT2046_Y_MAX       3800
 | 
				
			||||||
 | 
					#  define XPT2046_AVG         4
 | 
				
			||||||
 | 
					#  define XPT2046_X_INV       0
 | 
				
			||||||
 | 
					#  define XPT2046_Y_INV       0
 | 
				
			||||||
 | 
					#  define XPT2046_XY_SWAP     0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------
 | 
				
			||||||
 | 
					 *    FT5406EE8
 | 
				
			||||||
 | 
					 *-----------------*/
 | 
				
			||||||
 | 
					#ifndef USE_FT5406EE8
 | 
				
			||||||
 | 
					#  define USE_FT5406EE8       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_FT5406EE8
 | 
				
			||||||
 | 
					# define FT5406EE8_I2C_ADR   0x38                  /*7 bit address*/
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*---------------
 | 
				
			||||||
 | 
					 *  AD TOUCH
 | 
				
			||||||
 | 
					 *--------------*/
 | 
				
			||||||
 | 
					#ifndef USE_AD_TOUCH
 | 
				
			||||||
 | 
					#  define USE_AD_TOUCH        0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_AD_TOUCH
 | 
				
			||||||
 | 
					/*No settings*/
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*---------------------------------------
 | 
				
			||||||
 | 
					 * Mouse or touchpad on PC (using SDL)
 | 
				
			||||||
 | 
					 *-------------------------------------*/
 | 
				
			||||||
 | 
					/*DEPRECATED: Use the SDL driver instead. */
 | 
				
			||||||
 | 
					#ifndef USE_MOUSE
 | 
				
			||||||
 | 
					#  define USE_MOUSE           0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_MOUSE
 | 
				
			||||||
 | 
					/*No settings*/
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------------------------------
 | 
				
			||||||
 | 
					 * Mousewheel as encoder on PC (using SDL)
 | 
				
			||||||
 | 
					 *------------------------------------------*/
 | 
				
			||||||
 | 
					/*DEPRECATED: Use the SDL driver instead. */
 | 
				
			||||||
 | 
					#ifndef USE_MOUSEWHEEL
 | 
				
			||||||
 | 
					#  define USE_MOUSEWHEEL      0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_MOUSEWHEEL
 | 
				
			||||||
 | 
					/*No settings*/
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------------------------------------
 | 
				
			||||||
 | 
					 * Touchscreen, mouse/touchpad or keyboard as libinput interface (for Linux based systems)
 | 
				
			||||||
 | 
					 *------------------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_LIBINPUT
 | 
				
			||||||
 | 
					#  define USE_LIBINPUT           0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef USE_BSD_LIBINPUT
 | 
				
			||||||
 | 
					#  define USE_BSD_LIBINPUT       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_LIBINPUT || USE_BSD_LIBINPUT
 | 
				
			||||||
 | 
					/*If only a single device of the same type is connected, you can also auto detect it, e.g.:
 | 
				
			||||||
 | 
					 *#define LIBINPUT_NAME   libinput_find_dev(LIBINPUT_CAPABILITY_TOUCH, false)*/
 | 
				
			||||||
 | 
					#  define LIBINPUT_NAME   "/dev/input/event0"        /*You can use the "evtest" Linux tool to get the list of devices and test them*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif  /*USE_LIBINPUT || USE_BSD_LIBINPUT*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------------------------------------
 | 
				
			||||||
 | 
					 * Mouse or touchpad as evdev interface (for Linux based systems)
 | 
				
			||||||
 | 
					 *------------------------------------------------*/
 | 
				
			||||||
 | 
					#ifndef USE_EVDEV
 | 
				
			||||||
 | 
					#  define USE_EVDEV           0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef USE_BSD_EVDEV
 | 
				
			||||||
 | 
					#  define USE_BSD_EVDEV       0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_EVDEV || USE_BSD_EVDEV
 | 
				
			||||||
 | 
					#  define EVDEV_NAME   "/dev/input/event0"        /*You can use the "evtest" Linux tool to get the list of devices and test them*/
 | 
				
			||||||
 | 
					#  define EVDEV_SWAP_AXES         0               /*Swap the x and y axes of the touchscreen*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  define EVDEV_CALIBRATE         0               /*Scale and offset the touchscreen coordinates by using maximum and minimum values for each axis*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  if EVDEV_CALIBRATE
 | 
				
			||||||
 | 
					#    define EVDEV_HOR_MIN         0               /*to invert axis swap EVDEV_XXX_MIN by EVDEV_XXX_MAX*/
 | 
				
			||||||
 | 
					#    define EVDEV_HOR_MAX      4096               /*"evtest" Linux tool can help to get the correct calibraion values>*/
 | 
				
			||||||
 | 
					#    define EVDEV_VER_MIN         0
 | 
				
			||||||
 | 
					#    define EVDEV_VER_MAX      4096
 | 
				
			||||||
 | 
					#  endif  /*EVDEV_CALIBRATE*/
 | 
				
			||||||
 | 
					#endif  /*USE_EVDEV*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------------------------------------
 | 
				
			||||||
 | 
					 * Full keyboard support for evdev and libinput interface
 | 
				
			||||||
 | 
					 *------------------------------------------------*/
 | 
				
			||||||
 | 
					#  ifndef USE_XKB
 | 
				
			||||||
 | 
					#    define USE_XKB           0
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV
 | 
				
			||||||
 | 
					#  if USE_XKB
 | 
				
			||||||
 | 
					#    define XKB_KEY_MAP       { .rules = NULL, \
 | 
				
			||||||
 | 
					                                .model = "pc101", \
 | 
				
			||||||
 | 
					                                .layout = "us", \
 | 
				
			||||||
 | 
					                                .variant = NULL, \
 | 
				
			||||||
 | 
					                                .options = NULL } /*"setxkbmap -query" can help find the right values for your keyboard*/
 | 
				
			||||||
 | 
					#  endif  /*USE_XKB*/
 | 
				
			||||||
 | 
					#endif  /*USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-------------------------------
 | 
				
			||||||
 | 
					 *   Keyboard of a PC (using SDL)
 | 
				
			||||||
 | 
					 *------------------------------*/
 | 
				
			||||||
 | 
					/*DEPRECATED: Use the SDL driver instead. */
 | 
				
			||||||
 | 
					#ifndef USE_KEYBOARD
 | 
				
			||||||
 | 
					#  define USE_KEYBOARD        0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_KEYBOARD
 | 
				
			||||||
 | 
					/*No settings*/
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif  /*LV_DRV_CONF_H*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /*End of "Content enable"*/
 | 
				
			||||||
							
								
								
									
										157
									
								
								src/main.c
									
									
									
									
									
								
							
							
						
						
									
										157
									
								
								src/main.c
									
									
									
									
									
								
							@ -1,124 +1,57 @@
 | 
				
			|||||||
#include <stdio.h>
 | 
					 | 
				
			||||||
#include <stdbool.h>
 | 
					 | 
				
			||||||
#include <SDL2/SDL.h>
 | 
					#include <SDL2/SDL.h>
 | 
				
			||||||
#include "lvgl.h"
 | 
					#include "lvgl.h"
 | 
				
			||||||
 | 
					#include "../lib/lv_drivers/display/monitor.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main(int argc, char *argv[]) {
 | 
				
			||||||
 | 
					    (void)argc;
 | 
				
			||||||
 | 
					    (void)argv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef MAIN_MESSAGE
 | 
					    // SDL initialiseren
 | 
				
			||||||
    #define MAIN_MESSAGE "Hello from main!"
 | 
					    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
 | 
				
			||||||
#endif
 | 
					        printf("SDL kon niet worden geïnitialiseerd: %s\n", SDL_GetError());
 | 
				
			||||||
#include <stdio.h>
 | 
					        return 1;
 | 
				
			||||||
#include <stdbool.h>
 | 
					 | 
				
			||||||
#include <SDL2/SDL.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Define MAX and MIN macros
 | 
					 | 
				
			||||||
#define MAX(X, Y) (((X) > (Y)) ? (X) : (Y))
 | 
					 | 
				
			||||||
#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Define screen dimensions
 | 
					 | 
				
			||||||
#define SCREEN_WIDTH    800
 | 
					 | 
				
			||||||
#define SCREEN_HEIGHT   600
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int main(int argc, char* argv[])
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    // Unused argc, argv
 | 
					 | 
				
			||||||
    (void) argc;
 | 
					 | 
				
			||||||
    (void) argv;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Initialize SDL
 | 
					 | 
				
			||||||
    if(SDL_Init(SDL_INIT_VIDEO) < 0)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        printf("SDL could not be initialized!\n"
 | 
					 | 
				
			||||||
               "SDL_Error: %s\n", SDL_GetError());
 | 
					 | 
				
			||||||
        return 0;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined linux && SDL_VERSION_ATLEAST(2, 0, 8)
 | 
					    // LVGL initialiseren
 | 
				
			||||||
    // Disable compositor bypass
 | 
					    lv_init();
 | 
				
			||||||
    if(!SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0"))
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        printf("SDL can not disable compositor bypass!\n");
 | 
					 | 
				
			||||||
        return 0;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Create window
 | 
					    // SDL display driver initialiseren
 | 
				
			||||||
    SDL_Window *window = SDL_CreateWindow("Basic C SDL project",
 | 
					    lv_disp_t *disp = lv_sdl_window_create(800, 600);
 | 
				
			||||||
                                          SDL_WINDOWPOS_UNDEFINED,
 | 
					    if (!disp) {
 | 
				
			||||||
                                          SDL_WINDOWPOS_UNDEFINED,
 | 
					        printf("Kon SDL-venster niet maken\n");
 | 
				
			||||||
                                          SCREEN_WIDTH, SCREEN_HEIGHT,
 | 
					        SDL_Quit();
 | 
				
			||||||
                                          SDL_WINDOW_SHOWN);
 | 
					        return 1;
 | 
				
			||||||
    if(!window)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        printf("Window could not be created!\n"
 | 
					 | 
				
			||||||
               "SDL_Error: %s\n", SDL_GetError());
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        // Create renderer
 | 
					 | 
				
			||||||
        SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
 | 
					 | 
				
			||||||
        if(!renderer)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            printf("Renderer could not be created!\n"
 | 
					 | 
				
			||||||
                   "SDL_Error: %s\n", SDL_GetError());
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            // Declare rect of square
 | 
					 | 
				
			||||||
            SDL_Rect squareRect;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Square dimensions: Half of the min(SCREEN_WIDTH, SCREEN_HEIGHT)
 | 
					 | 
				
			||||||
            squareRect.w = MIN(SCREEN_WIDTH, SCREEN_HEIGHT) / 2;
 | 
					 | 
				
			||||||
            squareRect.h = MIN(SCREEN_WIDTH, SCREEN_HEIGHT) / 2;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Square position: In the middle of the screen
 | 
					 | 
				
			||||||
            squareRect.x = SCREEN_WIDTH / 2 - squareRect.w / 2;
 | 
					 | 
				
			||||||
            squareRect.y = SCREEN_HEIGHT / 2 - squareRect.h / 2;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Event loop exit flag
 | 
					 | 
				
			||||||
            bool quit = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Event loop
 | 
					 | 
				
			||||||
            while(!quit)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                SDL_Event e;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Wait indefinitely for the next available event
 | 
					 | 
				
			||||||
                SDL_WaitEvent(&e);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // User requests quit
 | 
					 | 
				
			||||||
                if(e.type == SDL_QUIT)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    quit = true;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Initialize renderer color white for the background
 | 
					 | 
				
			||||||
                SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Clear screen
 | 
					 | 
				
			||||||
                SDL_RenderClear(renderer);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Set renderer color red to draw the square
 | 
					 | 
				
			||||||
                SDL_SetRenderDrawColor(renderer, 0xFF, 0x00, 0x00, 0xFF);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Draw filled square
 | 
					 | 
				
			||||||
                SDL_RenderFillRect(renderer, &squareRect);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Update screen
 | 
					 | 
				
			||||||
                SDL_RenderPresent(renderer);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Destroy renderer
 | 
					 | 
				
			||||||
            SDL_DestroyRenderer(renderer);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Destroy window
 | 
					 | 
				
			||||||
        SDL_DestroyWindow(window);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Quit SDL
 | 
					    // Venstertitel instellen
 | 
				
			||||||
 | 
					    lv_sdl_window_set_title(disp, "LVGL met SDL");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Thema instellen (optioneel)
 | 
				
			||||||
 | 
					    lv_theme_t *th = lv_theme_default_init(disp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), LV_THEME_DEFAULT_DARK, LV_FONT_DEFAULT);
 | 
				
			||||||
 | 
					    lv_disp_set_theme(disp, th);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Een label maken
 | 
				
			||||||
 | 
					    lv_obj_t *label = lv_label_create(lv_scr_act());
 | 
				
			||||||
 | 
					    lv_label_set_text(label, "Hallo, LVGL!");
 | 
				
			||||||
 | 
					    lv_obj_align(label, LV_ALIGN_CENTER, 0, -40);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Een knop maken
 | 
				
			||||||
 | 
					    lv_obj_t *btn = lv_btn_create(lv_scr_act());
 | 
				
			||||||
 | 
					    lv_obj_align(btn, LV_ALIGN_CENTER, 0, 40);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Label op de knop
 | 
				
			||||||
 | 
					    lv_obj_t *btn_label = lv_label_create(btn);
 | 
				
			||||||
 | 
					    lv_label_set_text(btn_label, "Klik mij");
 | 
				
			||||||
 | 
					    lv_obj_center(btn_label);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Event loop
 | 
				
			||||||
 | 
					    while (1) {
 | 
				
			||||||
 | 
					        // LVGL taken verwerken
 | 
				
			||||||
 | 
					        lv_timer_handler();
 | 
				
			||||||
 | 
					        SDL_Delay(5);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Opruimen
 | 
				
			||||||
    SDL_Quit();
 | 
					    SDL_Quit();
 | 
				
			||||||
 | 
					 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user