17117f1b4Smrg/**
27117f1b4Smrg * \file polygon.h
37117f1b4Smrg * Polygon operations.
47117f1b4Smrg */
57117f1b4Smrg
67117f1b4Smrg/*
77117f1b4Smrg * Mesa 3-D graphics library
87117f1b4Smrg *
97117f1b4Smrg * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
107117f1b4Smrg *
117117f1b4Smrg * Permission is hereby granted, free of charge, to any person obtaining a
127117f1b4Smrg * copy of this software and associated documentation files (the "Software"),
137117f1b4Smrg * to deal in the Software without restriction, including without limitation
147117f1b4Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
157117f1b4Smrg * and/or sell copies of the Software, and to permit persons to whom the
167117f1b4Smrg * Software is furnished to do so, subject to the following conditions:
177117f1b4Smrg *
187117f1b4Smrg * The above copyright notice and this permission notice shall be included
197117f1b4Smrg * in all copies or substantial portions of the Software.
207117f1b4Smrg *
217117f1b4Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
227117f1b4Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
237117f1b4Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
24af69d88dSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25af69d88dSmrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26af69d88dSmrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27af69d88dSmrg * OTHER DEALINGS IN THE SOFTWARE.
287117f1b4Smrg */
297117f1b4Smrg
307117f1b4Smrg
317117f1b4Smrg#ifndef POLYGON_H
327117f1b4Smrg#define POLYGON_H
337117f1b4Smrg
347117f1b4Smrg
353464ebd5Sriastradh#include "glheader.h"
367117f1b4Smrg
373464ebd5Sriastradhstruct gl_context;
383464ebd5Sriastradh
393464ebd5Sriastradhextern void GLAPIENTRY
403464ebd5Sriastradh_mesa_GetnPolygonStippleARB( GLsizei bufSize, GLubyte *dest );
417117f1b4Smrg
4201e04c3fSmrgvoid GLAPIENTRY
4301e04c3fSmrg_mesa_CullFace_no_error(GLenum mode);
447117f1b4Smrg
457117f1b4Smrgextern void GLAPIENTRY
4601e04c3fSmrg_mesa_CullFace(GLenum mode);
4701e04c3fSmrg
4801e04c3fSmrgvoid GLAPIENTRY
4901e04c3fSmrg_mesa_FrontFace_no_error(GLenum mode);
507117f1b4Smrg
517117f1b4Smrgextern void GLAPIENTRY
5201e04c3fSmrg_mesa_FrontFace(GLenum mode);
5301e04c3fSmrg
5401e04c3fSmrgvoid GLAPIENTRY
5501e04c3fSmrg_mesa_PolygonMode_no_error(GLenum face, GLenum mode);
567117f1b4Smrg
577117f1b4Smrgextern void GLAPIENTRY
587117f1b4Smrg_mesa_PolygonMode( GLenum face, GLenum mode );
597117f1b4Smrg
607117f1b4Smrgextern void GLAPIENTRY
617117f1b4Smrg_mesa_PolygonOffset( GLfloat factor, GLfloat units );
627117f1b4Smrg
637117f1b4Smrgextern void GLAPIENTRY
6401e04c3fSmrg_mesa_PolygonOffsetClampEXT( GLfloat factor, GLfloat units, GLfloat clamp );
657117f1b4Smrg
667117f1b4Smrgextern void GLAPIENTRY
677117f1b4Smrg_mesa_PolygonStipple( const GLubyte *mask );
687117f1b4Smrg
697117f1b4Smrgextern void GLAPIENTRY
707117f1b4Smrg_mesa_GetPolygonStipple( GLubyte *mask );
717117f1b4Smrg
7201e04c3fSmrgextern void
7301e04c3fSmrg_mesa_polygon_offset_clamp(struct gl_context *ctx,
7401e04c3fSmrg                           GLfloat factor, GLfloat units, GLfloat clamp);
7501e04c3fSmrgextern void
763464ebd5Sriastradh_mesa_init_polygon( struct gl_context * ctx );
777117f1b4Smrg
787117f1b4Smrg#endif
79