Added support for different per-language typemaps.
This commit is contained in:
parent
6f1b8c11a2
commit
1fa6a05c60
7 changed files with 156 additions and 4 deletions
|
@ -19,7 +19,7 @@ namespace Bind.ES
|
|||
dirName = nsName;
|
||||
|
||||
glTypemap = "GL2/gl.tm";
|
||||
csTypemap = "csharp.tm";
|
||||
csTypemap = Settings.LanguageTypeMapFile;
|
||||
|
||||
enumSpec = dirName + "/signatures.xml";
|
||||
enumSpecExt = String.Empty;
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace Bind.GL2
|
|||
: base(name, dirname)
|
||||
{
|
||||
glTypemap = "GL2/gl.tm";
|
||||
csTypemap = "csharp.tm";
|
||||
csTypemap = Settings.LanguageTypeMapFile;
|
||||
|
||||
enumSpec = "GL2/signatures.xml";
|
||||
enumSpecExt = String.Empty;
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace Bind.GL2
|
|||
#region Fields
|
||||
|
||||
protected static string glTypemap = "GL2/gl.tm";
|
||||
protected static string csTypemap = "csharp.tm";
|
||||
protected static string csTypemap = Settings.LanguageTypeMapFile;
|
||||
protected static string enumSpec = "GL2/enum.spec";
|
||||
protected static string enumSpecExt = "GL2/enumext.spec";
|
||||
protected static string glSpec = "GL2/gl.spec";
|
||||
|
|
|
@ -189,6 +189,7 @@
|
|||
<None Include="..\..\OpenTK.snk">
|
||||
<Link>OpenTK.snk</Link>
|
||||
</None>
|
||||
<None Include="Specifications\java.tm" />
|
||||
<None Include="Specifications\GL2\gl.tm" />
|
||||
<None Include="Specifications\Glx\glx.spec">
|
||||
</None>
|
||||
|
|
|
@ -91,6 +91,7 @@ namespace Bind
|
|||
Settings.Language = GeneratorLanguage.Cpp;
|
||||
Settings.DefaultOutputPath = "gl";
|
||||
Settings.DefaultOutputNamespace = "OpenTK";
|
||||
// Settings.DefaultLanguageTypeMapFile = "cpp.tm"; // Todo: create this file!
|
||||
Settings.EnumsNamespace = "";
|
||||
Settings.NamespaceSeparator = "::";
|
||||
}
|
||||
|
@ -99,6 +100,7 @@ namespace Bind
|
|||
Settings.Language = GeneratorLanguage.Java;
|
||||
Settings.DefaultOutputPath = "gl";
|
||||
Settings.DefaultOutputNamespace = "com.opentk";
|
||||
Settings.DefaultLanguageTypeMapFile = "java.tm";
|
||||
Settings.EnumsNamespace = "";
|
||||
Settings.NamespaceSeparator = ".";
|
||||
}
|
||||
|
|
|
@ -20,8 +20,10 @@ namespace Bind
|
|||
public static string DefaultDocFile = "ToInlineDocs.xslt";
|
||||
public static string DefaultLicenseFile = "License.txt";
|
||||
public static string DefaultOverridesFile = "GL2/gloverrides.xml";
|
||||
public static string DefaultLanguageTypeMapFile = "csharp.tm";
|
||||
|
||||
static string inputPath, outputPath, outputNamespace, docPath, docFile, licenseFile, overridesFile;
|
||||
static string inputPath, outputPath, outputNamespace, docPath, docFile, licenseFile, overridesFile,
|
||||
languageTypeMapFile;
|
||||
public static string InputPath { get { return inputPath ?? DefaultInputPath; } set { inputPath = value; } }
|
||||
public static string OutputPath { get { return outputPath ?? DefaultOutputPath; } set { outputPath = value; } }
|
||||
public static string OutputNamespace { get { return outputNamespace ?? DefaultOutputNamespace; } set { outputNamespace = value; } }
|
||||
|
@ -29,6 +31,7 @@ namespace Bind
|
|||
public static string DocFile { get { return docFile ?? DefaultDocFile; } set { docFile = value; } }
|
||||
public static string LicenseFile { get { return licenseFile ?? DefaultLicenseFile; } set { licenseFile = value; } }
|
||||
public static string OverridesFile { get { return overridesFile ?? DefaultOverridesFile; } set { overridesFile = value; } }
|
||||
public static string LanguageTypeMapFile { get { return languageTypeMapFile ?? DefaultLanguageTypeMapFile; } set { languageTypeMapFile = value; } }
|
||||
|
||||
public static string GLClass = "GL"; // Needed by Glu for the AuxEnumsClass. Can be set through -gl:"xxx".
|
||||
public static string OutputClass = "GL"; // The real output class. Can be set through -class:"xxx".
|
||||
|
|
146
Source/Bind/Specifications/java.tm
Normal file
146
Source/Bind/Specifications/java.tm
Normal file
|
@ -0,0 +1,146 @@
|
|||
# Normal types.
|
||||
GLsizei, int
|
||||
GLsizeiptr, com.sun.jna.ptr.IntByReference
|
||||
GLintptr, com.sun.jna.ptr.IntByReference
|
||||
# GLenum, int
|
||||
GLboolean, boolean # bool # int
|
||||
GLbitfield, int
|
||||
# GLvoid*, com.sun.jna.ptr.IntByReference
|
||||
# GLvoid, Void #Object
|
||||
GLchar, char
|
||||
GLbyte, byte
|
||||
GLubyte, byte
|
||||
GLshort, short
|
||||
GLushort, short
|
||||
GLint, int
|
||||
GLuint, int
|
||||
GLfloat, float
|
||||
GLclampf, float
|
||||
GLdouble, double
|
||||
GLclampd, double
|
||||
GLstring, String
|
||||
|
||||
PixelInternalFormat, PixelInternalFormat
|
||||
|
||||
# ARB and NV types.
|
||||
GLsizeiptrARB, com.sun.jna.ptr.IntByReference
|
||||
GLintptrARB, com.sun.jna.ptr.IntByReference
|
||||
GLhandleARB, int
|
||||
GLhalfARB, Half
|
||||
GLhalfNV, Half
|
||||
GLcharARB, char
|
||||
|
||||
# 64 bit types (introduced in 2.1)
|
||||
GLint64EXT, long
|
||||
GLuint64EXT, long
|
||||
GLint64, long
|
||||
GLuint64, long
|
||||
|
||||
# ARB_sync (introduced in 3.2)
|
||||
sync, com.sun.jna.ptr.IntByReference
|
||||
GLsync, com.sun.jna.ptr.IntByReference
|
||||
|
||||
# Wgl types.
|
||||
PROC, com.sun.jna.ptr.IntByReference
|
||||
LPCSTR, String
|
||||
COLORREF, int
|
||||
BOOL, boolean
|
||||
DWORD, int
|
||||
FLOAT, float
|
||||
HANDLE, com.sun.jna.ptr.IntByReference
|
||||
HDC, com.sun.jna.ptr.IntByReference
|
||||
HGLRC, com.sun.jna.ptr.IntByReference
|
||||
HPBUFFERARB, com.sun.jna.ptr.IntByReference #HPBUFFERARB
|
||||
HPBUFFEREXT, com.sun.jna.ptr.IntByReference #HPBUFFEREXT
|
||||
INT32, int
|
||||
INT64, long
|
||||
LPVOID, void*
|
||||
#String, const char *
|
||||
UINT, int
|
||||
USHORT, short
|
||||
VOID, void
|
||||
VoidPointer, void*
|
||||
float, float
|
||||
int, int
|
||||
#void, *
|
||||
GLDEBUGPROCARB, DebugProcArb
|
||||
GLDEBUGPROCAMD , DebugProcAmd
|
||||
GLvdpauSurfaceNV, com.sun.jna.ptr.IntByReference
|
||||
|
||||
# Glu types.
|
||||
Float64 double
|
||||
Float64Pointer com.sun.jna.ptr.DoubleByReference
|
||||
Float32 float
|
||||
Float32Pointer com.sun.jna.ptr.SingleByReference
|
||||
|
||||
# Glx types.
|
||||
Void void
|
||||
Bool boolean
|
||||
int64_t long
|
||||
int32_t int
|
||||
|
||||
Display com.sun.jna.ptr.IntByReference
|
||||
Window com.sun.jna.ptr.IntByReference
|
||||
Pixmap com.sun.jna.ptr.IntByReference
|
||||
Colormap com.sun.jna.ptr.IntByReference
|
||||
|
||||
GLXWindow com.sun.jna.ptr.IntByReference
|
||||
GLXContext com.sun.jna.ptr.IntByReference
|
||||
GLXDrawable com.sun.jna.ptr.IntByReference
|
||||
GLXPixmap com.sun.jna.ptr.IntByReference
|
||||
__GLXextFuncPtr com.sun.jna.ptr.IntByReference
|
||||
|
||||
VLServer com.sun.jna.ptr.IntByReference
|
||||
VLPath com.sun.jna.ptr.IntByReference
|
||||
VLNode com.sun.jna.ptr.IntByReference
|
||||
|
||||
|
||||
# OpenGL|ES types.
|
||||
GLclampx, int
|
||||
GLfixed, int
|
||||
GLeglImageOES, com.sun.jna.ptr.IntByReference
|
||||
|
||||
|
||||
# OpenCL types.
|
||||
_cl_context, com.sun.jna.ptr.IntByReference
|
||||
_cl_event, com.sun.jna.ptr.IntByReference
|
||||
cl_command_queue, com.sun.jna.ptr.IntByReference
|
||||
cl_context, com.sun.jna.ptr.IntByReference
|
||||
cl_device_id, com.sun.jna.ptr.IntByReference
|
||||
cl_event, com.sun.jna.ptr.IntByReference
|
||||
cl_kernel, com.sun.jna.ptr.IntByReference
|
||||
cl_mem, com.sun.jna.ptr.IntByReference
|
||||
cl_platform_id, com.sun.jna.ptr.IntByReference
|
||||
cl_program, com.sun.jna.ptr.IntByReference
|
||||
cl_sampler, com.sun.jna.ptr.IntByReference
|
||||
size_t, com.sun.jna.NativeLong
|
||||
|
||||
cl_bool, boolean
|
||||
cl_int, int
|
||||
cl_uint, uint
|
||||
uchar, byte
|
||||
|
||||
cl_addressing_mode, AddressingMode
|
||||
cl_command_queue_info, CommandQueueInfo
|
||||
cl_command_queue_properties, CommandQueueProperties
|
||||
cl_context_info, ContextInfo
|
||||
cl_context_properties, com.sun.jna.ptr.IntByReference # ContextProperties
|
||||
cl_device_info, DeviceInfo
|
||||
cl_device_type, DeviceType
|
||||
cl_event_info, EventInfo
|
||||
cl_filter_mode, FilterMode
|
||||
cl_image_format, ImageFormat
|
||||
cl_image_info, ImageInfo
|
||||
cl_kernel_group_info, KernelGroupInfo
|
||||
cl_kernel_info, KernelInfo
|
||||
cl_kernel_work_group_info, KernelWorkGroupInfo
|
||||
cl_map_flags, MapFlags
|
||||
cl_mem_info, MemInfo
|
||||
cl_mem_flags, MemFlags
|
||||
cl_mem_object_type, MemObjectType
|
||||
cl_platform_info, PlatformInfo
|
||||
cl_profiling_info, ProfilingInfo
|
||||
cl_program_build_info, ProgramBuildInfo
|
||||
cl_program_info, ProgramInfo
|
||||
cl_sampler_info, SamplerInfo
|
||||
cl_work_group_info, WorkGroupInfo
|
Loading…
Reference in a new issue