📄 dxfile8.pas.svn-base
字号:
(*==========================================================================; * * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved. * * File: dxfile.h * Content: Interfaces to access Rendermorthics eXtensible file format * * Direct3DX 8.0 Delphi adaptation by Alexey Barkovoy * E-Mail: clootie@reactor.ru * * completely revised by Tim Baumgarten * * Modified: 05-Nov-2001 * * Partly based upon : * DirectX 7.0 Delphi adaptation by * Erik Unger, e-Mail: DelphiDirectX@next-reality.com * * Lastest version can be downloaded from: * http://www.delphi-jedi.org/DelphiGraphics/ * ***************************************************************************)(*==========================================================================; * History : * * 05-Nov-2001 (Tim Baumgarten) : Added * DirectX File Template GUIDs (TID_DXFILEXXX) and Descriptions (DXFILE_XTEMPLATES). * 05-Nov-2001 (Tim Baumgarten) : Added DXFileErrorString. * ***************************************************************************){$MINENUMSIZE 4}{$ALIGN ON}unit DXFile8;{$IFDEF VER150} {$WARN UNSAFE_CODE OFF} {$WARN UNSAFE_TYPE OFF} {$WARN UNSAFE_CAST OFF}{$ENDIF}interfaceuses Windows;(*************************************************************************** * * Copyright (C) 1998-1999 Microsoft Corporation. All Rights Reserved. * * File: dxfile.h * * Content: DirectX File public header file * ***************************************************************************)function DXFileErrorString(DXErrorCode : HResult) : String; type TDXFileFormat = Cardinal;const DXFILEFORMAT_BINARY = 0; DXFILEFORMAT_TEXT = 1; DXFILEFORMAT_COMPRESSED = 2;type TDXFileLoadOptions = Cardinal;const DXFILELOAD_FROMFILE = $00; DXFILELOAD_FROMRESOURCE = $01; DXFILELOAD_FROMMEMORY = $02; DXFILELOAD_FROMSTREAM = $04; DXFILELOAD_FROMURL = $08;type PDXFileLoadResource = ^TDXFileLoadResource; TDXFileLoadResource = packed record hModule : HModule; lpName : PChar; lpType : PChar; end; PDXFileLoadMemory = ^TDXFileLoadMemory; TDXFileLoadMemory = packed record lpMemory : Pointer; dSize : Cardinal; end;(* * DirectX File object types. *)type IDirectXFile = interface; IDirectXFileEnumObject = interface; IDirectXFileSaveObject = interface; IDirectXFileObject = interface; IDirectXFileData = interface; IDirectXFileDataReference = interface; IDirectXFileBinary = interface;(* * DirectX File interfaces. *) IDirectXFile = interface(IUnknown) ['{3D82AB40-62DA-11CF-AB39-0020AF71E433}'] function CreateEnumObject(const pvSource : Pointer; const dwLoadOptions : TDXFileLoadOptions; out ppEnumObj : IDirectXFileEnumObject) : HResult; stdcall; function CreateSaveObject(const szFileName : PChar; const dwFileFormat : TDXFileFormat; out ppSaveObj : IDirectXFileSaveObject) : HResult; stdcall; function RegisterTemplates(const pvData : Pointer; const cbSize : Cardinal) : HResult; stdcall; end; IDirectXFileEnumObject = interface (IUnknown) ['{3D82AB41-62DA-11CF-AB39-0020AF71E433}'] function GetNextDataObject(out ppDataObj : IDirectXFileData) : HResult; stdcall; function GetDataObjectById(const rguid : TGUID; out ppDataObj : IDirectXFileData) : HResult; stdcall; function GetDataObjectByName(const szName : PChar; out ppDataObj : IDirectXFileData) : HResult; stdcall; end; IDirectXFileSaveObject = interface (IUnknown) ['{3D82AB42-62DA-11CF-AB39-0020AF71E433}'] function SaveTemplates(const cTemplates : Cardinal; var ppguidTemplates : PGUID) : HResult; stdcall; function CreateDataObject(const rguidTemplate : TGUID; const szName : PChar; const pguid : PGUID; const cbSize : Cardinal; pvData: Pointer; out ppDataObj : IDirectXFileData) : HResult; stdcall; function SaveData(pDataObj : IDirectXFileData) : HResult; stdcall; end; IDirectXFileObject = interface (IUnknown) ['{3D82AB43-62DA-11CF-AB39-0020AF71E433}'] function GetName(const pstrNameBuf : PChar; dwBufLen : PLongWord) : HResult; stdcall; function GetId (out pGuidBuf : TGUID) : HResult; stdcall; end; IDirectXFileData = interface (IDirectXFileObject) ['{3D82AB44-62DA-11CF-AB39-0020AF71E433}'] function GetData(const szMember: PChar; var pcbSize : LongWord; out ppvData : Pointer) : HResult; stdcall; function GetType(out ppguid : PGUID) : HResult; stdcall; function GetNextObject(out ppChildObj : IDirectXFileObject) : HResult; stdcall; function AddDataObject(const pDataObj : IDirectXFileData) : HResult; stdcall; function AddDataReference(const szRef : PChar; const pguidRef : PGUID) : HResult; stdcall; function AddBinaryObject(const szName : PChar; const pguid : PGUID; const szMimeType : PChar; const pvData : Pointer; const cbSize : LongWord) : HResult; stdcall; end; IDirectXFileDataReference = interface (IDirectXFileObject) ['{3D82AB45-62DA-11CF-AB39-0020AF71E433}'] function Resolve(out ppDataObj : IDirectXFileData) : HResult; stdcall; end; IDirectXFileBinary = interface (IDirectXFileObject) ['{3D82AB46-62DA-11CF-AB39-0020AF71E433}'] function GetSize(out pcbSize : LongWord) : HResult; stdcall; function GetMimeType(out pszMimeType : PChar) : HResult; stdcall; function Read(pvData : Pointer; const cbSize : LongWord; out pcbRead : LongWord) : HResult; stdcall; end; (* * DirectXFile Object Class Id (for CoCreateInstance()) *)const CLSID_CDirectXFile: TGUID = '{4516EC43-8F20-11D0-9B6D-0000C0781BC3}';// (D1:$4516ec43;D2:$8f20;D3:$11d0;D4:($9b,$6d,$00,$00,$c0,$78,$1b,$c3));(* * DirectX File Interface GUIDs. *)type IID_IDirectXFile = IDirectXFile; IID_IDirectXFileEnumObject = IDirectXFileEnumObject; IID_IDirectXFileSaveObject = IDirectXFileSaveObject; IID_IDirectXFileObject = IDirectXFileObject; IID_IDirectXFileData = IDirectXFileData; IID_IDirectXFileDataReference = IDirectXFileDataReference; IID_IDirectXFileBinary = IDirectXFileBinary;(* * DirectX File Header template's GUID. *)const TID_DXFILEHEADER : TGUID = '{3D82AB43-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEMESH : TGUID = '{3D82AB44-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEMVECTOR : TGUID = '{3D82AB5E-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEMESHFACE : TGUID = '{3D82AB5F-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEMATERIAL : TGUID = '{3D82AB4D-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEFRAME : TGUID = '{3D82AB46-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEFRAMETRANSFORMMATRIX : TGUID = '{F6F23F41-7686-11CF-8F52-0040333594A3}'; TID_DXFILEMESHMATERIALLIST : TGUID = '{F6F23F42-7686-11CF-8F52-0040333594A3}'; TID_DXFILEMESHTEXTURECOORDS : TGUID = '{F6F23F40-7686-11CF-8F52-0040333594A3}'; TID_DXFILEMESHNORMALS : TGUID = '{F6F23F43-7686-11CF-8F52-0040333594A3}'; TID_DXFILECOORDS2D : TGUID = '{F6F23F44-7686-11CF-8F52-0040333594A3}'; TID_DXFILEMATRIX4X4 : TGUID = '{F6F23F45-7686-11CF-8F52-0040333594A3}'; TID_DXFILEANIMATION : TGUID = '{3D82AB4F-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEANIMATIONSET : TGUID = '{3D82AB50-62DA-11CF-AB39-0020AF71E433}'; TID_DXFILEANIMATIONKEY : TGUID = '{10DD46A8-775B-11CF-8F52-0040333594A3}'; TID_DXFILEFLOATKEYS : TGUID = '{10DD46A9-775B-11CF-8F52-0040333594A3}'; TID_DXFILECOLORRGBA : TGUID = '{35FF44E0-6C7C-11CF-8F52-0040333594A3}'; TID_DXFILECOLORRGB : TGUID = '{D3E16E81-7835-11CF-8F52-0040333594A3}'; TID_DXFILETEXTUREFILENAME : TGUID = '{A42790E1-7810-11CF-8F52-0040333594A3}'; TID_DXFILEINDEXEDCOLOR : TGUID = '{1630B820-7842-11CF-8F52-0040333594A3}'; TID_DXFILEBOOLEAN : TGUID = '{4885AE61-78E8-11CF-8F52-0040333594A3}'; TID_DXFILEBOOLEAN2D : TGUID = '{4885AE63-78E8-11CF-8F52-0040333594A3}'; TID_DXFILEMESHVERTEXCOLORS : TGUID = '{1630B821-7842-11CF-8F52-0040333594A3}'; TID_DXFILEMESHFACEWRAPS : TGUID = '{ED1EC5C0-C0A8-11D0-941C-0080C80CFA7B}'; TID_DXFILETIMEDFLOATKEYS : TGUID = '{F406B180-7B3B-11CF-8F52-0040333594A3}'; TID_DXFILEANIMATIONOPTIONS : TGUID = '{E2BF56C0-840F-11CF-8F52-0040333594A3}'; TID_DXFILEQUATERNION : TGUID = '{10DD46A3-775B-11cf-8F52-0040333594A3}'; TID_DXFILEPATCH : TGUID = '{A3EB5D44-FC22-429D-9AFB-3221CB9719A6}'; TID_DXFILEPATCHMESH : TGUID = '{D02C95CC-EDBA-4305-9B5D-1820D7704BBF}'; TID_DXFILEVERTEXDUPLICATIONINDICES : TGUID = '{B8D65549-D7C9-4995-89CF-53A9A8B031E3}'; TID_DXFILEXSKINMESHHEADER : TGUID = '{3CF169CE-FF7C-44ab-93C0-F78F62D172E2}'; TID_DXFILESKINWEIGHTS : TGUID = '{6F0D123B-BAD2-4167-A0D0-80224F25FABB}'; DXFILE_XTEMPLATE_BYTES = 3278; DXFILE_XTEMPLATES : array [0..DXFILE_XTEMPLATE_BYTES-1] of Byte = ( $78, $6f, $66, $20, $30, $33, $30, $32, $62, $69, $6e, $20, $30, $30, $36, $34, $1f, 0, $1, 0, $6, 0, 0, 0, $48, $65, $61, $64, $65, $72, $a, 0, $5, 0, $43, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $28, 0, $1, 0, $5, 0, 0, 0, $6d, $61, $6a, $6f, $72, $14, 0, $28, 0, $1, 0, $5, 0, 0, 0, $6d, $69, $6e, $6f, $72, $14, 0, $29, 0, $1, 0, $5, 0, 0, 0, $66, $6c, $61, $67, $73, $14, 0, $b, 0, $1f, 0, $1, 0, $6, 0, 0, 0, $56, $65, $63, $74, $6f, $72, $a, 0, $5, 0, $5e, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $2a, 0, $1, 0, $1, 0, 0, 0, $78, $14, 0, $2a, 0, $1, 0, $1, 0, 0, 0, $79, $14, 0, $2a, 0, $1, 0, $1, 0, 0, 0, $7a, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6f, $72, $64, $73, $32, $64, $a, 0, $5, 0, $44, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $2a, 0, $1, 0, $1, 0, 0, 0, $75, $14, 0, $2a, 0, $1, 0, $1, 0, 0, 0, $76, $14, 0, $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $4d, $61, $74, $72, $69, $78, $34, $78, $34, $a, 0, $5, 0, $45, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $34, 0, $2a, 0, $1, 0, $6, 0, 0, 0, $6d, $61, $74, $72, $69, $78, $e, 0, $3, 0, $10, 0, 0, 0, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $41, $a, 0, $5, 0, $e0, $44, $ff, $35, $7c, $6c, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $2a, 0, $1, 0, $3, 0, 0, 0, $72, $65, $64, $14, 0, $2a, 0, $1, 0, $5, 0, 0, 0, $67, $72, $65, $65, $6e, $14, 0, $2a, 0, $1, 0, $4, 0, 0, 0, $62, $6c, $75, $65, $14, 0, $2a, 0, $1, 0, $5, 0, 0, 0, $61, $6c, $70, $68, $61, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $a, 0, $5, 0, $81, $6e, $e1, $d3, $35, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $2a, 0, $1, 0, $3, 0, 0, 0, $72, $65, $64, $14, 0, $2a, 0, $1, 0, $5, 0, 0, 0, $67, $72, $65, $65, $6e, $14, 0, $2a, 0, $1, 0, $4, 0, 0, 0, $62, $6c, $75, $65, $14, 0, $b, 0, $1f, 0, $1, 0, $c, 0, 0, 0, $49, $6e,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -