⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gui_sellcd.c

📁 uC/GUI是一个通用的嵌入式应用的图形模块
💻 C
字号:
/*********************************************************************
*                SEGGER MICROCONTROLLER SYSTEME GmbH                 *
*        Solutions for real time microcontroller applications        *
**********************************************************************
*                                                                    *
*        (c) 2002         SEGGER Microcontroller Systeme GmbH        *
*                                                                    *
*        Internet: www.segger.com    Support:  support@segger.com    *
*                                                                    *
**********************************************************************

**** emWin/GSC Grafical user interface for embedded applications ****
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File        : GUI_SelLCD.C
Purpose     : emWin GSC, selection of LCD display
---------------------------END-OF-HEADER------------------------------
*/


#include <stddef.h>           /* needed for definition of NULL */
#include "GUI_Private.H"
#include "GUIDebug.h"
#include "LCD_Private.h"      /* Required for configuration, APIList */


#if (LCD_NUM_DISPLAYS > 1) && (GUI_SUPPORT_MEMDEV)

/*
      *************************************************
      *                                               *
      *             LCD Device                        *
			*       (if memory devices are supported)       *
      *                                               *
      *************************************************
*/

const tLCDDEV_APIList LCD_L0_1_APIList = {
#if LCD_YMAG_1 == 1
  LCD_L0_1_Color2Index,
  LCD_L0_1_DrawBitmap,
  LCD_L0_1_DrawHLine,
  LCD_L0_1_DrawVLine,
  LCD_L0_1_FillRect,
  LCD_L0_1_GetPixelIndex,
  LCD_L0_1_GetRect,
  LCD_L0_1_Index2Color,
  LCD_L0_1_SetPixelIndex,
  LCD_L0_1_XorPixel
#else
  LCD_L0_1_Color2Index,
  LCD_L0_1_MAG_DrawBitmap,
  LCD_L0_1_MAG_DrawHLine,
  LCD_L0_1_MAG_DrawVLine,
  LCD_L0_1_MAG_FillRect,
  LCD_L0_1_MAG_GetPixelIndex,
  LCD_L0_1_GetRect,          /* Original routine is o.k. here, since we use the logical
                                 coordinates for clipping, which are not magnified */
  LCD_L0_1_Index2Color,
  LCD_L0_1_MAG_SetPixelIndex,
  LCD_L0_1_MAG_XorPixel
#endif
};



/***********************************************************
*
*                 GUI_SelLCD
*
************************************************************

*/


const tLCDDEV_APIList * const aAPI[] = {
  &LCD_L0_APIList
#if LCD_NUM_DISPLAYS >1
  ,&LCD_L0_1_APIList
#endif
};


unsigned int GUI_SelLCD(unsigned int Index) {
  unsigned int OldIndex = 0;
  if (Index < LCD_NUM_DISPLAYS) {
    GUI_LOCK();
    GUI_SetDefault();
    OldIndex = (GUI_Context.pDeviceAPI == aAPI[0]) ? 0 : 1;
    GUI_Context.pDeviceAPI = aAPI[Index];
    LCD_SetClipRectMax();
  }
  GUI_UNLOCK();
  return OldIndex;
}

#else

void GUI_SelLCD_(void) {}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -