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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? guicurs.c

?? ucgui在44b0上移植
?? 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        : GUICurs.CPurpose     : Cursor routines of the graphics library---------------------------END-OF-HEADER------------------------------*/#include <stddef.h>           /* needed for definition of NULL */#include "GUI_Private.h"#if GUI_SUPPORT_CURSOR/*********************************************************************       Types**********************************************************************/void   (*_cbShowCursor)(void);void   (*_cbHideCursor)(void);/*********************************************************************       static data**********************************************************************/static  GUI_HMEM _hBuffer;static  GUI_RECT _Rect;static  char _CursorOn;static  const GUI_BITMAP* _pBM;static  U8   _CursorDeActCnt;static  int  _AllocSize;/*********************************************************************                  static Show / Hide*********************************************************************Purpose:  Show / Hide cursor.*/static void Hide(void) {  GUI_RECT r;  r = GUI_Context.ClipRect;  LCD_SetClipRectMax();  if (_cbHideCursor)    _cbHideCursor();  GUI_Context.ClipRect = r;}static void Show(void) {  GUI_RECT r;  r = GUI_Context.ClipRect;  LCD_SetClipRectMax();  if (_cbShowCursor)    _cbShowCursor();  GUI_Context.ClipRect = r;}static void  _CalcRect(void) {  if (_pBM) {    _Rect.x1 = _Rect.x0 + _pBM->XSize - 1;    _Rect.y1 = _Rect.y0 + _pBM->YSize - 1;  }}/*********************************************************************                  Activate / Deactivate*********************************************************************Purpose:  Allows activation or deactivation of cursor. Can be used to make  cursor flash.*/void GUI_CURSOR_Activate(void) {  GUI_LOCK();  if ((--_CursorDeActCnt) ==0) {    Show();  }  GUI_UNLOCK();}void GUI_CURSOR_Deactivate(void) {  GUI_LOCK();  if (_CursorDeActCnt-- ==0)    Hide();  GUI_UNLOCK();}/*********************************************************************                  static: SetCursor*********************************************************************Purpose:  Show cursor.*/static void _SetCursor(const GUI_BITMAP* pBM, void (*cbShow)(void), void (*cbHide)(void)) {  Hide();  /* Make sure the old cursor (if there was an old one) is history */  _CursorOn = 1;  _pBM = pBM;  _cbShowCursor = cbShow;  _cbHideCursor = cbHide;  Show();}/*********************************************************************                  Cursor*********************************************************************Purpose:*/static void _Draw(void) {  int x, y, xSize, ySize;  LCD_PIXELINDEX* pData;  GUI_LOCK();  /* Save bitmap data */  pData = GUI_ALLOC_h2p(_hBuffer);  xSize = _Rect.x1 - _Rect.x0 + 1;  ySize = _Rect.y1 - _Rect.y0 + 1;  for (y = 0; y < ySize; y++) {    for (x = 0; x < xSize; x++) {      *(pData + x) = LCD_GetPixelIndex(_Rect.x0 + x, _Rect.y0 + y);    }    pData += _pBM->XSize;  }  GUI_UNLOCK();  /* Draw bitmap */  GL_DrawBitmap(_pBM, _Rect.x0, _Rect.y0);}static void _Undraw(void) {  int x, y, xSize, ySize;  LCD_PIXELINDEX* pData;  /* Save bitmap data */  GUI_LOCK();  pData = GUI_ALLOC_h2p(_hBuffer);  xSize = _Rect.x1 - _Rect.x0 + 1;  ySize = _Rect.y1 - _Rect.y0 + 1;  for (y = 0; y < ySize; y++) {    for (x = 0; x < xSize; x++) {      LCD_SetPixelIndex(x + _Rect.x0, y + _Rect.y0, *(pData + x));    }    pData += _pBM->XSize;  }  GUI_UNLOCK();}void GUI_CURSOR_Select(const GUI_BITMAP* pBM) {  int AllocSize;  GUI_LOCK();  if (pBM != _pBM) {    AllocSize = pBM->XSize * pBM->YSize * sizeof(LCD_PIXELINDEX);    if (AllocSize != _AllocSize) {      GUI_ALLOC_FreePtr(&_hBuffer);    }    _hBuffer = GUI_ALLOC_Alloc(AllocSize);    _SetCursor(pBM, _Draw, _Undraw);    _pBM = pBM;    _CalcRect();  }  GUI_UNLOCK();}/*********************************************************************                  GUI_CURSOR_TempHide*********************************************************************Purpose:  Hide cursor if a part of the given rectangle is located in the  rectangle used for the cursor. This routine is called automatically  by the window manager. This way the window manager can  automatically make sure that the cursor is always displayed  correctly.Params:  pRect   Rectangle under consideration*/void GUI_CURSOR_TempHide(const GUI_RECT* pRect) {  if (_CursorOn) {    if (_CursorDeActCnt==0) {      if ((pRect == NULL) | GUI_RectsIntersect(pRect, &_Rect)) {        Hide();      }    }  }}void GUI_CURSOR_TempUnhide(const GUI_RECT* pRect) {  if (_CursorOn) {    if (_CursorDeActCnt==0) {      if ((pRect == NULL) | GUI_RectsIntersect(pRect, &_Rect)) {        Show();      }    }  }}/*********************************************************************                  GUI_CURSOR_Clear*********************************************************************Purpose:  Clears cursor.*/void GUI_CURSOR_Clear(void) {  GUI_LOCK();  Hide();  _CursorOn = 0;  /* Set function pointer which window manager can use */  GUI_CURSOR_pfTempHide   = NULL;  GUI_CURSOR_pfTempUnhide = NULL;  GUI_UNLOCK();}/*********************************************************************                  GUI_CURSOR_Show*********************************************************************Purpose:  Shows cursor.*/void GUI_CURSOR_Show(void) {  GUI_LOCK();  Hide();  _CursorOn = 1;  if (!_pBM) {    GUI_CURSOR_Select(&GUI_MouseArrow);  }  /* Set function pointer which window manager can use */  GUI_CURSOR_pfTempHide   = GUI_CURSOR_TempHide;  GUI_CURSOR_pfTempUnhide = GUI_CURSOR_TempUnhide;  GUI_UNLOCK();}/*********************************************************************                  GUI_CURSOR_SetPosition*********************************************************************Purpose:  Sets position of cursor.*/void GUI_CURSOR_SetPosition(int x, int y) {  GUI_LOCK();  if ((_Rect.x0 != x) | (_Rect.y0 != y)) {    if (_CursorOn) {      Hide();    }    _Rect.x0 = x;    _Rect.y0 = y;    _CalcRect();    if (_CursorOn) {      Show();    }  }  GUI_UNLOCK();}#elsevoid GUICurs_C(void) {} /* avoid empty object files */#endif   /* GUI_SUPPORT_CURSOR */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久国产精品免费蜜臀| 国产欧美一区二区三区鸳鸯浴| 91在线看国产| 成人午夜免费av| 成人av电影观看| 成人精品鲁一区一区二区| 国产精品亚洲一区二区三区在线 | 开心九九激情九九欧美日韩精美视频电影| 亚洲综合久久av| 中文字幕一区二区三区色视频 | 一区二区三区四区在线| 亚洲日本成人在线观看| 最新久久zyz资源站| 国产精品初高中害羞小美女文| 国产精品丝袜久久久久久app| 欧美国产精品久久| 国产精品成人一区二区三区夜夜夜 | 欧洲中文字幕精品| 欧美中文一区二区三区| 在线精品观看国产| 欧美日韩国产经典色站一区二区三区| 欧美日韩电影在线| 欧美一区二区人人喊爽| 精品久久久久一区| 欧美国产日韩精品免费观看| 亚洲视频香蕉人妖| 午夜伊人狠狠久久| 久久成人免费电影| 成人精品高清在线| 在线观看国产日韩| 日韩欧美一区二区免费| 久久亚洲一区二区三区明星换脸| 国产欧美1区2区3区| 亚洲男人天堂av网| 免费欧美高清视频| 国产·精品毛片| 色狠狠桃花综合| 欧美一区二区三区视频免费 | 中文无字幕一区二区三区 | 麻豆成人91精品二区三区| 国产精品一区一区三区| 99久久免费国产| 69av一区二区三区| 国产欧美日韩另类一区| 一区二区三区日韩欧美精品| 日韩精品成人一区二区三区| 国产麻豆成人传媒免费观看| 91美女在线看| 日韩精品一区二区三区视频在线观看 | 在线亚洲高清视频| 欧美www视频| 亚洲欧美另类小说视频| 免费欧美高清视频| 91浏览器打开| 精品99999| 亚洲自拍都市欧美小说| 激情综合色综合久久| 在线观看亚洲精品视频| 欧美精品一区二区三区蜜桃 | 日本不卡视频在线| 91在线视频免费观看| 日韩欧美视频在线| 亚洲精品视频在线观看免费| 狠狠色综合色综合网络| 在线观看精品一区| 中文一区一区三区高中清不卡| 日本不卡一二三| 欧洲精品视频在线观看| 国产亚洲精品7777| 日本人妖一区二区| 一本大道久久a久久综合婷婷| 亚洲精品一区二区三区四区高清 | 久久9热精品视频| 一本到三区不卡视频| 国产亚洲va综合人人澡精品| 五月天视频一区| 99国内精品久久| 国产午夜精品在线观看| 日韩成人一级大片| 欧美日韩一级二级三级| 亚洲婷婷国产精品电影人久久| 精品一区二区在线免费观看| 欧美日韩欧美一区二区| 亚洲精品日韩一| 国产夫妻精品视频| 精品久久久三级丝袜| 日韩成人一级片| 欧美日韩视频在线观看一区二区三区| 国产精品全国免费观看高清| 精品一二三四区| 欧美喷水一区二区| 亚洲va韩国va欧美va| 91精品办公室少妇高潮对白| 国产精品免费久久| 国产精品888| 久久久精品影视| 国产乱国产乱300精品| 久久网站热最新地址| 狠狠色丁香久久婷婷综| 日韩区在线观看| 青娱乐精品视频| 欧美一区二区精品| 奇米精品一区二区三区在线观看| 欧美精品乱人伦久久久久久| 亚洲国产精品视频| 欧美色国产精品| 舔着乳尖日韩一区| 4438x成人网最大色成网站| 午夜精品一区二区三区三上悠亚| 在线亚洲免费视频| 亚洲成a人v欧美综合天堂下载| 欧洲精品中文字幕| 日韩影院在线观看| 日韩一区二区在线观看视频| 麻豆91在线播放免费| 久久午夜国产精品| 国产69精品久久久久毛片| 中文字幕在线不卡一区| 91老师片黄在线观看| 亚洲va欧美va天堂v国产综合| 欧美挠脚心视频网站| 老司机精品视频在线| 久久午夜电影网| 91在线无精精品入口| 亚洲午夜激情网页| 欧美另类久久久品| 精品亚洲porn| 欧美国产精品一区| 欧洲生活片亚洲生活在线观看| 亚瑟在线精品视频| 日韩久久精品一区| 国产高清在线观看免费不卡| 国产精品激情偷乱一区二区∴| 99精品视频中文字幕| 亚洲国产精品久久一线不卡| 欧美一卡二卡三卡四卡| 国产激情一区二区三区四区| 国产精品电影一区二区| 欧美探花视频资源| 五月天国产精品| 国产日韩综合av| 色妞www精品视频| 全部av―极品视觉盛宴亚洲| 国产性色一区二区| 色婷婷国产精品| 久久99国产精品久久99果冻传媒| 国产日韩欧美高清在线| 欧洲色大大久久| 国产美女主播视频一区| 亚洲欧美日韩综合aⅴ视频| 欧美一卡二卡在线| 成人h精品动漫一区二区三区| 亚洲风情在线资源站| 久久久久久久久99精品| 色婷婷综合在线| 久久国产视频网| 亚洲日本欧美天堂| 精品精品国产高清a毛片牛牛| 99精品视频在线免费观看| 免费看黄色91| 国产精品二区一区二区aⅴ污介绍| 欧美午夜片在线观看| 国产a精品视频| 日韩精品亚洲专区| 欧美国产一区二区在线观看| 欧美丰满高潮xxxx喷水动漫| 波多野结衣在线一区| 免费视频最近日韩| 一区二区三区高清在线| 久久女同性恋中文字幕| 欧美性色aⅴ视频一区日韩精品| 国产精品亚洲第一区在线暖暖韩国| 一区二区三区高清| 久久午夜羞羞影院免费观看| 欧美老女人第四色| 99国产精品国产精品毛片| 激情综合色丁香一区二区| 亚洲高清视频中文字幕| 欧美国产综合色视频| 日韩欧美国产三级电影视频| 欧美性色黄大片手机版| 92精品国产成人观看免费| 国产高清成人在线| 美国欧美日韩国产在线播放| 亚洲综合免费观看高清完整版在线| 中文字幕av一区 二区| 2欧美一区二区三区在线观看视频| 欧美日韩久久一区| 色呦呦网站一区| 成人深夜视频在线观看| 国产一区二区三区免费| 日韩国产在线一| 亚洲成人三级小说| 亚洲美女一区二区三区| 亚洲欧洲日韩综合一区二区| 久久精品一区二区三区不卡| 日韩一区二区三区精品视频| 欧美伦理影视网| 在线免费视频一区二区| 91麻豆自制传媒国产之光|