/* ********************************************************************************************************* * uC/GUI * Universal graphic software for embedded applications * * (c) Copyright 2002, Micrium Inc., Weston, FL * (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH * * µC/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 : LCD_DrawVLine.c Purpose : Implementation of optional routines ---------------------------END-OF-HEADER------------------------------ */ #include "LCD_Private.h" #include "GUI_Private.h" /********************************************************************* * * Defines * ********************************************************************** */ #define RETURN_IF_Y_OUT() \ if (y < GUI_Context.ClipRect.y0) return; \ if (y > GUI_Context.ClipRect.y1) return; #define RETURN_IF_X_OUT() \ if (x < GUI_Context.ClipRect.x0) return; \ if (x > GUI_Context.ClipRect.x1) return; #define CLIP_X() \ if (x0 < GUI_Context.ClipRect.x0) { x0 = GUI_Context.ClipRect.x0; } \ if (x1 > GUI_Context.ClipRect.x1) { x1 = GUI_Context.ClipRect.x1; } #define CLIP_Y() \ if (y0 < GUI_Context.ClipRect.y0) { y0 = GUI_Context.ClipRect.y0; } \ if (y1 > GUI_Context.ClipRect.y1) { y1 = GUI_Context.ClipRect.y1; } /********************************************************************* * * Public code * ********************************************************************** */ /********************************************************************* * * LCD_DrawVLine */ void LCD_DrawVLine(int x, int y0, int y1) { /* Perform clipping and check if there is something to do */ RETURN_IF_X_OUT(); CLIP_Y(); if (y1 < y0) { return; } /* Call driver to draw */ LCDDEV_L0_DrawVLine(x, y0, y1); } /*************************** End of file ****************************/