sl@0: /*
sl@0: * Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
sl@0: * All rights reserved.
sl@0: * This component and the accompanying materials are made available
sl@0: * under the terms of the License "Eclipse Public License v1.0"
sl@0: * which accompanies this distribution, and is available
sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: *
sl@0: * Initial Contributors:
sl@0: * Nokia Corporation - initial contribution.
sl@0: *
sl@0: * Contributors:
sl@0: *
sl@0: * Description: CompositingMode interface
sl@0: *
sl@0: */
sl@0: 
sl@0: #ifndef __M3G_COMPOSITINGMODE_H__
sl@0: #define __M3G_COMPOSITINGMODE_H__
sl@0: 
sl@0: /*!
sl@0:  * \internal
sl@0:  * \file
sl@0:  * \brief CompositingMode interface
sl@0:  */
sl@0: 
sl@0: #include "m3g_object.h"
sl@0: #include "m3g_gl.h"
sl@0: #include "m3g_rendercontext.h"
sl@0: 
sl@0: /*!
sl@0:  * \internal
sl@0:  * \brief CompositingMode object
sl@0:  */
sl@0: struct M3GCompositingModeImpl
sl@0: {
sl@0:     Object object;
sl@0: 
sl@0:     M3Gint blendingMode;
sl@0:     GLfloat alphaThreshold;
sl@0:     GLboolean depthTest;
sl@0:     GLboolean depthWrite;
sl@0:     GLboolean colorWrite;
sl@0:     GLboolean alphaWrite;
sl@0:     GLfloat factor;
sl@0:     GLfloat units;
sl@0: };
sl@0: 
sl@0: /*----------------------------------------------------------------------
sl@0:  * Internal functions
sl@0:  *--------------------------------------------------------------------*/
sl@0: 
sl@0: static void m3gApplyCompositingMode(CompositingMode *compositingMode, RenderContext *ctx);
sl@0: static void m3gApplyDefaultCompositingMode(M3Gbool alphaWrite);
sl@0: 
sl@0: #endif /*__M3G_COMPOSITINGMODE_H__*/