[PATCH 2/3] include: Use regular header for d3dx10core.idl

Matteo Bruni matteo.mystral at gmail.com
Thu Aug 5 16:22:03 CDT 2021


On Thu, Aug 5, 2021 at 1:04 PM Nikolay Sivov <nsivov at codeweavers.com> wrote:
>
> Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
> ---
>  include/Makefile.in    |   2 +-
>  include/d3dx10core.h   | 116 +++++++++++++++++++++++++++++++++++++++++
>  include/d3dx10core.idl |  75 --------------------------
>  3 files changed, 117 insertions(+), 76 deletions(-)
>  create mode 100644 include/d3dx10core.h
>  delete mode 100644 include/d3dx10core.idl
>
> diff --git a/include/d3dx10core.h b/include/d3dx10core.h
> new file mode 100644
> index 00000000000..053e3a9c072
> --- /dev/null
> +++ b/include/d3dx10core.h
> @@ -0,0 +1,116 @@
> +/*
> + * Copyright 2015 Alistair Leslie-Hughes
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
> + */
> +
> +#include "d3dx10.h"
> +
> +DEFINE_GUID(IID_ID3DX10ThreadPump, 0xc93fecfa, 0x6967, 0x478a, 0xab, 0xbc, 0x40, 0x2d, 0x90, 0x62, 0x1f, 0xcb);
> +
> +#define INTERFACE ID3DX10DataLoader
> +DECLARE_INTERFACE(ID3DX10DataLoader)
> +{
> +    STDMETHOD(Load)(THIS) PURE;
> +    STDMETHOD(Decompress)(THIS_ void **data, SIZE_T *bytes) PURE;
> +    STDMETHOD(Destroy)(THIS) PURE;
> +};
> +#undef INTERFACE
> +
> +#if !defined(__cplusplus) || defined(CINTERFACE)
> +/*** ID3DX10DataLoader methods ***/
> +#define ID3DX10DataLoader_Load(p)           (p)->lpVtbl->Load(p)
> +#define ID3DX10DataLoader_Decompress(p,a,b) (p)->lpVtbl->Decompress(p,a,b)
> +#define ID3DX10DataLoader_Destroy(p)        (p)->lpVtbl->Destroy(p)
> +#else
> +/*** ID3DX10DataLoader methods ***/
> +#define ID3DX10DataLoader_Load(p)           (p)->Load()
> +#define ID3DX10DataLoader_Decompress(p,a,b) (p)->Decompress(a,b)
> +#define ID3DX10DataLoader_Destroy(p)        (p)->Destroy()
> +#endif

Technically, in good-old d3dx fashion, it looks like the C macros
aren't present in the original header file. I don't know that it's a
problem if we do define them, but it seemed worth mentioning.



More information about the wine-devel mailing list