/********************************************************************* * * LCD_X_Config * * Purpose: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { // // At first initialize use of multiple buffers on demand // #if (NUM_BUFFERS > 1) GUI_MULTIBUF_Config(NUM_BUFFERS); #endif // // Set display driver and color conversion for 1st layer // GUI_DEVICE_CreateAndLink(DISPLAY_DRIVER, COLOR_CONVERSION, 0, 0); // // Display driver configuration, required for Lin-driver // if (LCD_GetSwapXY()) { LCD_SetSizeEx (0, YSIZE_PHYS, XSIZE_PHYS); LCD_SetVSizeEx(0, YSIZE_PHYS * NUM_VSCREENS, XSIZE_PHYS); } else { LCD_SetSizeEx (0, XSIZE_PHYS, YSIZE_PHYS); LCD_SetVSizeEx(0, XSIZE_PHYS, YSIZE_PHYS * NUM_VSCREENS); } LCD_SetVRAMAddrEx(0, (void *)VRAM_ADDR); // // Set user palette data (only required if no fixed palette is used) // #if defined(PALETTE) LCD_SetLUTEx(0, PALETTE); #endif // // Set custom functions for several operations to optimize native processes // LCD_SetDevFunc(0, LCD_DEVFUNC_COPYBUFFER, (void(*)(void))CUSTOM_LCD_CopyBuffer); LCD_SetDevFunc(0, LCD_DEVFUNC_COPYRECT, (void(*)(void))CUSTOM_LCD_CopyRect); LCD_SetDevFunc(0, LCD_DEVFUNC_FILLRECT, (void(*)(void))CUSTOM_LCD_FillRect); LCD_SetDevFunc(0, LCD_DEVFUNC_DRAWBMP_8BPP, (void(*)(void))CUSTOM_LCD_DrawBitmap8bpp); LCD_SetDevFunc(0, LCD_DEVFUNC_DRAWBMP_16BPP, (void(*)(void))CUSTOM_LCD_DrawBitmap16bpp); }
/********************************************************************* * * LCD_X_Config * * Purpose: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { /* Enable triple buffering */ GUI_MULTIBUF_Config(NUM_BUFFERS); /* Set display driver and color conversion */ GUI_DEVICE_CreateAndLink(GUIDRV_LIN_16, GUICC_M565, 0, 0); /* Set custom callback function for frame copy operation */ LCD_SetDevFunc(0, LCD_DEVFUNC_COPYBUFFER, (void (*)())copyBuffer); /* Display driver configuration, required for Lin-driver */ if (LCD_GetSwapXY()) { LCD_SetSizeEx (0, LCD_HEIGHT, LCD_WIDTH); LCD_SetVSizeEx(0, LCD_HEIGHT, LCD_WIDTH); } else { LCD_SetSizeEx (0, LCD_WIDTH, LCD_HEIGHT); LCD_SetVSizeEx(0, LCD_WIDTH, LCD_HEIGHT); } /* Point video memory to start of PSRAM, drawing will start at frame 0 */ LCD_SetVRAMAddrEx(0, (void *)VRAM_ADDR_START); }