1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright 2011 Joakim Sindholt <[email protected]> 3*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 4*61046927SAndroid Build Coastguard Worker */ 5*61046927SAndroid Build Coastguard Worker 6*61046927SAndroid Build Coastguard Worker #ifndef _NINE_STATEBLOCK9_H_ 7*61046927SAndroid Build Coastguard Worker #define _NINE_STATEBLOCK9_H_ 8*61046927SAndroid Build Coastguard Worker 9*61046927SAndroid Build Coastguard Worker #include "iunknown.h" 10*61046927SAndroid Build Coastguard Worker 11*61046927SAndroid Build Coastguard Worker #include "nine_state.h" 12*61046927SAndroid Build Coastguard Worker 13*61046927SAndroid Build Coastguard Worker enum nine_stateblock_type 14*61046927SAndroid Build Coastguard Worker { 15*61046927SAndroid Build Coastguard Worker NINESBT_ALL, 16*61046927SAndroid Build Coastguard Worker NINESBT_VERTEXSTATE, 17*61046927SAndroid Build Coastguard Worker NINESBT_PIXELSTATE, 18*61046927SAndroid Build Coastguard Worker NINESBT_CUSTOM 19*61046927SAndroid Build Coastguard Worker }; 20*61046927SAndroid Build Coastguard Worker 21*61046927SAndroid Build Coastguard Worker struct NineStateBlock9 22*61046927SAndroid Build Coastguard Worker { 23*61046927SAndroid Build Coastguard Worker struct NineUnknown base; 24*61046927SAndroid Build Coastguard Worker 25*61046927SAndroid Build Coastguard Worker struct nine_state state; 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Worker enum nine_stateblock_type type; 28*61046927SAndroid Build Coastguard Worker }; 29*61046927SAndroid Build Coastguard Worker static inline struct NineStateBlock9 * NineStateBlock9(void * data)30*61046927SAndroid Build Coastguard WorkerNineStateBlock9( void *data ) 31*61046927SAndroid Build Coastguard Worker { 32*61046927SAndroid Build Coastguard Worker return (struct NineStateBlock9 *)data; 33*61046927SAndroid Build Coastguard Worker } 34*61046927SAndroid Build Coastguard Worker 35*61046927SAndroid Build Coastguard Worker HRESULT 36*61046927SAndroid Build Coastguard Worker NineStateBlock9_new( struct NineDevice9 *, 37*61046927SAndroid Build Coastguard Worker struct NineStateBlock9 **ppOut, 38*61046927SAndroid Build Coastguard Worker enum nine_stateblock_type); 39*61046927SAndroid Build Coastguard Worker 40*61046927SAndroid Build Coastguard Worker HRESULT 41*61046927SAndroid Build Coastguard Worker NineStateBlock9_ctor( struct NineStateBlock9 *, 42*61046927SAndroid Build Coastguard Worker struct NineUnknownParams *pParams, 43*61046927SAndroid Build Coastguard Worker enum nine_stateblock_type type ); 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard Worker void 46*61046927SAndroid Build Coastguard Worker NineStateBlock9_dtor( struct NineStateBlock9 * ); 47*61046927SAndroid Build Coastguard Worker 48*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI 49*61046927SAndroid Build Coastguard Worker NineStateBlock9_Capture( struct NineStateBlock9 *This ); 50*61046927SAndroid Build Coastguard Worker 51*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI 52*61046927SAndroid Build Coastguard Worker NineStateBlock9_Apply( struct NineStateBlock9 *This ); 53*61046927SAndroid Build Coastguard Worker 54*61046927SAndroid Build Coastguard Worker #endif /* _NINE_STATEBLOCK9_H_ */ 55