亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcddummy.c

?? s3c44b0+ucgui+初始化的一個版本
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI 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 redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : LCDDummy.C
Purpose     : Empty driver for emWin GSC
              This driver does no perform any function, but it can be
              used for 2 purposes:
              a) Satisfy all externals so an application can be
                compiled and linked in target hardware even if the
                driver is not already available
              b) Template for a starting point for a new driver.
----------------------------------------------------------------------   
Adapting to a new system (creating a new driver):
  In this case, the first step is to fill the routines 
  LCD_L0_GetPixelIndex, LCD_L0_SetPixelIndex and LCD_L0_Init with
  functionality, which is sufficient to make the hardware work.
  A second (optional) step would be to optimize higher level routines. 
----------------------------------------------------------------------   
Version-Date---Author-Explanation                                        
----------------------------------------------------------------------   
1.00.00 020417 JE     a) Changed to have only to adapt _GetPixelIndex
                         and _SetPixelIndex
0.90.00 020214 JE     a) First release
---------------------------END-OF-HEADER------------------------------
*/

#include "LCD_Private.h"      /* private modul definitions & config */
#include "GUI_Private.h"
#include "GUIDebug.h"
#include "LCD_0.h"            /* Defines for first display */

#if (LCD_CONTROLLER == -1) \
    && (!defined(WIN32) | defined(LCD_SIMCONTROLLER))

/*********************************************************************
*
*       Defines
*
**********************************************************************
*/

#ifndef LCD_INIT_CONTROLLER
  #define LCD_INIT_CONTROLLER()
#endif

/*********************************************
*
*       Macros for MIRROR_, SWAP_ and LUT_
*
**********************************************
*/

#if (!defined (LCD_LUT_COM) && !defined(LCD_LUT_SEG))
  #if   (!LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) x
    #define LOG2PHYS_Y(x, y) y
  #elif (!LCD_MIRROR_X && !LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) y
    #define LOG2PHYS_Y(x, y) x
  #elif (!LCD_MIRROR_X &&  LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) x
    #define LOG2PHYS_Y(x, y) LCD_YSIZE - 1 - (y)
  #elif (!LCD_MIRROR_X &&  LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_YSIZE - 1 - (y)
    #define LOG2PHYS_Y(x, y) x
  #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_XSIZE - 1 - (x)
    #define LOG2PHYS_Y(x, y) y
  #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_YSIZE - 1 - (y)
    #define LOG2PHYS_Y(x, y) x
  #elif ( LCD_MIRROR_X &&  LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_XSIZE - 1 - (x)
    #define LOG2PHYS_Y(x, y) LCD_YSIZE - 1 - (y)
  #elif ( LCD_MIRROR_X &&  LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #error This combination of mirroring/swapping not yet supported
  #endif
#else
  #if   ( defined (LCD_LUT_COM) && !defined(LCD_LUT_SEG))
    #define LOG2PHYS_X(x, y) x
    #define LOG2PHYS_Y(x, y) LCD__aLine2Com0[y]
  #elif (!defined (LCD_LUT_COM) &&  defined(LCD_LUT_SEG))
    #define LOG2PHYS_X(x, y) LCD__aCol2Seg0[x]
    #define LOG2PHYS_Y(x, y) y
  #elif ( defined (LCD_LUT_COM) &&  defined(LCD_LUT_SEG))
    #define LOG2PHYS_X(x, y) LCD__aCol2Seg0[x]
    #define LOG2PHYS_Y(x, y) LCD__aLine2Com0[y]
  #endif
#endif

/*********************************************
*
*       Macros for simulation
*
**********************************************
*/

#ifdef WIN32
  #undef LCD_WRITE_A0
  #undef LCD_WRITE_A1
  #undef LCD_READ_A0
  #undef LCD_READ_A1
  void SIM_WriteA1C0(U8 Data);
  void SIM_WriteA0C0(U8 cmd);
  U8   SIM_ReadA1C0(void);
  U8   SIM_ReadA0C0(void);
  #define LCD_WRITE_A1(Data) SIM_WriteA1C0(Data) 
  #define LCD_WRITE_A0(cmd)  SIM_WriteA0C0(cmd)
  #define LCD_READ_A1()      SIM_ReadA1C0()
  #define LCD_READ_A0()      SIM_ReadA0C0()
