home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / src / rect.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-02-04  |  1.7 KB  |  65 lines

  1. /* $Id: rect.c,v 3.0 1998/01/31 21:02:29 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  3.0
  6.  * Copyright (C) 1995-1998  Brian Paul
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25.  * $Log: rect.c,v $
  26.  * Revision 3.0  1998/01/31 21:02:29  brianp
  27.  * initial rev
  28.  *
  29.  */
  30.  
  31.  
  32. #ifdef PC_HEADER
  33. #include "all.h"
  34. #else
  35. #include "context.h"
  36. #include "macros.h"
  37. #include "rect.h"
  38. #include "vbfill.h"
  39. #endif
  40.  
  41.  
  42.  
  43. /*
  44.  * Execute a glRect*() function.
  45.  */
  46. void gl_Rectf( GLcontext *ctx, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
  47. {
  48.    /*
  49.     * TODO: we could examine a bunch of state variables and ultimately
  50.     * call the Driver->RectFunc() function to draw a screen-aligned
  51.     * filled rectangle.  Someday...
  52.     */
  53.  
  54.    if (INSIDE_BEGIN_END(ctx)) {
  55.       gl_error( ctx, GL_INVALID_OPERATION, "glRect" );
  56.       return;
  57.    }
  58.    gl_Begin( ctx, GL_QUADS );
  59.    (*ctx->Exec.Vertex2f)( ctx, x1, y1 );
  60.    (*ctx->Exec.Vertex2f)( ctx, x2, y1 );
  61.    (*ctx->Exec.Vertex2f)( ctx, x2, y2 );
  62.    (*ctx->Exec.Vertex2f)( ctx, x1, y2 );
  63.    gl_End( ctx );
  64. }
  65.