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

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

?? lcd_drawbitmap_m565.c

?? 這套代碼已經成功一直到S3C44B0X開發板上
?? C
字號:
/*
*********************************************************************************************************
*                                                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        : LCD_DrawBitmap_M565.c
Purpose     : Drawing routine for drawing a 16bpp bitmap
---------------------------END-OF-HEADER------------------------------
*/

#include <stddef.h>           /* needed for definition of NULL */
#include "GUI_Private.h"
#include "LCD_Private.h"

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _DrawBitmap_M565
*/
static void _DrawBitmap_M565(int x0,int y0,int xsize, int ysize, const U8 GUI_UNI_PTR * pPixel, const LCD_LOGPALETTE GUI_UNI_PTR * pLogPal, int xMag, int yMag) {
  const U16 * pData;
  int y, OldIndex, PrevIndex, Mode, SwapRB, Mag, BytesPerLine, UseDrawBitmap = 0;
  GUI_USE_PARA(pLogPal);
  OldIndex = LCD_GetColorIndex();
  PrevIndex = OldIndex;
  pData = (const U16 *)pPixel;
  Mode = LCD_GetFixedPaletteEx(GUI_Context.SelLayer);
  SwapRB = LCD_GetSwapRBEx(GUI_Context.SelLayer);
  Mag = (xMag | yMag);
  BytesPerLine = xsize * 2;
  #if GUI_SUPPORT_MEMDEV == 0
  if ((Mode == 565) && (SwapRB == 1) && (Mag == 1)) {
    UseDrawBitmap = 1;
  }
  #else
  if (GUI_Context.pDeviceAPI->pMemDevAPI) {
    if (((GUI_Context.hDevData && (GUI_Context.pDeviceAPI->pMemDevAPI->pfIndex2Color == LCD_Index2Color_565)) ||
        ((GUI_Context.hDevData == 0) && (Mode == 565) && (SwapRB == 1)))  && (Mag == 1)) {
      UseDrawBitmap = 1;
    }
  }
  #endif
  if (UseDrawBitmap) {
    LCD_DrawBitmap(x0, y0, xsize, ysize, 1, 1, 16, BytesPerLine, pPixel, 0);
  } else {
    if (Mag == 1) {
      /* Perform clipping */
      int x1, y1, Diff;
      y1 = y0 + ysize - 1;
      x1 = x0 + xsize - 1;
      /* Clip Y */
      if (y0 < GUI_Context.ClipRect.y0) {
        Diff = GUI_Context.ClipRect.y0 -y0;
        y0   = GUI_Context.ClipRect.y0;
        #if GUI_SUPPORT_LARGE_BITMAPS                       /* Required only for 16 bit CPUs if some bitmaps are >64kByte */
          pData += (U32)Diff * (U32)BytesPerLine / 2;
        #else
          pData += (unsigned)Diff * (unsigned)BytesPerLine / 2;
        #endif
        ysize -= Diff;
      }
      Diff = y1 - GUI_Context.ClipRect.y1;
      if (Diff > 0) {
        ysize -= Diff;
      }
      if (ysize <=0) {
		    return;
      }
      /* Clip right side */
      Diff = x1 - GUI_Context.ClipRect.x1;
      if (Diff > 0) {
        xsize -= Diff;
      }
      /* Clip left side */
      Diff =0;
      if (x0 < GUI_Context.ClipRect.x0) {
        Diff = GUI_Context.ClipRect.x0-x0;
			  xsize -= Diff;
        pData += Diff; 
        x0 += Diff; 
      }
      if (xsize <=0) {
		    return;
      }
      /* Simple, unmagnified output using LCD_L0_SetPixel() */
      for (y = 0; y < ysize; y++) {
        int x;
        const U16 * p = pData;
        for (x = 0; x < xsize; x++) {
          U16 Index;
          Index = *p++;
          if (Index != PrevIndex) {
            LCD_SetColor(LCD_Index2Color_M565(Index));
            PrevIndex = Index;
          }
          LCDDEV_L0_SetPixelIndex(x + x0, y + y0, LCD_COLORINDEX);
        }
        pData += BytesPerLine / 2;
      }
    } else {
      /* Magnified output using LCD_FillRect() */
      int x,y;
      int yi;
      for (y = y0, yi = 0; yi < ysize; yi++, y += yMag, pPixel += BytesPerLine) {
        int yMax;
        yMax = y + yMag - 1;
        /* Draw if within clip area */
        if ((yMax >= GUI_Context.ClipRect.y0) && (y <= GUI_Context.ClipRect.y1)) {
          int xi;
          const U16 GUI_UNI_PTR * p = pData;
          for (x = x0, xi = 0; xi < xsize; xi++, x += xMag) {
            U16 Index;
            Index = *p++;
            if (Index != PrevIndex) {
              LCD_SetColor(LCD_Index2Color_M565(Index));
              PrevIndex = Index;
            }
            LCD_FillRect(x, y, x + xMag - 1, yMax);
          }
        }
        pData += BytesPerLine / 2;
      }
    }
    GUI_SetColorIndex(OldIndex);
  }
}

