Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
244 chris 1
Imports System.Text, System.Runtime.InteropServices
2
Module J2K_Codec
3
    Public Enum J2K_ERRORS
4
        J2KERR_SUCCESS = 0
5
        J2KERR_NEED_MMX
6
        J2KERR_NOT_ENOUGH_MEMORY
7
        J2KERR_CORRUPTED_DATA
8
        J2KERR_PIPE_FAILURE
9
        J2KERR_INVALID_ARGUMENT
10
        J2KERR_CANCELED
11
        J2KERR_CANT_OPEN_FILE
12
        J2KERR_OPTION_UNRECOGNIZED
13
        J2KERR_NO_SUCH_TILE
14
        J2KERR_NO_SUCH_RESOLUTION
15
        J2KERR_BPP_TOO_SMALL
16
        J2KERR_BUFFER_TOO_SMALL
17
        J2KERR_NOT_PART1_FORMAT
18
        J2KERR_IMAGE_IS_TOO_LARGE
19
        J2KERR_TOO_MANY_RES_LEVEL
20
        J2KERR_TOO_LARGE_CODEBLOCKS
21
        J2KERR_NO_LAZINESS
22
        J2KERR_NO_VCAUSAL
23
        J2KERR_TOO_MANY_COMPONENTS
24
        J2KERR_ONLY_8_BIT_COMPONENTS
25
        J2KERR_ONLY_UNSIG_COMPONENTS
26
        J2KERR_DOWNSAMPLED_COMPONENTS
27
        J2KERR_ROI_NOT_SUPPORTED
28
        J2KERR_PROGR_CHANGE_NOT_SUP
29
        J2KERR_PACKET_HDRS_NOT_SUP
30
        J2KERR_64BIT_BOXES_NOT_SUP
31
        J2KERR_INTERNAL_ERROR
32
    End Enum
33
 
34
    Public Enum J2K_Metadata
35
        JP2_METADATA_COMMENT_STR = 0
36
        JP2_METADATA_COMMENT_BIN
37
        JP2_METADATA_GEOTIFF
38
        JP2_METADATA_XML
39
        JP2_METADATA_URL
40
        JP2_METADATA_PAL
41
        JP2_METADATA_ICC
42
        JP2_METADATA_UNKNOWN
43
    End Enum
44
 
45
    Public CodingSchemes() As String = {"Lossy J2K", "Lossy JP2", "Lossless J2K", "Lossless JP2"}
46
 
47
    'Note that all "Long"s from the VB6 version have been changed to "Integer"
48
    Public Structure J2K_Info
49
        Dim Version As Integer
50
        Dim Width As Integer
51
        Dim Height As Integer
52
        Dim Components As Integer
53
        Dim FileType As Integer
54
        Dim hTiles As Integer
55
        Dim vTiles As Integer
56
    End Structure
57
 
58
    Declare Function J2K_getVersion Lib "j2k-codec" Alias "_J2K_getVersion@0" () As Integer
59
 
60
    Declare Function J2K_getLastError Lib "j2k-codec" Alias "_J2K_getLastError@0" () As Integer
61
 
62
    Declare Sub J2K_getErrorStr Lib "j2k-codec" Alias "_J2K_getErrorStrVB@8" (ByVal ErrCode As Integer, ByVal errStr As String)
63
 
64
    Declare Sub J2K_Unlock Lib "j2k-codec" Alias "_J2K_Unlock@4" (ByVal Key As String)
65
 
66
    Declare Function J2K_StartLogging Lib "j2k-codec" Alias "_J2K_StartLogging@8" (ByVal Level As Integer, ByVal Append As Boolean) As Integer
67
 
68
    Declare Sub J2K_StopLogging Lib "j2k-codec" Alias "_J2K_StopLogging@0" ()
69
 
70
    Declare Function J2K_OpenFile Lib "j2k-codec" Alias "_J2K_OpenFile@4" (ByVal FileName As String) As Integer
71
 
72
    Declare Function J2K_OpenMemory Lib "j2k-codec" Alias "_J2K_OpenMemory@8" (ByRef Buffer As Byte, ByVal Size As Integer) As Integer
73
 
74
    Declare Function J2K_GetInfo Lib "j2k-codec" Alias "_J2K_GetInfo@16" (ByVal Image As Integer, ByRef Width As Integer, ByRef Height As Integer, ByRef Components As Integer) As Integer
75
    'In Vb6 Info was declared as ByVal - it *has* to be ByRef for DotNet to work properly!
76
    Declare Function J2K_GetInfoEx Lib "j2k-codec" Alias "_J2K_GetInfoEx@8" (ByVal Image As Integer, ByRef info As J2K_Info) As Integer
77
 
78
    Declare Function J2K_SelectTiles Lib "j2k-codec" Alias "_J2K_SelectTiles@16" (ByVal Image As Integer, ByVal StartTile As Integer, ByVal EndTile As Integer, ByVal Action As Integer) As Integer
79
 
80
    Declare Function J2K_GetResolutions Lib "j2k-codec" Alias "_J2K_GetResolutions@8" (ByVal Image As Integer, ByRef Resolutions As Integer) As Integer
81
 
82
    Declare Function J2K_GetResolutionDimensions Lib "j2k-codec" Alias "_J2K_GetResolutionDimensions@16" (ByVal Image As Integer, ByVal ResLevel As Integer, ByRef Width As Integer, ByRef Height As Integer) As Integer
83
 
84
    Declare Function J2K_Decode Lib "j2k-codec" Alias "_J2K_Decode@20" (ByVal Image As Integer, ByRef Buffer As IntPtr, ByRef Size As Integer, Optional ByVal Options As String = "", Optional ByRef Pitch As Integer = 0) As Integer
85
 
86
    Declare Function J2K_GetMetaData Lib "j2k-codec" Alias "_J2K_GetMetaData@20" (ByVal Image As Integer, ByRef No As Integer, ByRef Type As Integer, ByRef Buffer As IntPtr, ByRef Size As Integer) As Integer
87
 
88
    Declare Sub J2K_Cancel Lib "j2k-codec" Alias "_J2K_Cancel@4" (ByVal Image As Integer)
89
 
90
    Declare Sub J2K_Close Lib "j2k-codec" Alias "_J2K_Close@4" (ByVal Image As Integer)
91
End Module