//FIXME: MonoPInvokeCallback
        static void *InitWithCopy(void *dest, void *src, TypeMetadata *typeMetadata)
        {
            var swiftType = GetManagedSwiftType(typeMetadata);

            swiftType.Transfer(dest, src, TransferFuncType.InitWithCopy);
            return(dest);
        }
        //FIXME: MonoPInvokeCallback
        static void *AssignWithTake(void *dest, void *src, TypeMetadata *typeMetadata)
        {
            var swiftType = GetManagedSwiftType(typeMetadata);

            swiftType.Transfer(dest, src, TransferFuncType.AssignWithTake);
            return(dest);
        }
        static ManagedSwiftType GetManagedSwiftType(TypeMetadata *metadata)
        {
            Debug.Assert(metadata->Kind == MetadataKinds.Struct);
            // subtract 1 because GCHandle is right before field offset vector
            var offs = ((StructDescriptor *)metadata->TypeDescriptor)->FieldOffsetVectorOffset - 1;
            var loc  = (IntPtr *)metadata + offs;
            var ptr  = *loc;

            return((ManagedSwiftType)GCHandle.FromIntPtr(ptr).Target);
        }
        //FIXME: MonoPInvokeCallback
        static void Destroy(void *obj, TypeMetadata *typeMetadata)
        {
            var swiftType = GetManagedSwiftType(typeMetadata);

            swiftType.Destroy(obj);
        }
Example #5
0
 internal static extern void ViewBackground(void *resultPointer, void *viewPointer, void *backgroundPointer, TypeMetadata *viewMetatdata, TypeMetadata *backgroundMetatdata, ProtocolWitnessTable *viewConformance, ProtocolWitnessTable *backgroundConformance);
Example #6
0
 internal static extern void ViewOpacity(void *resultPointer, void *viewPointer, double opacity, TypeMetadata *viewMetatdata, ProtocolWitnessTable *viewConformance);
Example #7
0
 internal static extern void Init(void *result, HorizontalAlignment align, bool spacingHasValue, double spacing, void *contentData, TypeMetadata *contentType, ProtocolWitnessTable *contentViewConformance);
Example #8
0
 internal static extern void Init(void *result, void *valuePtr, TypeMetadata *valueMetadata);
Example #9
0
 internal static extern void Init(void *result, PtrFunc action, PtrFunc dispose, IntPtr ctx, void *labelData, TypeMetadata *labelType, ProtocolWitnessTable *labelViewConformance);
Example #10
0
 static extern IntPtr Init(void *viewData, TypeMetadata *viewType, ProtocolWitnessTable *viewConformance);