亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲欧美一区二区三区孕妇| 91丨九色丨蝌蚪丨老版| www.激情成人| 欧美日韩国产首页| 18成人在线观看| 国产在线精品免费av| 欧美一级欧美三级在线观看| 中文字幕一区二区三区不卡在线 | 亚洲日本护士毛茸茸| 狠狠色丁香婷婷综合| 欧美日韩国产精品成人| 亚洲欧美电影一区二区| 国产a区久久久| 日韩一区二区电影在线| 亚洲 欧美综合在线网络| 色综合天天性综合| 亚洲欧美激情在线| 99国产精品国产精品久久| 久久蜜臀精品av| 国产在线播放一区二区三区| 制服丝袜av成人在线看| 亚洲午夜久久久| 一本大道久久a久久精品综合| 久久久亚洲精品一区二区三区| 六月婷婷色综合| 欧美视频三区在线播放| 亚洲第一在线综合网站| 欧美日韩一卡二卡三卡| 亚洲国产一区视频| 欧美日韩高清一区| 日日夜夜精品视频免费| 91麻豆精品国产91久久久使用方法| 亚洲高清免费视频| 欧美一区二区三区四区高清| 日韩和欧美一区二区| 日韩一级片网址| 久久不见久久见免费视频7| 欧美成人aa大片| 国内精品伊人久久久久av一坑| 欧美成人三级在线| 国产一区二区伦理片| 国产欧美一区二区精品性色超碰| 国产成a人亚洲精| 自拍偷拍亚洲综合| 欧美日韩一级黄| 久久99热这里只有精品| 久久先锋资源网| 99久久免费国产| 亚洲h在线观看| 日韩免费看的电影| 成人免费视频免费观看| 最新中文字幕一区二区三区| 欧美性猛交xxxx黑人交| 日韩av不卡在线观看| 国产欧美日韩在线看| 91丝袜高跟美女视频| 日韩电影在线看| 国产蜜臀97一区二区三区| 91美女在线看| 免费在线观看一区| 欧美国产禁国产网站cc| 欧美性色黄大片手机版| 韩国成人福利片在线播放| 中文字幕制服丝袜一区二区三区| 欧美视频日韩视频| 国产一二三精品| 亚洲美女电影在线| 日韩一区二区三区免费看 | 久久亚洲综合av| 色综合久久88色综合天天6| 蓝色福利精品导航| 一区二区三区四区激情| 久久精品免视看| 欧美精品自拍偷拍动漫精品| 懂色av一区二区夜夜嗨| 视频一区视频二区中文字幕| 中文字幕av一区二区三区高| 欧美一卡2卡三卡4卡5免费| av毛片久久久久**hd| 麻豆精品在线观看| 亚洲影视在线播放| 国产精品久久精品日日| 欧美一级高清片| 色婷婷精品久久二区二区蜜臂av | 欧美极品美女视频| 欧美狂野另类xxxxoooo| 91香蕉视频污| 国产精选一区二区三区| 日韩中文字幕av电影| 亚洲丝袜精品丝袜在线| 欧美国产一区视频在线观看| 日韩欧美电影一二三| 欧美日韩国产另类一区| 一本大道久久a久久精品综合| 国产激情视频一区二区在线观看 | 精品影院一区二区久久久| 五月综合激情日本mⅴ| 亚洲自拍欧美精品| 亚洲人成伊人成综合网小说| 国产欧美一区二区三区在线看蜜臀 | 99精品久久免费看蜜臀剧情介绍| 狠狠色丁香婷婷综合| 美女任你摸久久| 日韩电影在线观看一区| 午夜精品福利一区二区蜜股av| 亚洲欧美一区二区久久| 日韩美女视频一区| 亚洲人妖av一区二区| 中文字幕精品一区二区精品绿巨人 | 亚洲视频一二三| 国产精品色眯眯| 中文一区二区完整视频在线观看| 国产日韩精品一区二区三区在线| 久久综合九色综合97婷婷| 欧美大片在线观看一区二区| 日韩欧美国产一区二区在线播放 | 日本女优在线视频一区二区| 热久久国产精品| 欧美a一区二区| 麻豆国产一区二区| 极品销魂美女一区二区三区| 国产中文字幕精品| av在线不卡免费看| 欧美在线一区二区| 欧美精品第一页| 精品国产污网站| 国产婷婷一区二区| 亚洲日本乱码在线观看| 亚洲国产精品自拍| 麻豆91小视频| 国产91富婆露脸刺激对白| 91麻豆免费视频| 欧美日韩夫妻久久| 久久久蜜臀国产一区二区| 国产精品福利在线播放| 亚洲一区二区三区四区不卡| 免费看欧美美女黄的网站| 国产精品白丝jk黑袜喷水| 色综合久久天天| 91精品国产91久久综合桃花| 精品处破学生在线二十三| 国产精品午夜久久| 亚洲国产精品久久久久秋霞影院| 久久不见久久见免费视频1| 波多野结衣精品在线| 欧美精品欧美精品系列| 国产欧美日韩另类一区| 亚洲国产精品久久艾草纯爱| 韩日av一区二区| 91年精品国产| 精品国精品国产尤物美女| 亚洲少妇最新在线视频| 麻豆成人免费电影| 一本大道久久精品懂色aⅴ| 精品久久久久久无| 综合av第一页| 国产一区二区三区四区在线观看| 在线视频国产一区| 久久精品视频在线免费观看| 亚洲成人动漫在线观看| 国产成人av影院| 91精品国产综合久久久蜜臀图片| 欧美韩日一区二区三区| 婷婷一区二区三区| 99热99精品| 久久精品一区蜜桃臀影院| 亚洲成人av电影| 99国产精品视频免费观看| 久久亚洲精品国产精品紫薇| 视频一区中文字幕国产| 一本一本大道香蕉久在线精品| 精品播放一区二区| 亚洲一区二区高清| fc2成人免费人成在线观看播放| 日韩欧美激情四射| 午夜久久久久久久久| 色域天天综合网| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 美女脱光内衣内裤视频久久网站| 欧美视频中文字幕| 亚洲免费观看在线观看| 成人av免费在线观看| 国产网站一区二区三区| 国产一区二区伦理片| 精品精品欲导航| 精品一区二区三区视频在线观看| 欧美探花视频资源| 亚洲自拍偷拍av| 91黄色免费网站| 亚洲综合区在线| 欧美私模裸体表演在线观看| 樱花草国产18久久久久| 成人av在线一区二区| 欧美韩日一区二区三区四区| 岛国精品在线观看| 国产精品青草综合久久久久99| 国产精品一级黄| 中文字幕精品—区二区四季| 东方aⅴ免费观看久久av| 国产午夜精品理论片a级大结局|