LCD_DrawVLine.c
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:2k
源码类别:

uCOS

开发平台:

C/C++

  1. /*********************************************************************
  2. *                SEGGER MICROCONTROLLER SYSTEME GmbH                 *
  3. *        Solutions for real time microcontroller applications        *
  4. **********************************************************************
  5. *                                                                    *
  6. *        (c) 2002         SEGGER Microcontroller Systeme GmbH        *
  7. *                                                                    *
  8. *        Internet: www.segger.com    Support:  support@segger.com    *
  9. *                                                                    *
  10. **********************************************************************
  11. **** emWin/GSC Grafical user interface for embedded applications ****
  12. emWin is protected by international copyright laws. Knowledge of the
  13. source code may not be used to write a similar product. This file may
  14. only be used in accordance with a license and should not be re-
  15. distributed in any way. We appreciate your understanding and fairness.
  16. ----------------------------------------------------------------------
  17. File        : LCD_DrawVLine.c
  18. Purpose     : Implementation of optional routines
  19. ---------------------------END-OF-HEADER------------------------------
  20. */
  21. #include "LCD_Private.h"
  22. #include "GUI_Private.h"
  23. /*
  24.         *********************************************************
  25.         *                                                       *
  26.         *       Macros for internal use                         *
  27.         *                                                       *
  28.         *********************************************************
  29. */
  30. #define RETURN_IF_Y_OUT() 
  31.   if (y < GUI_Context.ClipRect.y0) return;             
  32.   if (y > GUI_Context.ClipRect.y1) return;
  33. #define RETURN_IF_X_OUT() 
  34.   if (x < GUI_Context.ClipRect.x0) return;             
  35.   if (x > GUI_Context.ClipRect.x1) return;
  36. #define CLIP_X() 
  37.   if (x0 < GUI_Context.ClipRect.x0) { x0 = GUI_Context.ClipRect.x0; } 
  38.   if (x1 > GUI_Context.ClipRect.x1) { x1 = GUI_Context.ClipRect.x1; }
  39. #define CLIP_Y() 
  40.   if (y0 < GUI_Context.ClipRect.y0) { y0 = GUI_Context.ClipRect.y0; } 
  41.   if (y1 > GUI_Context.ClipRect.y1) { y1 = GUI_Context.ClipRect.y1; }
  42. void LCD_DrawVLine  (int x, int y0,  int y1) {
  43.   /* Perform clipping and check if there is something to do */
  44.   RETURN_IF_X_OUT();
  45.   CLIP_Y();
  46.   if (y1<y0)
  47.     return;
  48.   /* Call driver to draw */
  49.   LCDDEV_L0_DrawVLine(x, y0, y1);
  50. }