blend.h revision af69d88d
17117f1b4Smrg/**
27117f1b4Smrg * \file blend.h
37117f1b4Smrg * Blending functions 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
327117f1b4Smrg#ifndef BLEND_H
337117f1b4Smrg#define BLEND_H
347117f1b4Smrg
357117f1b4Smrg
363464ebd5Sriastradh#include "glheader.h"
37af69d88dSmrg#include "formats.h"
383464ebd5Sriastradh
393464ebd5Sriastradhstruct gl_context;
407117f1b4Smrg
417117f1b4Smrg
427117f1b4Smrgextern void GLAPIENTRY
437117f1b4Smrg_mesa_BlendFunc( GLenum sfactor, GLenum dfactor );
447117f1b4Smrg
457117f1b4Smrg
467117f1b4Smrgextern void GLAPIENTRY
47af69d88dSmrg_mesa_BlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB,
487117f1b4Smrg                            GLenum sfactorA, GLenum dfactorA );
497117f1b4Smrg
507117f1b4Smrg
513464ebd5Sriastradhextern void GLAPIENTRY
52af69d88dSmrg_mesa_BlendFunciARB(GLuint buf, GLenum sfactor, GLenum dfactor);
533464ebd5Sriastradh
543464ebd5Sriastradh
553464ebd5Sriastradhextern void GLAPIENTRY
56af69d88dSmrg_mesa_BlendFuncSeparateiARB(GLuint buf, GLenum sfactorRGB, GLenum dfactorRGB,
573464ebd5Sriastradh                         GLenum sfactorA, GLenum dfactorA);
583464ebd5Sriastradh
593464ebd5Sriastradh
607117f1b4Smrgextern void GLAPIENTRY
617117f1b4Smrg_mesa_BlendEquation( GLenum mode );
627117f1b4Smrg
637117f1b4Smrg
643464ebd5Sriastradhextern void GLAPIENTRY
65af69d88dSmrg_mesa_BlendEquationiARB(GLuint buf, GLenum mode);
663464ebd5Sriastradh
673464ebd5Sriastradh
687117f1b4Smrgextern void GLAPIENTRY
69af69d88dSmrg_mesa_BlendEquationSeparate( GLenum modeRGB, GLenum modeA );
707117f1b4Smrg
717117f1b4Smrg
723464ebd5Sriastradhextern void GLAPIENTRY
73af69d88dSmrg_mesa_BlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeA);
743464ebd5Sriastradh
753464ebd5Sriastradh
767117f1b4Smrgextern void GLAPIENTRY
777117f1b4Smrg_mesa_BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
787117f1b4Smrg
797117f1b4Smrg
807117f1b4Smrgextern void GLAPIENTRY
817117f1b4Smrg_mesa_AlphaFunc( GLenum func, GLclampf ref );
827117f1b4Smrg
837117f1b4Smrg
847117f1b4Smrgextern void GLAPIENTRY
857117f1b4Smrg_mesa_LogicOp( GLenum opcode );
867117f1b4Smrg
877117f1b4Smrg
887117f1b4Smrgextern void GLAPIENTRY
897117f1b4Smrg_mesa_IndexMask( GLuint mask );
907117f1b4Smrg
917117f1b4Smrgextern void GLAPIENTRY
927117f1b4Smrg_mesa_ColorMask( GLboolean red, GLboolean green,
937117f1b4Smrg                 GLboolean blue, GLboolean alpha );
947117f1b4Smrg
95cdc920a0Smrgextern void GLAPIENTRY
96af69d88dSmrg_mesa_ColorMaski( GLuint buf, GLboolean red, GLboolean green,
97cdc920a0Smrg                        GLboolean blue, GLboolean alpha );
98cdc920a0Smrg
997117f1b4Smrg
1007117f1b4Smrgextern void GLAPIENTRY
101af69d88dSmrg_mesa_ClampColor(GLenum target, GLenum clamp);
1027117f1b4Smrg
103af69d88dSmrgextern GLboolean
104af69d88dSmrg_mesa_get_clamp_fragment_color(const struct gl_context *ctx);
105af69d88dSmrg
106af69d88dSmrgextern GLboolean
107af69d88dSmrg_mesa_get_clamp_vertex_color(const struct gl_context *ctx);
108af69d88dSmrg
109af69d88dSmrgextern GLboolean
110af69d88dSmrg_mesa_get_clamp_read_color(const struct gl_context *ctx);
111af69d88dSmrg
112af69d88dSmrgextern void
113af69d88dSmrg_mesa_update_clamp_fragment_color(struct gl_context *ctx);
114af69d88dSmrg
115af69d88dSmrgextern void
116af69d88dSmrg_mesa_update_clamp_vertex_color(struct gl_context *ctx);
117af69d88dSmrg
118af69d88dSmrgextern mesa_format
119af69d88dSmrg_mesa_get_render_format(const struct gl_context *ctx, mesa_format format);
1207117f1b4Smrg
1217117f1b4Smrgextern void
1223464ebd5Sriastradh_mesa_init_color( struct gl_context * ctx );
1237117f1b4Smrg
1247117f1b4Smrg#endif
125