mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.4 KiB
119 lines
3.4 KiB
#ifndef UINT
|
|
#define UINT unsigned int
|
|
#endif
|
|
typedef unsigned long ULONG;
|
|
typedef unsigned char UCHAR;
|
|
|
|
#define LARGE_IMAGE_BUFFER 32768
|
|
#define FLUSH_BUFFER -1
|
|
|
|
/* structures */
|
|
/*****jpeg stuff **********/
|
|
/* There are 64 words of space left over in jpeg_control for passing extra */
|
|
/* parameters as needed */
|
|
/* P_CMP_INFO and P_EXP_INFO are used to point to this area to pass the */
|
|
/* extra parameters */
|
|
typedef struct
|
|
{
|
|
HANDLE hSrc;
|
|
HANDLE hDst;
|
|
HANDLE hWnd;
|
|
HANDLE hImg;
|
|
unsigned int relrow;
|
|
unsigned int img_width_in_bytes;
|
|
unsigned int lastline;
|
|
unsigned int lines_to_rep;
|
|
LPSTR lpGet;
|
|
LPSTR input_ptr;
|
|
LPSTR output_ptr;
|
|
unsigned int offset;
|
|
unsigned int Itype;
|
|
unsigned int comp_bytes;
|
|
LPSTR p_Wangbuf;
|
|
HANDLE hWorkBuf;
|
|
LPSTR lpWorkBuf;
|
|
DWORD Threshold;
|
|
BOOL bReplicator;
|
|
UINT TotalRowsInBuf;
|
|
UINT TheBufRows;
|
|
UINT StripRows;
|
|
UINT CurrentBufRows;
|
|
} CMP_INFO, FAR *LP_CMP_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
HANDLE hSrc;
|
|
HANDLE hDst;
|
|
HANDLE hImg;
|
|
unsigned int strip_num;
|
|
unsigned int rows_strip;
|
|
unsigned int offset;
|
|
unsigned int relrow;
|
|
unsigned int img_width_in_bytes;
|
|
char FAR *output_ptr;
|
|
char FAR *input_ptr;
|
|
unsigned int image_height;
|
|
LPSTR lpGet;
|
|
unsigned int comp_bytes;
|
|
LPSTR p_Wangbuf;
|
|
unsigned int this_many_given;
|
|
HANDLE hWorkBuf;
|
|
LPSTR lpWorkBuf;
|
|
LPSTR lpWorkBufInit;
|
|
} EXP_INFO, FAR *LP_EXP_INFO;
|
|
|
|
#define OI_COMEX_TYPE 1
|
|
|
|
#define MAX_DATATYPE_COUNT 10
|
|
|
|
typedef struct {
|
|
HANDLE Kirk;
|
|
UINT widthinbytes;
|
|
LPSTR lpStuffHere;
|
|
BOOL DirectWrite;
|
|
} OICOMEXSTRUCT, FAR *LPOICOMEXSTRUCT;
|
|
|
|
|
|
int HogSpace_InitExpand(LPHANDLE, LP_FIO_INFORMATION, int);
|
|
int AllocAndLockTempBuffer (UCHAR FAR * (FAR *), UINT);
|
|
int WiisFioRoutineExpand (HWND, HANDLE, int, LP_FIO_INFORMATION, int, HANDLE);
|
|
int GetWidthInBytes (int, unsigned int, unsigned int far *);
|
|
int WiisFioRoutineCompress ( HWND hWnd, HANDLE hImage, UINT ImWidth,
|
|
UINT ImHeight, UINT RowsPerStrip, int Itype, HANDLE FileId);
|
|
|
|
typedef struct OIComexStruct
|
|
{
|
|
HANDLE GlobalhWangBuf;
|
|
char FAR *GloballpWangbuf;
|
|
EXP_INFO GlobalExpInfo;
|
|
CMP_INFO GlobalComInfo;
|
|
|
|
LPOICOMEXSTRUCT lpWormHole;
|
|
HINSTANCE hWiisfio;
|
|
HINSTANCE hSeqfile;
|
|
HANDLE hJpeg1;
|
|
HANDLE hJpeg2;
|
|
BOOL bSeqfileExp;
|
|
DWORD dwSeqfileExpTotal;
|
|
DWORD dwSeqfileExpCount;
|
|
|
|
struct Compress_info_struct CInfo;
|
|
struct Compress_methods_struct CMethods;
|
|
struct External_methods_struct EMethods;
|
|
|
|
/* Globals for PutUncmpDataWiis. */
|
|
char *hpDst;
|
|
int do_it;
|
|
UINT TotalRows;
|
|
|
|
/* Globals for GetCmpDataWiis. */
|
|
HWND hWndGlobal;
|
|
LPSTR lpCompressedData;
|
|
int FileDes;
|
|
HANDLE FileId;
|
|
int StripIndex;
|
|
unsigned long StripSize;
|
|
unsigned long StripStart;
|
|
unsigned long AddBytesRead;
|
|
unsigned long BytesLeft;
|
|
} OICOMEX_DATA, FAR *LP_OICOMEX_DATA;
|