コード例 #1
0
/*
************************************************
*
*             GetYSize
*
*************************************************
*/
int GUI_MEMDEV_GetYSize(GUI_MEMDEV_Handle hMem) {
  int r;
  if (!hMem) {
    if ((hMem = GUI_Context.hDevData) ==0) {
      return 0;
    }
  }
  { GUI_MEMDEV* pDevData = (GUI_MEMDEV*) GUI_ALLOC_LOCK(hMem);  /* Convert to pointer */
    r = pDevData->YSize;
  } GUI_ALLOC_UNLOCK(hMem);
  return r;
}
コード例 #2
0
int GUI_MEMDEV_CompareWithLCD(GUI_MEMDEV_Handle hMem, int*px, int*py, int *pExp, int*pAct) {
  /* Make sure memory handle is valid */
  if (!hMem) {
    hMem = GUI_Context.hDevData;
  }
  if (!hMem) {
    return 1;
  }
  {
    GUI_MEMDEV* pDevData = (GUI_MEMDEV*) GUI_ALLOC_LOCK(hMem);  /* Convert to pointer */
    int y     = pDevData->y0;
    int x0    = pDevData->x0;
    int XMax  = pDevData->XSize+x0;
    int YMax  = pDevData->YSize+y;
    int Max;
    int MagX = LCD_GetXMag();
    int MagY = LCD_GetYMag();
    /* Calculate limits */
    if (y < 0)
			y=0;
    if (x0 < 0)
			x0=0;
    Max = LCD_GET_YSIZE();
		if (YMax > Max)
			YMax = Max;
    Max = LCD_GET_XSIZE();
		if (XMax > Max)
			XMax = Max;
    for (; y < YMax; y++) {
      int x=x0;
      LCD_PIXELINDEX* pData = GUI_MEMDEV_XY2PTR(x,y);
      for (x=x0; x<XMax; x++) {
        int Exp = *pData++;
        int Act = LCD_L0_GetPixelIndex(x * MagX, y * MagY);
        if (Act != Exp) {
          *px    = x;
          *py    = y;
          *pAct  = Act;
          *pExp  = Exp;
          return 1;
        }
      }
    }
  }
  GUI_ALLOC_UNLOCK(hMem);
  return 0;
}