#endif

/*********************************************************************
*
*       Static functions
*
**********************************************************************
*/

/*********************************************
*
*       Draw Bitmap 1 BPP
*
**********************************************
*/

static void  _DrawBitLine1BPP(int x, int y, U8 const*p, int Diff, int xsize, const LCD_PIXELINDEX*pTrans) {
  LCD_PIXELINDEX Index0 = *(pTrans+0);
  LCD_PIXELINDEX Index1 = *(pTrans+1);
  x += Diff;
  switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR)) {
    case 0:
      do {
        LCD_L0_SetPixelIndex(x++, y, (*p & (0x80 >> Diff)) ? Index1 : Index0);
			  if (++Diff == 8) {
          Diff = 0;
				  p++;
			  }
		  } while (--xsize);
      break;
    case LCD_DRAWMODE_TRANS:
      do {
  		  if (*p & (0x80 >> Diff))
          LCD_L0_SetPixelIndex(x, y, Index1);
        x++;
			  if (++Diff == 8) {
          Diff = 0;
				  p++;
			  }
		  } while (--xsize);
      break;
    case LCD_DRAWMODE_XOR:;
      do {
  		  if (*p & (0x80 >> Diff)) {
          int Pixel = LCD_L0_GetPixelIndex(x, y);
          LCD_L0_SetPixelIndex(x, y, LCD_NUM_COLORS - 1 - Pixel);
        }
        x++;
			  if (++Diff == 8) {
          Diff = 0;
				  p++;
			  }
		  } while (--xsize);
      break;
	}
}

/*********************************************
*
*       Draw Bitmap 2 BPP
*
**********************************************
*/

#if (LCD_MAX_LOG_COLORS > 2)
static void  _DrawBitLine2BPP(int x, int y, U8 const * p, int Diff, int xsize, const LCD_PIXELINDEX * pTrans) {
  LCD_PIXELINDEX Pixels = *p;
  int CurrentPixel = Diff;
  x += Diff;
  switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR)) {
    case 0:
      do {
        int Shift = (3 - CurrentPixel) << 1;
        int Index = (Pixels & (0xC0 >> (6 - Shift))) >> Shift;
        LCD_PIXELINDEX PixelIndex = *(pTrans + Index);
        LCD_L0_SetPixelIndex(x++, y, PixelIndex);
        if (++CurrentPixel == 4) {
          CurrentPixel = 0;
          Pixels = *(++p);
        }
		  } while (--xsize);
      break;
    case LCD_DRAWMODE_TRANS:
      do {
        int Shift = (3 - CurrentPixel) << 1;
        int Index = (Pixels & (0xC0 >> (6 - Shift))) >> Shift;
        if (Index) {
          LCD_PIXELINDEX PixelIndex = *(pTrans + Index);
          LCD_L0_SetPixelIndex(x, y, PixelIndex);
        }
        x++;
        if (++CurrentPixel == 4) {
          CurrentPixel = 0;
          Pixels = *(++p);
        }
		  } while (--xsize);
      break;
  }
}
#endif

/*********************************************
*
*       Draw Bitmap 4 BPP
*
**********************************************
*/

#if (LCD_MAX_LOG_COLORS > 4)
static void  _DrawBitLine4BPP(int x, int y, U8 const * p, int Diff, int xsize, const LCD_PIXELINDEX * pTrans) {
  LCD_PIXELINDEX Pixels = *p;
  int CurrentPixel = Diff;
  switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR)) {
    case 0:
      do {
        int Shift = (1 - CurrentPixel) << 2;
        int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
        LCD_PIXELINDEX PixelIndex = *(pTrans + Index);
        LCD_L0_SetPixelIndex(x++, y, PixelIndex);
        if (++CurrentPixel == 2) {
          CurrentPixel = 0;
          Pixels = *(++p);
        }
		  } while (--xsize);
      break;
    case LCD_DRAWMODE_TRANS:
      do {
        int Shift = (1 - CurrentPixel) << 2;
        int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
        if (Index) {
          LCD_PIXELINDEX PixelIndex = *(pTrans + Index);
          LCD_L0_SetPixelIndex(x, y, PixelIndex);
        }
        x++;
        if (++CurrentPixel == 2) {
          CurrentPixel = 0;
          Pixels = *(++p);
        }
		  } while (--xsize);
      break;
  }
}
#endif

/*********************************************
*
*       Draw Bitmap 8 BPP
*
**********************************************
*/

#if (LCD_MAX_LOG_COLORS > 16)
static void  _DrawBitLine8BPP(int x, int y, U8 const * p, int xsize, const LCD_PIXELINDEX * pTrans) {
  LCD_PIXELINDEX Pixel;
  switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR)) {
    case 0:
      if (pTrans) {
        for (; xsize > 0; xsize--, x++, p++) {
          Pixel = *p;
          LCD_L0_SetPixelIndex(x, y, *(pTrans + Pixel));
        }
      } else {
        for (; xsize > 0; xsize--, x++, p++) {
          LCD_L0_SetPixelIndex(x, y, *p);
        }
      }
      break;
    case LCD_DRAWMODE_TRANS:
      if (pTrans) {
        for (; xsize > 0; xsize--, x++, p++) {
          Pixel = *p;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美另类高清zo欧美| 久久久蜜桃精品| 色综合天天综合网天天看片| 麻豆精品久久精品色综合| 一区二区三区四区在线播放| 欧美激情一区二区三区四区| 色综合久久综合网欧美综合网| 视频一区在线播放| 亚洲成人免费视频| 亚洲成人动漫在线免费观看| 亚洲黄色在线视频| 中文字幕永久在线不卡| 7777精品久久久大香线蕉| 99久久夜色精品国产网站| 国产精品123| 国产精品一区二区三区四区| 久久99久久精品| 亚洲成人av一区二区| 亚洲精品视频在线| 亚洲免费高清视频在线| 日韩毛片视频在线看| 亚洲欧洲无码一区二区三区| 国产精品妹子av| 中文字幕一区二区三区在线观看| 欧美国产禁国产网站cc| 国产女人18水真多18精品一级做| 国产欧美日韩中文久久| 欧美激情资源网| 国产精品日韩精品欧美在线| 国产精品视频麻豆| 亚洲少妇30p| 亚洲在线一区二区三区| 五月激情六月综合| 蜜桃一区二区三区在线| 另类成人小视频在线| 亚洲一区二区在线视频| 亚洲福利视频一区二区| 偷拍日韩校园综合在线| 日韩成人午夜精品| 国产一区不卡在线| 成人深夜福利app| 99r精品视频| 欧美三级韩国三级日本三斤| 欧美疯狂做受xxxx富婆| 欧美成人猛片aaaaaaa| 国产片一区二区三区| 国产亚洲精品精华液| 国产亚洲欧美日韩在线一区| 自拍偷拍国产精品| 亚洲v中文字幕| 久久丁香综合五月国产三级网站| 国产91丝袜在线播放| 色婷婷香蕉在线一区二区| 欧美日韩国产123区| 欧美精品一区二区三区视频| 中文字幕一区二区三区在线观看| 亚洲mv大片欧洲mv大片精品| 久久99国产精品久久99果冻传媒| 成人综合在线观看| 欧美老年两性高潮| 久久综合国产精品| 伊人开心综合网| 老鸭窝一区二区久久精品| 夫妻av一区二区| 欧洲一区二区三区在线| 精品国产一区久久| 中文字幕日韩av资源站| 三级欧美在线一区| 国产999精品久久| 欧美亚洲动漫精品| 欧美一级搡bbbb搡bbbb| 精品国产乱码久久久久久蜜臀| 国产精品美女一区二区在线观看| 午夜欧美视频在线观看| 不卡免费追剧大全电视剧网站| 欧美日韩国产高清一区二区三区| 国产精品日产欧美久久久久| 日韩电影免费一区| av电影天堂一区二区在线| 欧美精品第一页| 日本一区二区三区久久久久久久久不| 亚洲国产欧美在线| 国产精品性做久久久久久| 欧美视频一区二区三区在线观看| 国产日韩欧美高清| 肉肉av福利一精品导航| 91在线免费看| 26uuu欧美| 天堂一区二区在线| 成人高清免费在线播放| 精品成人佐山爱一区二区| 一区二区三区不卡视频| 成人免费视频网站在线观看| 欧美xxxxx牲另类人与| 亚洲色图欧洲色图婷婷| 国产高清亚洲一区| 日韩欧美一区二区久久婷婷| 一区二区三区在线播| 懂色一区二区三区免费观看| 日韩一区二区视频| 亚洲综合小说图片| 91色婷婷久久久久合中文| 中文字幕巨乱亚洲| 国产精品18久久久久| 欧美一区2区视频在线观看| 亚洲女性喷水在线观看一区| 粉嫩绯色av一区二区在线观看| 精品奇米国产一区二区三区| 日韩av一级片| 91精品国产综合久久久久久久久久| 中文字幕制服丝袜一区二区三区| 国产一区视频在线看| 日韩色在线观看| 日韩av在线播放中文字幕| 欧美亚州韩日在线看免费版国语版| 国产精品高潮呻吟久久| 国产精品99久久久| 久久免费的精品国产v∧| 久久激情五月婷婷| 日韩一级二级三级| 另类小说图片综合网| 精品国产91乱码一区二区三区| 日本怡春院一区二区| 91精品国产福利| 日产国产高清一区二区三区| 欧美日韩中文字幕一区二区| 亚洲五码中文字幕| 欧美美女一区二区在线观看| 亚洲愉拍自拍另类高清精品| 色嗨嗨av一区二区三区| 亚洲自拍偷拍网站| 在线这里只有精品| 亚洲一区日韩精品中文字幕| 欧美绝品在线观看成人午夜影视| 午夜精品爽啪视频| 欧美日韩视频专区在线播放| 国产精品家庭影院| 91精品福利视频| 天天操天天综合网| 日韩视频免费观看高清完整版| 狠狠网亚洲精品| 国产精品丝袜久久久久久app| av在线不卡电影| 亚洲成va人在线观看| 日韩一二三区不卡| 国产精品综合一区二区三区| 亚洲国产精品成人久久综合一区| 国产精品一区专区| 国产精品国产精品国产专区不片| 91国偷自产一区二区三区成为亚洲经典| 日韩视频免费直播| 国产成人精品一区二区三区四区| 综合久久国产九一剧情麻豆| 欧美日韩视频在线观看一区二区三区 | 国产成人h网站| 亚洲欧洲精品一区二区三区不卡| 在线一区二区三区做爰视频网站| 亚洲欧美另类在线| 欧美精品欧美精品系列| 国产成人免费在线观看不卡| 天堂av在线一区| 国产精品福利影院| 精品欧美一区二区在线观看| 91福利国产精品| 高清视频一区二区| 日韩**一区毛片| 亚洲激情图片小说视频| 2021国产精品久久精品| 91国产成人在线| 成人va在线观看| 激情av综合网| 亚洲va欧美va国产va天堂影院| 欧美国产亚洲另类动漫| 日韩欧美国产成人一区二区| 色噜噜夜夜夜综合网| 国产a级毛片一区| 毛片av一区二区| 亚洲高清在线视频| 亚洲视频在线观看一区| 久久久久久久综合狠狠综合| 7777精品伊人久久久大香线蕉完整版| 国产精品12区| 黄色精品一二区| 蜜臀a∨国产成人精品| 亚洲第一二三四区| 亚洲精品日韩一| 国产精品美女久久久久av爽李琼 | 欧美无砖专区一中文字| 成人激情图片网| 国产在线观看一区二区| 视频一区二区国产| 亚洲制服丝袜一区| 一区二区三区中文字幕在线观看| 国产精品萝li| 国产精品入口麻豆原神| 欧美国产一区视频在线观看| 国产日产精品1区| 久久久99精品免费观看不卡| 日韩欧美国产麻豆| 日韩精品一区在线|