?? guidev_auto.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 : GUIAutoDev.cPurpose : Implementation of automatic banding memory devices---------------------------END-OF-HEADER------------------------------*/#include "GUI_Protected.h"#include "GUIDebug.h"/* Memory device capabilities are compiled only if support for them is enabled.*/ #if GUI_SUPPORT_MEMDEV/******************************************************************** GUI_MEMDEV_CreateAuto*********************************************************************/int GUI_MEMDEV_CreateAuto(GUI_AUTODEV * pAutoDev) { pAutoDev->FirstCall = 1; return 0;}/******************************************************************** GUI_MEMDEV_DeleteAuto*********************************************************************/void GUI_MEMDEV_DeleteAuto(GUI_AUTODEV * pAutoDev) { GUI_USE_PARA(pAutoDev);}/******************************************************************** GUI_MEMDEV_DrawAuto*********************************************************************/int GUI_MEMDEV_DrawAuto(GUI_AUTODEV * pAutoDev, GUI_AUTODEV_INFO * pAutoDevInfo, GUI_CALLBACK_VOID_P * pfDraw, void * pData) { GUI_RECT rTemp; GUI_HMEM hMem = GUI_MEASDEV_Create(); if (!hMem) { return 1; } GUI_MEASDEV_Select(hMem); /* Measure area to draw */ if (pAutoDev->FirstCall) { /* Measure complete area */ pAutoDevInfo->DrawFixed = 1; pfDraw(pData); GUI_MEASDEV_GetRect(hMem, &pAutoDev->rView); /* Measure variable area only */ GUI_MEASDEV_ClearRect(hMem); pAutoDevInfo->DrawFixed = 0; pfDraw(pData); GUI_MEASDEV_GetRect(hMem, &pAutoDev->rPrev); } else { /* Measure variable area only */ pfDraw(pData); GUI_MEASDEV_GetRect(hMem, &pAutoDev->rView); rTemp = pAutoDev->rView; GUI_MergeRect(&pAutoDev->rView, &pAutoDev->rView, &pAutoDev->rPrev); pAutoDev->rPrev = rTemp; } GUI_MEASDEV_Delete(hMem); /* Do the actual drawing */ pAutoDevInfo->DrawFixed = 1; if (GUI_MEMDEV_Draw(&pAutoDev->rView, pfDraw, pData, 0, GUI_MEMDEV_NOTRANS)) { return 1; } pAutoDevInfo->DrawFixed = 0; pAutoDev->FirstCall = 0; return 0;}#elsevoid GUIDEV_Auto(void) {} /* avoid empty object files */#endif /* GUI_SUPPORT_MEMDEV */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -