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

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

?? guidev_measure.c

?? 基于arm7內(nèi)核的S3C44B0X的UCGUI應(yīng)用程序
?? 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        : GUIDevM.CPurpose     : Implementation of measurement devices              The purpose of a measurement device is to find out the              area (Rectangle) affected by a sequence of drawing              operations.---------------------------END-OF-HEADER------------------------------*/#include <string.h>#include "GUI_Private.h"#include "GUIDebug.h"/* Memory device capabilities are compiled only if support for them is enabled.*/ #if GUI_SUPPORT_MEMDEVtypedef struct {  GUI_RECT rUsed;  tLCDDEV_Color2Index*  pfColor2Index;  tLCDDEV_Index2Color*  pfIndex2Color;} GUI_MEASDEV;#define GUI_MEASDEV_h2p(h) ((GUI_MEASDEV*)GUI_ALLOC_h2p(h))/*        *********************************************************        *                                                       *        *           internal routines                           *        *                                                       *				*     (not part of interface table)                     *        *                                                       *        **********************************************************/void _MarkPixel(int x, int y) {  GUI_MEASDEV* pDev = (GUI_MEASDEV*)(GUI_MEMDEV_h2p(GUI_Context.hDevData));  if (x < pDev->rUsed.x0)    pDev->rUsed.x0 = x;  if (x > pDev->rUsed.x1)    pDev->rUsed.x1 = x;  if (y < pDev->rUsed.y0)    pDev->rUsed.y0 = y;  if (y > pDev->rUsed.y1)    pDev->rUsed.y1 = y;}void _MarkRect(int x0, int y0, int x1, int y1) {  GUI_MEASDEV* pDev = (GUI_MEASDEV*)(GUI_MEMDEV_h2p(GUI_Context.hDevData));  if (x0 < pDev->rUsed.x0)    pDev->rUsed.x0 = x0;  if (x1 > pDev->rUsed.x1)    pDev->rUsed.x1 = x1;  if (y1 < pDev->rUsed.y0)    pDev->rUsed.y0 = y0;  if (y1 > pDev->rUsed.y1)    pDev->rUsed.y1 = y1;}/*        *********************************************************        *                                                       *        *         Universal draw Bitmap routine                 *        *                                                       *        **********************************************************/static void _DrawBitmap   (int x0, int y0,                       int xsize, int ysize,                       int BitsPerPixel,                        int BytesPerLine,                       const U8* pData, int Diff,                       const LCD_PIXELINDEX* pTrans){  GUI_USE_PARA(BitsPerPixel);  GUI_USE_PARA(BytesPerLine);  GUI_USE_PARA(pData);  GUI_USE_PARA(Diff);  GUI_USE_PARA(pTrans);  _MarkRect(x0,y0,x0+xsize-1, y0+ysize-1);}static void _DrawHLine    (int x0, int y,  int x1) {  _MarkRect(x0, y, x1, y);}static void _DrawVLine    (int x , int y0,  int y1) {  _MarkRect(x, y0, x, y1);}static void _SetPixelIndex (int x, int y, int Index) {  GUI_USE_PARA(Index);  _MarkPixel(x,y);}static void _XorPixel (int x, int y){  _MarkPixel(x,y);}static unsigned int _GetPixelIndex (int x, int y) {   GUI_USE_PARA(x);  GUI_USE_PARA(y);  return 0;}static void _FillRect     (int x0, int y0, int x1, int y1){  _MarkRect(x0,y0,x1,y1);}static void _GetRect  (LCD_RECT* pRect) {  pRect->x0 = pRect->y0 = -4095;  pRect->x1 = pRect->y1 =  4095;}static  unsigned int _Color2Index (LCD_COLOR Color) {  GUI_MEASDEV * pDev = GUI_MEASDEV_h2p(GUI_Context.hDevData);  return pDev->pfColor2Index(Color);}static  LCD_COLOR _Index2Color (int Index) {  GUI_MEASDEV * pDev = GUI_MEASDEV_h2p(GUI_Context.hDevData);  return pDev->pfIndex2Color(Index);}static void CalcPolyRect(GUI_RECT *pr, const GUI_POINT* paPoint, int NumPoints) {  int i;  int xMin, xMax, yMin, yMax;  xMin = GUI_XMAX;  yMin = GUI_YMAX;  xMax = GUI_XMIN;  yMax = GUI_YMIN;  for (i=0; i<NumPoints; i++) {    int x = paPoint->x;    int y = paPoint->y;    if (xMin > x)      xMin = x;    if (xMax < x)      xMax = x;    if (yMin > y)      yMin = y;    if (yMax < y)      yMax = y;    paPoint++;  }  pr->x0 = xMin;  pr->x1 = xMax;  pr->y0 = yMin;  pr->y1 = yMax;}static void _FillPolygon(const GUI_POINT* paPoint, int NumPoints, int x0, int y0) {  GUI_RECT r;  CalcPolyRect(&r, paPoint, NumPoints);  GUI_MoveRect(&r, x0, y0);  _MarkRect(r.x0, r.y0, r.x1, r.y1);}static void _FillPolygonAA(const GUI_POINT* paPoint, int NumPoints, int x0, int y0) {  GUI_RECT r;  CalcPolyRect(&r, paPoint, NumPoints);  GUI_MoveRect(&r, x0, y0);  if (GUI_Context.AA_HiResEnable) {    r.x0 /= GUI_Context.AA_Factor;    r.y0 /= GUI_Context.AA_Factor;    r.x1 = (r.x1 + GUI_Context.AA_Factor -1) / GUI_Context.AA_Factor;    r.y1 = (r.y1 + GUI_Context.AA_Factor -1) / GUI_Context.AA_Factor;  }  _MarkRect(r.x0, r.y0, r.x1, r.y1);}/***********************************************************************             Device structure************************************************************************/static const tLCDDEV_APIList _APIList = {  _Color2Index,  _DrawBitmap,  _DrawHLine,  _DrawVLine,  _FillRect,  _GetPixelIndex,  _GetRect,  _Index2Color,  _SetPixelIndex,  _XorPixel,  _FillPolygon,  _FillPolygonAA};/*  *********************************************************  *  *            Exported routines  *  **********************************************************//*      *************************************************      *                                               *      *             Delete                            *      *                                               *      **************************************************/void GUI_MEASDEV_Delete (GUI_MEASDEV_Handle hMemDev) {/* Make sure memory device is not used */  if ((GUI_Context.hDevData = hMemDev) != 0)	  GUI_SelectLCD();  GUI_ALLOC_FREE(hMemDev);}/*      *************************************************      *                                               *      *             Clear Rectangle                   *      *                                               *      **************************************************/void GUI_MEASDEV_ClearRect (GUI_MEASDEV_Handle hMemDev) {  if (hMemDev) {    GUI_MEASDEV* pDevData = (GUI_MEASDEV*)GUI_ALLOC_H2P(hMemDev);    pDevData->rUsed.x0 = GUI_XMAX;    pDevData->rUsed.y0 = GUI_YMAX;    pDevData->rUsed.x1 = GUI_XMIN;    pDevData->rUsed.y1 = GUI_YMIN;  } }/*      *************************************************      *                                               *      *             Create                            *      *                                               *      **************************************************/GUI_MEASDEV_Handle GUI_MEASDEV_Create (void) {  int MemSize;  GUI_MEASDEV_Handle hMemDev;  MemSize = sizeof(GUI_MEASDEV);  hMemDev = GUI_ALLOC_ALLOC(MemSize);  if (hMemDev) {    GUI_MEASDEV* pDevData = (GUI_MEASDEV*)GUI_ALLOC_H2P(hMemDev);    pDevData->pfColor2Index = GUI_Context.pDeviceAPI->pfColor2Index;        pDevData->pfIndex2Color = GUI_Context.pDeviceAPI->pfIndex2Color;    GUI_MEASDEV_ClearRect(hMemDev);  } else {    GUI_DEBUG_WARN("GUI_MEASDEV_Create: Alloc failed");  }  return hMemDev;}/*      *************************************************      *                                               *      *             Select                            *      *                                               *      **************************************************/void GUI_MEASDEV_Select(GUI_MEASDEV_Handle hMem) {  if (hMem==0) {    GUI_SelectLCD();  } else {    #if GUI_WINSUPPORT      WM_Deactivate();    #endif    GUI_Context.hDevData = hMem;    GUI_Context.pDeviceAPI  = &_APIList;    GUI_Context.pClipRect_HL = NULL;    LCD_SetClipRectMax();  }}/*      *************************************************      *                                               *      *             GetRect      *                                               *      **************************************************/void GUI_MEASDEV_GetRect(GUI_MEASDEV_Handle hMem, GUI_RECT *pRect) {  if (hMem) {    GUI_MEASDEV* pDev = (GUI_MEASDEV*)GUI_ALLOC_H2P(hMem);    if (pRect) {      pRect->x0 = pDev->rUsed.x0;      pRect->y0 = pDev->rUsed.y0;      pRect->x1 = pDev->rUsed.x1;      pRect->y1 = pDev->rUsed.y1;    }  }}#elsevoid GUIDEV_Measure(void) {} /* avoid empty object files */#endif /* GUI_MEMDEV_SUPPORT */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美韩国日本一区| 色8久久人人97超碰香蕉987| 3d动漫精品啪啪1区2区免费| 亚洲欧洲在线观看av| 国产老肥熟一区二区三区| 欧美成人女星排行榜| 国产在线不卡视频| 国产精品久久久久久久浪潮网站 | 精品少妇一区二区三区在线播放 | 亚洲一区二区综合| 7777精品伊人久久久大香线蕉 | 555夜色666亚洲国产免| 精品一区二区三区在线观看 | 日韩天堂在线观看| 国产精品69毛片高清亚洲| 中文字幕一区三区| 欧美日免费三级在线| 久久精品国产免费看久久精品| 久久蜜桃av一区精品变态类天堂 | 欧美怡红院视频| 美女一区二区视频| 中文字幕成人在线观看| 欧美色倩网站大全免费| 麻豆国产精品官网| 中文字幕中文字幕一区二区| 欧美日韩国产区一| 国产成人免费高清| 天天射综合影视| 欧美国产激情一区二区三区蜜月| 91在线码无精品| 天天色综合天天| 中文字幕一区二区三区在线播放| 7777精品伊人久久久大香线蕉经典版下载| 国产美女在线观看一区| 一区二区在线观看免费| 日韩欧美亚洲国产另类| 91在线视频网址| 精品一区二区国语对白| 亚洲激情在线播放| 国产午夜精品一区二区三区视频 | 欧美成人欧美edvon| 色综合中文字幕国产 | 欧美变态tickle挠乳网站| 不卡欧美aaaaa| 久久精品久久精品| 伊人婷婷欧美激情| 中日韩av电影| 精品88久久久久88久久久| 欧美日韩一二三| 91国偷自产一区二区三区成为亚洲经典| 激情综合色综合久久| 午夜视频一区二区| 一区二区三区毛片| ...xxx性欧美| 欧美激情资源网| 欧美精品一区二区高清在线观看| 欧洲视频一区二区| 一本一道久久a久久精品| 成人国产在线观看| 国产精品一区2区| 国产在线精品免费| 日本vs亚洲vs韩国一区三区二区| 一区二区三区 在线观看视频| 久久精品一区二区三区不卡 | 一本一本久久a久久精品综合麻豆| 狠狠色狠狠色综合日日91app| 日韩一区欧美二区| 午夜成人免费电影| 丝袜亚洲另类欧美综合| 亚洲午夜精品网| 一区二区三区日韩欧美精品| 国产精品第四页| 亚洲欧洲一区二区三区| 中文字幕乱码亚洲精品一区| 国产午夜精品一区二区| 久久精品一区四区| 久久久久亚洲蜜桃| 中国色在线观看另类| 国产精品入口麻豆原神| 国产精品久久久久影院亚瑟| 中文字幕中文字幕一区| 亚洲少妇最新在线视频| 亚洲免费观看在线观看| 亚洲一二三区在线观看| 日精品一区二区三区| 蜜桃精品在线观看| 国产成人免费xxxxxxxx| 99久久婷婷国产精品综合| 99久久99久久精品国产片果冻| 99久久免费视频.com| 欧美性xxxxxx少妇| 日韩一区二区三区观看| 久久免费偷拍视频| 亚洲欧洲av在线| 一区二区三区在线视频观看| 亚洲午夜激情av| 麻豆精品在线视频| 成人免费视频免费观看| 欧美在线观看一区| 日韩午夜在线影院| 欧美韩国日本不卡| 一区二区三区在线看| 日韩专区一卡二卡| 粉嫩久久99精品久久久久久夜 | 色老头久久综合| 69久久夜色精品国产69蝌蚪网| 日韩一区二区三区精品视频| 欧美va天堂va视频va在线| 欧美极品aⅴ影院| 亚洲一区在线观看视频| 麻豆精品新av中文字幕| gogogo免费视频观看亚洲一| 在线观看一区日韩| 久久婷婷成人综合色| 亚洲精品国产无天堂网2021| 男女激情视频一区| 97aⅴ精品视频一二三区| 日韩一区二区精品葵司在线| 国产精品久久久久久久第一福利 | 欧美一区二区高清| 国产视频在线观看一区二区三区 | 国产精品久久久爽爽爽麻豆色哟哟| 亚洲综合男人的天堂| 麻豆中文一区二区| 在线观看日韩毛片| 久久久久久99久久久精品网站| 一区二区在线看| 国产精品18久久久久久久久| 在线一区二区观看| 国产日韩欧美激情| 视频一区视频二区中文| 不卡av在线网| 日韩美女在线视频| 亚洲一区二区黄色| 国产精品2024| 日韩欧美一区二区在线视频| 亚洲最新视频在线观看| 国产 日韩 欧美大片| 欧美一卡二卡三卡| 亚洲福利一二三区| www.av亚洲| 久久综合色之久久综合| 午夜激情综合网| 91国产福利在线| 亚洲女同一区二区| 成人av在线观| 国产欧美一区视频| 国产一区二区三区久久久| 欧美一区二区三区喷汁尤物| 一区二区三区小说| 色视频一区二区| 亚洲欧美日本在线| 成人av免费网站| 欧美国产丝袜视频| 国产精品1区二区.| 国产日韩欧美一区二区三区综合| 美女一区二区三区在线观看| 91.com视频| 日韩精品免费视频人成| 欧美日韩亚洲国产综合| 亚洲成人激情自拍| 在线不卡一区二区| 日韩电影在线免费看| 91麻豆精品国产91久久久资源速度 | 国内精品久久久久影院薰衣草| 欧美一区二区播放| 日本sm残虐另类| 日韩亚洲欧美一区| 美腿丝袜亚洲三区| 26uuu精品一区二区在线观看| 另类综合日韩欧美亚洲| 精品免费国产一区二区三区四区| 日韩成人精品在线观看| 欧美一区2区视频在线观看| 久草这里只有精品视频| 26uuu色噜噜精品一区二区| 国产成人一级电影| 国产精品高潮久久久久无| a亚洲天堂av| 夜夜揉揉日日人人青青一国产精品 | 亚洲一区二区三区在线看| 色成人在线视频| 亚洲国产欧美一区二区三区丁香婷| 色先锋aa成人| 亚洲第一电影网| 欧美精品久久99久久在免费线| 免费日韩伦理电影| 欧美tickling网站挠脚心| 国产激情视频一区二区在线观看| 国产日本欧洲亚洲| 色激情天天射综合网| 秋霞午夜av一区二区三区| 欧美电影免费观看高清完整版在线| 国产美女精品在线| 亚洲久草在线视频| 欧美一区二区三区四区久久| 国产丶欧美丶日本不卡视频| 亚洲卡通动漫在线| 精品久久国产字幕高潮| 成人在线综合网|