gui__intersectrects.c

来自「uCGUI」· C语言 代码 · 共 44 行

C
44
字号
/*************************************************************************************************************
                                                   uC/GUI
                                               嵌入式通用图形软件
File        : GUI_IntersectRects.c
Purpose     : Implementation of GUI_IntersectRects
************************************************************************************************************/
#include "GUI_Protected.h"

/*************************************************************************************************************
             Macros
*************************************************************************************************************/
#define MIN(v0,v1) ((v0>v1) ? v1 : v0)
#define MAX(v0,v1) ((v0>v1) ? v0 : v1)

/*************************************************************************************************************
             GUI__IntersectRects
Purpose:
  Calc intersection of rectangles
Return value:
  1 if they do intersect,
  0 if there is no intersection
Add. info:
  Rectangles are passed as pointers. These pointers need to be valid;
  a NULL pointer may not be passed. There is no check for NULL pointers
  implemented in order to avoid avoid performance penalty.
*************************************************************************************************************/
int GUI__IntersectRects(GUI_RECT* pDest, const GUI_RECT* pr0, const GUI_RECT* pr1) 
{
  pDest->x0 = MAX (pr0->x0, pr1->x0);
  pDest->y0 = MAX (pr0->y0, pr1->y0);
  pDest->x1 = MIN (pr0->x1, pr1->x1);
  pDest->y1 = MIN (pr0->y1, pr1->y1);
  if (pDest->x1 < pDest->x0)
    return 0;
  if (pDest->y1 < pDest->y0)
    return 0;
  return 1;
}





⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?