/*
 * $Id: selection.h 160 2007-11-03 14:40:28Z hderuiter $
 *
 * $Date: 2008-02-25 09:40:28 -0359ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ $
 * $Revision: 000 $
 *
 * (C) 2007 by Hans de Ruiter
 * All rights reserved
 *
 * This file is part of the MiniGL library project
 * See the file Licence.txt for more details
 *
 */

#ifndef __SELECTION_H__
#define __SELECTION_H__

#define NAMESTACK_EMPTY ((GLuint)~0)

// These are selection alternatives to the draw functions
void s_DrawPoints        (struct GLcontext_t *context);
void s_DrawLines         (struct GLcontext_t *context);
void s_DrawLineStrip     (struct GLcontext_t *context);
void s_DrawTriangles     (struct GLcontext_t *context);
void s_DrawTriangleFan   (struct GLcontext_t *context);
void s_DrawTriangleStrip (struct GLcontext_t *context);
void s_DrawQuads         (struct GLcontext_t *context);
void s_DrawPolygon       (struct GLcontext_t *context);
void s_DrawFlatFan       (struct GLcontext_t *context);
void s_DrawQuadStrip     (struct GLcontext_t *context);

// Warning: This function currently expects GLDrawElementsTriangles() to have performed the initial transformations
void s_GLDrawElementsTriangles(struct GLcontext_t *context, GLsizei count, GLenum type, const GLvoid *indices);

#endif

