/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.sun.jna.Library
 *  com.sun.jna.Native
 *  com.sun.jna.Pointer
 *  com.sun.jna.Structure
 *  com.sun.jna.Structure$ByReference
 *  com.sun.jna.Structure$ByValue
 *  com.sun.jna.ptr.FloatByReference
 *  com.sun.jna.ptr.IntByReference
 *  com.sun.jna.ptr.PointerByReference
 */
package com.hst.hwface.sdk;

import com.hst.hwface.sdk.HWFaceRecMultiSDK;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import com.sun.jna.ptr.FloatByReference;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays;
import java.util.List;

public interface HWFaceMultiSDK
extends Library {
    public static final HWFaceRecMultiSDK INSTANCE = (HWFaceRecMultiSDK)Native.loadLibrary((String)"D:\\workspacezxc\\TaxService\\taxService\\WEB-INF\\lib\\HWcompare.dll", HWFaceMultiSDK.class);
    public static final int S_OK = 0;
    public static final int S_FAIL = 1;
    public static final int S_REJECT = -1;

    public int HWInitial(PointerByReference var1);

    public int HWRelease(PointerByReference var1);

    public int HWLocationEx(Pointer var1, byte[] var2, int var3, int var4, HW_RECT.ByReference var5, FloatByReference var6, FloatByReference var7, FloatByReference var8, FloatByReference var9, FloatByReference var10, FloatByReference var11, FloatByReference var12, int var13);

    public int HWLocation(Pointer var1, byte[] var2, int var3, int var4, HW_RECT.ByReference var5, FloatByReference var6, FloatByReference var7, FloatByReference var8, FloatByReference var9, int var10);

    public int HWLocationMult(Pointer var1, byte[] var2, int var3, int var4, EL_Pos.ByReference var5, EL_Pos.ByReference var6, EL_Pos.ByReference var7, int[] var8);

    public int HWGetFeatureSize(Pointer var1, IntByReference var2);

    public int HWExtractFeature(Pointer var1, byte[] var2, int var3, int var4, FloatByReference var5, FloatByReference var6, FloatByReference var7, FloatByReference var8, byte[] var9);

    public int HWCompareFeature(Pointer var1, byte[] var2, byte[] var3, FloatByReference var4);

    public static class EL_Pos
    extends Structure {
        public float col;
        public float row;
        public float width;
        public float confi;

        protected List getFieldOrder() {
            return Arrays.asList("col", "row", "width", "confi");
        }

        public static class ByReference
        extends EL_Pos
        implements Structure.ByReference {
        }

        public static class ByValue
        extends EL_Pos
        implements Structure.ByValue {
        }
    }

    public static class HW_RECT
    extends Structure {
        public int left;
        public int top;
        public int right;
        public int bottom;

        protected List getFieldOrder() {
            return Arrays.asList("left", "top", "right", "bottom");
        }

        public static class ByReference
        extends HW_RECT
        implements Structure.ByReference {
        }

        public static class ByValue
        extends HW_RECT
        implements Structure.ByValue {
        }
    }
}
