1db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca/************************************************************************** 2db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * 3db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. 4db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * All Rights Reserved. 5db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * 6db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * Permission is hereby granted, free of charge, to any person obtaining a 7db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * copy of this software and associated documentation files (the 8db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * "Software"), to deal in the Software without restriction, including 9db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * without limitation the rights to use, copy, modify, merge, publish, 10db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * distribute, sub license, and/or sell copies of the Software, and to 11db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * permit persons to whom the Software is furnished to do so, subject to 12db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * the following conditions: 13db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * 14db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * The above copyright notice and this permission notice (including the 15db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * next paragraph) shall be included in all copies or substantial portions 16db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * of the Software. 17db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * 18db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 22db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * 26db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca **************************************************************************/ 27db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca 28cbd368e91be121f1381ef132b64839f5638009f7Keith Whitwell#ifndef STW_CONTEXT_H 29cbd368e91be121f1381ef132b64839f5638009f7Keith Whitwell#define STW_CONTEXT_H 30db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca 31db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca#include <windows.h> 32db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca 33192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wustruct stw_framebuffer; 34192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wustruct st_context_iface; 35db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca 36cbd368e91be121f1381ef132b64839f5638009f7Keith Whitwellstruct stw_context 37db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca{ 38192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wu struct st_context_iface *st; 3931f1571d1f6e325c16833afbb6e15b61561e5f1fJosé Fonseca DHGLRC dhglrc; 40fe69b6bdc7bbde2cefec856ff338788d7be20f4eJosé Fonseca int iPixelFormat; 41db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca HDC hdc; 42192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wu 43192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wu struct stw_framebuffer *current_framebuffer; 44db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca}; 45db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca 460c6a2c78fdd8b4ae620a9f449cab65c4be21a9a1Morgan ArmandDHGLRC stw_create_context_attribs( HDC hdc, INT iLayerPlane, DHGLRC hShareContext, 470c6a2c78fdd8b4ae620a9f449cab65c4be21a9a1Morgan Armand int majorVersion, int minorVersion, int contextFlags, int profileMask ); 480c6a2c78fdd8b4ae620a9f449cab65c4be21a9a1Morgan Armand 4931f1571d1f6e325c16833afbb6e15b61561e5f1fJosé FonsecaDHGLRC stw_get_current_context( void ); 5031f1571d1f6e325c16833afbb6e15b61561e5f1fJosé Fonseca 5131f1571d1f6e325c16833afbb6e15b61561e5f1fJosé FonsecaHDC stw_get_current_dc( void ); 5231f1571d1f6e325c16833afbb6e15b61561e5f1fJosé Fonseca 5331f1571d1f6e325c16833afbb6e15b61561e5f1fJosé FonsecaBOOL stw_make_current( HDC hdc, DHGLRC dhglrc ); 5431f1571d1f6e325c16833afbb6e15b61561e5f1fJosé Fonseca 55192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wuvoid stw_flush_current_locked( struct stw_framebuffer *fb ); 56192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wuvoid stw_notify_current_locked( struct stw_framebuffer *fb ); 57192f06adca5e79b4824d92dc41186592ed57f71eChia-I Wu 58cbd368e91be121f1381ef132b64839f5638009f7Keith Whitwell#endif /* STW_CONTEXT_H */ 59