diff --git a/include/d3d11.idl b/include/d3d11.idl index 5c47d832b91..be5b3c0473a 100644 --- a/include/d3d11.idl +++ b/include/d3d11.idl @@ -1232,6 +1232,57 @@ typedef struct D3D11_DEPTH_STENCIL_DESC D3D11_DEPTH_STENCILOP_DESC BackFace; } D3D11_DEPTH_STENCIL_DESC; +cpp_quote("#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )") +cpp_quote("struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC {") +cpp_quote(" CD3D11_DEPTH_STENCIL_DESC() {}") +cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(const D3D11_DEPTH_STENCIL_DESC &other) : D3D11_DEPTH_STENCIL_DESC(other) {}") +cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(CD3D11_DEFAULT) {") +cpp_quote(" const D3D11_DEPTH_STENCILOP_DESC default_op =") +cpp_quote(" {D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS};") +cpp_quote(" DepthEnable = TRUE;") +cpp_quote(" DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;") +cpp_quote(" DepthFunc = D3D11_COMPARISON_LESS;") +cpp_quote(" StencilEnable = FALSE;") +cpp_quote(" StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;") +cpp_quote(" StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;") +cpp_quote(" FrontFace = default_op;") +cpp_quote(" BackFace = default_op;") +cpp_quote(" }") +cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(") +cpp_quote(" BOOL depth_enable,") +cpp_quote(" D3D11_DEPTH_WRITE_MASK depth_write_mask,") +cpp_quote(" D3D11_COMPARISON_FUNC depth_func,") +cpp_quote(" BOOL stencil_enable,") +cpp_quote(" UINT8 stencil_read_mask,") +cpp_quote(" UINT8 stencil_write_mask,") +cpp_quote(" D3D11_STENCIL_OP front_stencil_fail_op,") +cpp_quote(" D3D11_STENCIL_OP front_stencil_depth_fail_op,") +cpp_quote(" D3D11_STENCIL_OP front_stencil_pass_op,") +cpp_quote(" D3D11_COMPARISON_FUNC front_stencil_func,") +cpp_quote(" D3D11_STENCIL_OP back_stencil_fail_op,") +cpp_quote(" D3D11_STENCIL_OP back_stencil_depth_fail_op,") +cpp_quote(" D3D11_STENCIL_OP back_stencil_pass_op,") +cpp_quote(" D3D11_COMPARISON_FUNC back_stencil_func) {") +cpp_quote(" DepthEnable = depth_enable;") +cpp_quote(" DepthWriteMask = depth_write_mask;") +cpp_quote(" DepthFunc = depth_func;") +cpp_quote(" StencilEnable = stencil_enable;") +cpp_quote(" StencilReadMask = stencil_read_mask;") +cpp_quote(" StencilWriteMask = stencil_write_mask;") +cpp_quote(" FrontFace.StencilFailOp = front_stencil_fail_op;") +cpp_quote(" FrontFace.StencilDepthFailOp = front_stencil_depth_fail_op;") +cpp_quote(" FrontFace.StencilPassOp = front_stencil_pass_op;") +cpp_quote(" FrontFace.StencilFunc = front_stencil_func;") +cpp_quote(" BackFace.StencilFailOp = back_stencil_fail_op;") +cpp_quote(" BackFace.StencilDepthFailOp = back_stencil_depth_fail_op;") +cpp_quote(" BackFace.StencilPassOp = back_stencil_pass_op;") +cpp_quote(" BackFace.StencilFunc = back_stencil_func;") +cpp_quote(" }") +cpp_quote(" ~CD3D11_DEPTH_STENCIL_DESC() {}") +cpp_quote(" operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }") +cpp_quote("};") +cpp_quote("#endif") + typedef struct D3D11_RENDER_TARGET_VIEW_DESC { DXGI_FORMAT Format;