/*********************************************************************
*
*       Public data
*
**********************************************************************
*/
/*********************************************************************
*
*       GUI_BitmapMethodsM565
*/
const GUI_BITMAP_METHODS GUI_BitmapMethodsM565 = {
  _DrawBitmap_M565,
  LCD_Index2Color_M565
};
  
/*************************** End of file ****************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区四区在线观看 | 2021国产精品久久精品| 国产亚洲精品资源在线26u| 一区二区三区四区蜜桃| 国产精品中文欧美| 欧美精品国产精品| 亚洲另类一区二区| 国产成人小视频| 日韩三级视频在线看| 亚洲福利视频三区| 色欧美片视频在线观看在线视频| 久久亚洲欧美国产精品乐播| 日韩电影在线免费看| 一本色道a无线码一区v| 国产精品天干天干在线综合| 精品一区二区免费视频| 欧美一区二区三区视频免费播放| 亚洲精品高清在线观看| 99久久久国产精品| 国产精品色一区二区三区| 国产综合久久久久久鬼色| 日韩欧美视频在线| 秋霞影院一区二区| 欧美精品色一区二区三区| 亚洲一区二区在线视频| 在线观看日韩电影| 亚洲精品成人精品456| 91啦中文在线观看| 亚洲女厕所小便bbb| 91猫先生在线| 亚洲一区二区三区四区的| 在线日韩av片| 午夜精品久久久久久久蜜桃app| 欧美亚洲愉拍一区二区| 亚洲一区二区在线播放相泽| 欧美视频日韩视频在线观看| 一区二区三区不卡在线观看| 欧美视频一区二区| 日韩精品乱码av一区二区| 欧美日韩一区二区三区免费看| 亚洲国产精品一区二区久久| 欧美日韩在线播| 亚洲午夜免费福利视频| 欧美高清精品3d| 久热成人在线视频| 日本一区二区三区在线观看| 99热这里都是精品| 亚洲电影一区二区| 日韩免费一区二区三区在线播放| 韩国欧美国产一区| 久久99精品网久久| 午夜激情综合网| 国产精品电影一区二区| 亚洲欧洲三级电影| 99视频精品全部免费在线| 亚洲品质自拍视频| 日韩一级高清毛片| 国产精品888| 亚洲人123区| 欧美一区二区三区免费视频| 国产综合色在线视频区| 国产精品久久看| 欧美日韩你懂的| 久久99精品久久久| 综合网在线视频| 欧美一区二区三级| 成人免费高清在线观看| 日韩制服丝袜av| 国产精品久久毛片| 日韩视频一区二区在线观看| 成人久久18免费网站麻豆 | 亚洲精选视频在线| 91精品国产色综合久久不卡蜜臀| 国产成人在线电影| 日韩成人精品视频| 国产精品成人免费在线| 欧美一二三区在线观看| 91麻豆swag| 国产麻豆视频一区| 日韩av中文在线观看| 亚洲欧洲日本在线| 亚洲精品在线免费观看视频| 欧美日韩一区二区欧美激情| 成人性生交大片免费看在线播放| 蜜桃传媒麻豆第一区在线观看| 亚洲精品v日韩精品| 国产视频一区二区三区在线观看| 91精品国产综合久久国产大片 | 亚洲免费在线观看| 久久久精品免费观看| 717成人午夜免费福利电影| 不卡欧美aaaaa| 国产一区二区精品久久91| 丝瓜av网站精品一区二区| 亚洲欧美一区二区不卡| 亚洲国产经典视频| 久久久综合网站| 精品国产三级a在线观看| 在线观看av不卡| 91福利国产精品| av电影在线观看一区| 国产成人免费9x9x人网站视频| 麻豆国产欧美日韩综合精品二区| 亚洲成a人片在线观看中文| 亚洲欧美一区二区三区孕妇| 国产精品国产三级国产普通话99| 精品国产成人在线影院| 欧美videos大乳护士334| 555www色欧美视频| 日韩欧美一级片| 久久综合久久鬼色中文字| 日韩精品一区二区三区中文精品| 欧美一区二区三区成人| 91精品国产综合久久精品麻豆| 欧美日韩高清在线播放| 欧美老肥妇做.爰bbww视频| 欧美三级电影网站| 欧美一级xxx| 久久人人97超碰com| 中文字幕av资源一区| 亚洲欧洲一区二区在线播放| 亚洲欧美日韩国产中文在线| 一区二区免费在线| 日韩av成人高清| 国产一区久久久| voyeur盗摄精品| 欧美日韩另类国产亚洲欧美一级| 欧美日韩免费电影| 精品少妇一区二区三区日产乱码 | 欧美久久久久久久久| 91精品国产综合久久久蜜臀图片| 日韩免费高清av| 国产精品你懂的| 亚洲一区二区三区四区在线观看 | 91在线porny国产在线看| 日本久久一区二区三区| 91精品国产综合久久国产大片| 欧美videos大乳护士334| 国产亚洲欧美日韩在线一区| 亚洲激情图片小说视频| 免费看黄色91| 波多野结衣精品在线| 欧美精品久久一区| 中文字幕精品一区二区精品绿巨人| 亚洲免费在线观看| 激情国产一区二区| 91丝袜美腿高跟国产极品老师| 欧美日韩国产高清一区二区三区 | 国产精品亲子伦对白| 一区二区在线观看视频| 日韩精品五月天| 成人亚洲一区二区一| 欧美精品亚洲一区二区在线播放| 久久精品免费在线观看| 亚洲午夜久久久| 丁香另类激情小说| 日韩欧美一区二区不卡| 中文字幕一区二区视频| 蜜桃久久精品一区二区| 91一区二区三区在线播放| 777a∨成人精品桃花网| 18欧美亚洲精品| 极品尤物av久久免费看| 精品视频999| 国产精品久久二区二区| 理论片日本一区| 欧美日韩午夜精品| 亚洲欧洲成人自拍| 韩国女主播成人在线观看| 911精品国产一区二区在线| 一区精品在线播放| 国产激情偷乱视频一区二区三区| 欧美一区二区三区视频在线| 一区二区三区不卡在线观看| av亚洲产国偷v产偷v自拍| 久久理论电影网| 韩国精品主播一区二区在线观看| 欧美色欧美亚洲另类二区| 中文字幕一区二| 福利电影一区二区| 26uuu色噜噜精品一区| 日韩av电影天堂| 欧美日韩免费视频| 亚洲黄色免费网站| 色一区在线观看| 亚洲天天做日日做天天谢日日欢| 丁香网亚洲国际| 日本一区二区三区四区在线视频| 国产一区欧美日韩| 成人性生交大片免费看视频在线| 久久久久久久综合| 91免费在线看| 国产精品久久久久久久裸模| 国产伦精品一区二区三区免费| 日韩欧美国产麻豆| 精品一二线国产| 久久先锋资源网| 国产成人免费9x9x人网站视频| 久久久不卡影院| 成人亚洲一区二区一|