⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swig_csharp_extensions.i

📁 支持各种栅格图像和矢量图像读取的库
💻 I
字号:
/****************************************************************************** * $Id: swig_csharp_extensions.i 10442 2006-12-04 09:48:07Z tamas $ * * Name:     swig_csharp_extensions.i * Project:  GDAL SWIG Interface * Purpose:  Temporary fix for the SWIG Interface problems * Author:   Tamas Szekeres * * * $Log$ * Revision 1.5  2006/12/04 09:48:07  tamas * Replacing $imclassname to $modulePINVOKE for supporting SWIG 1.3.27 * * Revision 1.4  2006/11/25 21:23:02  tamas * Added default csout, csvarout typemaps * * Revision 1.3  2006/11/15 21:00:35  tamas * Added support for SWIG 1.3.30 * * Revision 1.2  2006/11/11 19:28:39  tamas * Support for the default csout typemaps * * Revision 1.1  2006/11/08 22:41:21  tamas * Preliminary fix for SWIG potential problems * **/// Comment out the following line to revert to the original SWIG behaviour#define ADVANCED_OBJECT_REF#ifdef ADVANCED_OBJECT_REF%typemap(csout, excode=SWIGEXCODE) SWIGTYPE {    $&csclassname ret = new $&csclassname($imcall, null);$excode    return ret;  }  %define %owner(OWNER, TYPE)%typemap(csout, excode=SWIGEXCODE, new="1") TYPE & {    $csclassname ret = new $csclassname($imcall, $owner? null : OWNER);$excode    return ret;  }%typemap(csout, excode=SWIGEXCODE, new="1") TYPE *, TYPE [], TYPE (CLASS::*) {    IntPtr cPtr = $imcall;    $csclassname ret = (cPtr == IntPtr.Zero) ? null : new $csclassname(cPtr, $owner? null : OWNER);$excode    return ret;  }%typemap(csvarout, excode=SWIGEXCODE2) TYPE & %{    get {      $csclassname ret = new $csclassname($imcall, $owner? null : OWNER);$excode      return ret;    } %}%typemap(csvarout, excode=SWIGEXCODE2) TYPE *, TYPE [], TYPE (CLASS::*) %{    get {      IntPtr cPtr = $imcall;      $csclassname ret = (cPtr == IntPtr.Zero) ? null : new $csclassname(cPtr, $owner? null : OWNER);$excode      return ret;    } %}%typemap(csout, excode=SWIGEXCODE) TYPE *& {    IntPtr cPtr = $imcall;    $*csclassname ret = (cPtr == IntPtr.Zero) ? null : new $*csclassname(cPtr, $owner? null : OWNER);$excode    return ret;  }    %enddef#define %object_owner %owner(this, SWIGTYPE)#define %static_owner %owner(new object(), SWIGTYPE)%object_owner%owner(new object(), GByte)// Proxy classes (base classes, ie, not derived classes)%typemap(csbody) SWIGTYPE %{  private HandleRef swigCPtr;  protected object swigCMemOwner;  internal $csclassname(IntPtr cPtr, object cMemoryOwner) {    swigCMemOwner = cMemoryOwner;    swigCPtr = new HandleRef(this, cPtr);  }  internal static HandleRef getCPtr($csclassname obj) {    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;  }  internal static HandleRef getCPtrAndDisown($csclassname obj, object cMemoryOwner) {    obj.swigCMemOwner = cMemoryOwner;    return getCPtr(obj);  }%}// Derived proxy classes%typemap(csbody_derived) SWIGTYPE %{  private HandleRef swigCPtr;  internal $csclassname(IntPtr cPtr, object cMemoryOwner) : base($modulePINVOKE.$csclassnameUpcast(cPtr), cMemoryOwner) {    swigCPtr = new HandleRef(this, cPtr);  }  internal static HandleRef getCPtr($csclassname obj) {    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;  }  internal static HandleRef getCPtrAndDisown($csclassname obj, object cMemoryOwner) {    obj.swigCMemOwner = cMemoryOwner;    return getCPtr(obj);  }%}// Typewrapper classes%typemap(csbody) SWIGTYPE *, SWIGTYPE &, SWIGTYPE [], SWIGTYPE (CLASS::*) %{  private HandleRef swigCPtr;  internal $csclassname(IntPtr cPtr, object futureUse) {    swigCPtr = new HandleRef(this, cPtr);  }  protected $csclassname() {    swigCPtr = new HandleRef(null, IntPtr.Zero);  }  internal static HandleRef getCPtr($csclassname obj) {    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;  }%}%typemap(csfinalize) SWIGTYPE %{  ~$csclassname() {    Dispose();  }%}%typemap(csconstruct, excode=SWIGEXCODE) SWIGTYPE %{: this($imcall, null) {$excode  }%}%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") SWIGTYPE {  lock(this) {      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwner == null) {        swigCMemOwner = new object();        $imcall;      }      swigCPtr = new HandleRef(null, IntPtr.Zero);      GC.SuppressFinalize(this);    }  }%typemap(csdestruct_derived, methodname="Dispose", methodmodifiers="public") SWIGTYPE {  lock(this) {      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwner == null) {        swigCMemOwner = new object();        $imcall;      }      swigCPtr = new HandleRef(null, IntPtr.Zero);      GC.SuppressFinalize(this);      base.Dispose();    }  }  %typemap(csin) SWIGTYPE *DISOWN "$csclassname.getCPtrAndDisown($csinput, this)"#else //ADVANCED_OBJECT_REF%typemap(cscode) SWIGTYPE %{  internal static HandleRef getCPtrAndDisown($csclassname obj) {    obj.swigCMemOwn = false;    return getCPtr(obj);  }%}%typemap(csin) SWIGTYPE *DISOWN "$csclassname.getCPtrAndDisown($csinput)"#define %object_owner#define %static_owner#endif  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -