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

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

?? lcdtemplate.c

?? UC_GUI開發源代碼,里面含有范例,源文件
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        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        : LCDTemplate.c
Purpose     : Empty driver
              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 <stddef.h>
#include "LCD_Private.h"      /* private modul definitions & config */
#include "GUI_Private.h"
#include "GUIDebug.h"

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

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

#ifndef   LCD_INIT_CONTROLLER
  #define LCD_INIT_CONTROLLER()
#endif
#ifndef   LCD_SET_ORG
  #define LCD_SET_ORG(x, y) GUI_USE_PARA(x); GUI_USE_PARA(y)
#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) y
    #define LOG2PHYS_Y(x, y) LCD_XSIZE - 1 - (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) 
    #define LOG2PHYS_X(x, y) LCD_YSIZE - 1 - (y)
    #define LOG2PHYS_Y(x, y) LCD_XSIZE - 1 - (x)
  #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

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

/*********************************************************************
*
*       Draw Bitmap 1 BPP
*/
static void  _DrawBitLine1BPP(int x, int y, U8 const GUI_UNI_PTR *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 | LCD_DRAWMODE_TRANS:
    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 GUI_UNI_PTR * 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:
      if (pTrans) {
        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);
      } else {
        do {
          int Shift = (3 - CurrentPixel) << 1;
          int Index = (Pixels & (0xC0 >> (6 - Shift))) >> Shift;
          LCD_L0_SetPixelIndex(x++, y, Index);
          if (++CurrentPixel == 4) {
            CurrentPixel = 0;
            Pixels = *(++p);
          }
		    } while (--xsize);
      }
      break;
    case LCD_DRAWMODE_TRANS:
      if (pTrans) {
        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);
      } else {
        do {
          int Shift = (3 - CurrentPixel) << 1;
          int Index = (Pixels & (0xC0 >> (6 - Shift))) >> Shift;
          if (Index) {
            LCD_L0_SetPixelIndex(x, y, Index);
          }
          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 GUI_UNI_PTR * 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:
      if (pTrans) {
        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);
      } else {
        do {
          int Shift = (1 - CurrentPixel) << 2;
          int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
          LCD_L0_SetPixelIndex(x++, y, Index);
          if (++CurrentPixel == 2) {
            CurrentPixel = 0;
            Pixels = *(++p);
          }
		    } while (--xsize);
      }
      break;
    case LCD_DRAWMODE_TRANS:
      if (pTrans) {
        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);
      } else {
        do {
          int Shift = (1 - CurrentPixel) << 2;
          int Index = (Pixels & (0xF0 >> (4 - Shift))) >> Shift;
          if (Index) {
            LCD_L0_SetPixelIndex(x, y, Index);
          }
          x++;
          if (++CurrentPixel == 2) {
            CurrentPixel = 0;
            Pixels = *(++p);
          }
		    } while (--xsize);
      }
      break;
  }
}
#endif

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美tickling网站挠脚心| 国产精品成人午夜| 99久久国产综合精品色伊| 亚洲一卡二卡三卡四卡无卡久久| 欧美变态tickle挠乳网站| 91天堂素人约啪| 激情久久久久久久久久久久久久久久| 亚洲人成在线播放网站岛国| 欧美一级一区二区| 91蜜桃视频在线| 国产精品亚洲成人| 日韩和的一区二区| 亚洲视频免费在线观看| 国产日韩v精品一区二区| 日韩精品中文字幕在线一区| 欧美性受xxxx| 色婷婷av一区二区三区软件| 丁香啪啪综合成人亚洲小说 | 国产精品麻豆久久久| 91精品国产欧美一区二区18| 色婷婷精品大在线视频| 97久久精品人人澡人人爽| 国内一区二区视频| 麻豆国产一区二区| 日韩中文字幕亚洲一区二区va在线| 国产精品久久看| 久久久午夜精品| 欧美成人艳星乳罩| 在线综合视频播放| 正在播放一区二区| 欧美一二区视频| 91精品国产色综合久久ai换脸| 欧美三级一区二区| 欧美日韩免费视频| 欧美日韩激情在线| 欧美三区免费完整视频在线观看| 欧美亚洲尤物久久| 欧美蜜桃一区二区三区| 欧美丰满嫩嫩电影| 91精品国产一区二区三区 | 中文在线一区二区| 国产婷婷色一区二区三区在线| 久久婷婷久久一区二区三区| 欧美精品一区二区三区视频| 精品国产免费人成在线观看| 精品伦理精品一区| 国产午夜精品理论片a级大结局| 久久精品一级爱片| 国产欧美一区二区三区鸳鸯浴 | 极品美女销魂一区二区三区免费 | 国产sm精品调教视频网站| 国产精品一二二区| 粉嫩一区二区三区在线看| 成人激情开心网| 在线观看视频91| 欧美老肥妇做.爰bbww视频| 91精品婷婷国产综合久久 | 欧美高清在线精品一区| 国产精品视频在线看| 自拍偷拍欧美激情| 91热门视频在线观看| 色综合激情五月| 正在播放亚洲一区| 国产日韩精品一区二区三区| 亚洲视频电影在线| 舔着乳尖日韩一区| 极品少妇xxxx偷拍精品少妇| youjizz国产精品| 欧美日韩一级片在线观看| 日韩视频永久免费| 国产精品日产欧美久久久久| 亚洲久本草在线中文字幕| 水野朝阳av一区二区三区| 精品一区二区在线免费观看| www.亚洲精品| 日韩一区二区精品葵司在线| 国产网红主播福利一区二区| 樱花草国产18久久久久| 麻豆传媒一区二区三区| 不卡一区二区三区四区| 欧美伊人久久久久久午夜久久久久| 欧美一区二区网站| 国产精品毛片a∨一区二区三区| 一二三区精品福利视频| 蜜臀av一区二区在线免费观看| 成人免费精品视频| 欧美精品在线一区二区| 国产精品免费丝袜| 日韩高清在线一区| 99re这里都是精品| 精品国产一区二区精华| 亚洲精品乱码久久久久久| 国产在线播放一区二区三区| 在线观看亚洲a| 国产精品少妇自拍| 经典三级在线一区| 欧美老女人在线| 中文字幕日韩欧美一区二区三区| 日韩电影在线观看电影| 99国产精品国产精品久久| 精品久久久久香蕉网| 午夜av一区二区| 91色.com| 国产欧美一区二区精品忘忧草 | 9191成人精品久久| 国产精品麻豆久久久| 久久99精品久久久久久国产越南 | 亚洲主播在线观看| 成人av在线播放网站| 日韩欧美激情四射| 亚洲国产精品尤物yw在线观看| 成人国产精品免费观看视频| 精品久久久久久最新网址| 午夜一区二区三区在线观看| av一区二区三区黑人| 久久久久久电影| 精品一区二区三区免费观看 | 精品婷婷伊人一区三区三| 中文字幕中文字幕中文字幕亚洲无线 | 国产日韩欧美高清在线| 国内精品伊人久久久久影院对白| 91精品蜜臀在线一区尤物| 亚洲国产成人91porn| 欧美性猛交xxxx黑人交| 亚洲激情图片小说视频| caoporen国产精品视频| 中文字幕av一区二区三区高| 国产精品综合二区| 欧美精品一区二区三区蜜臀| 麻豆91免费观看| 精品欧美久久久| 久久成人18免费观看| 欧美成人精品3d动漫h| 麻豆国产91在线播放| 日韩美女视频在线| 极品销魂美女一区二区三区| 精品成人免费观看| 国产精品99久久久久久有的能看| 久久久久99精品一区| 成人午夜看片网址| 国产精品久久久久久久第一福利| 国产91在线|亚洲| 中文字幕巨乱亚洲| 99久久er热在这里只有精品66| 国产精品久久久久久久蜜臀| 成年人网站91| 一区二区三区在线免费视频| 欧美在线观看你懂的| 天天做天天摸天天爽国产一区| 51久久夜色精品国产麻豆| 日本麻豆一区二区三区视频| 日韩精品一区二区三区四区| 国产一区二区影院| 国产精品伦理在线| 一本一本大道香蕉久在线精品 | 亚洲日本va在线观看| 色综合久久88色综合天天免费| 一区二区免费在线| 欧美一区二区三区系列电影| 精品在线观看视频| 中文子幕无线码一区tr| 在线观看免费亚洲| 日本午夜精品视频在线观看 | 国产精品久久久久久亚洲毛片| 一本色道久久综合狠狠躁的推荐 | wwwwww.欧美系列| youjizz国产精品| 婷婷一区二区三区| 精品捆绑美女sm三区| 99精品国产视频| 日韩不卡免费视频| 欧美激情一区在线观看| 91久久国产最好的精华液| 日韩 欧美一区二区三区| 国产欧美一区二区精品忘忧草| 在线日韩国产精品| 久久精品国产**网站演员| 国产精品网站在线| 欧美丰满少妇xxxxx高潮对白| 国产经典欧美精品| 亚洲国产精品欧美一二99| 欧美刺激午夜性久久久久久久| 北条麻妃一区二区三区| 日韩国产精品久久久| 中文字幕在线观看一区| 欧美顶级少妇做爰| 不卡的看片网站| 美女视频网站黄色亚洲| 亚洲色图欧洲色图婷婷| 日韩欧美国产综合一区 | 精品嫩草影院久久| 91国产免费观看| 国产精华液一区二区三区| 午夜不卡av在线| 亚洲免费av高清| 国产欧美中文在线| 欧美sm美女调教| 欧美日韩国产首页| 99久久国产免费看| 国产不卡高清在线观看视频|