gui__intersectrect.c

来自「ucgui的源代码」· C语言 代码 · 共 58 行

C
58
字号
/*********************************************************************
*                SEGGER MICROCONTROLLER SYSTEME GmbH                 *
*        Solutions for real time microcontroller applications        *
**********************************************************************
*                                                                    *
*        (c) 2002         SEGGER Microcontroller Systeme GmbH        *
*                                                                    *
*        Internet: www.segger.com    Support:  support@segger.com    *
*                                                                    *
**********************************************************************

**** emWin/GSC Grafical user interface for embedded applications ****
emWin 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 re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File        : GUI_IntersectRect.c
Purpose     : Implementation of GUI_IntersectRect
---------------------------END-OF-HEADER------------------------------
*/


#include "GUI_Protected.h"

/*********************************************************************
*
*             GUI__IntersectRects
*
**********************************************************************
Purpose:
  Calc intersection of rectangles
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.
  There is a similar function available, GUI__IntersectRects(),
  which takes 3 parameters and
  has a return value. Note that this one should be preferred because
  it is considerably faster and the call requires one parameter less.
*/

void GUI__IntersectRect(GUI_RECT* pDest, const GUI_RECT* pr0) {
  if (pDest->x0 < pr0->x0)
    pDest->x0 = pr0->x0;
  if (pDest->y0 < pr0->y0)
    pDest->y0 = pr0->y0;
  if (pDest->x1 > pr0->x1)
    pDest->x1 = pr0->x1;
  if (pDest->y1 > pr0->y1)
    pDest->y1 = pr0->y1;
}





⌨️ 快捷键说明

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