他人の空似自作物置場

ilda_dll.zip/ilda.h


#pragma once

#ifdef ILDA_EXPORTS
#define ILDA_API extern "C" __declspec(dllexport)
#else
#ifdef __cplusplus
#define ILDA_API extern "C" __declspec(dllimport)
#else
#define ILDA_API extern __declspec(dllimport)
#endif
#endif

typedef int ILDA_HANDLE;
typedef int ILDA_ERROR_ID;

#define ILDA_INVALID_HANDLE	((ILDA_HANDLE)-1)
#define ILDA_ERROR_SUCCESS	0
#define ILDA_ERROR_BASE	100

#define ILDA_ERROR_INVALID_HANDLE	(ILDA_ERROR_BASE+1)
#define ILDA_ERROR_FRAME_OVER	(ILDA_ERROR_BASE+2)
#define ILDA_ERROR_INVALID_PARAMETER	(ILDA_ERROR_BASE+3)


ILDA_API ILDA_HANDLE ILDAOpenHandle(const char *filename);
ILDA_API ILDA_ERROR_ID ILDACloseHandle(ILDA_HANDLE handle);

struct ILDAPoint {
	unsigned char x;
	unsigned char y;
	unsigned char blanking;
};

ILDA_API ILDA_ERROR_ID GetPointData(ILDA_HANDLE handle, unsigned int first_frame, unsigned int frame_count, struct ILDAPoint **start_ptr, unsigned int **point_count_list, unsigned int *read_frame);

/** ポイント数固定版
 * @param point_count 1フレームに割り当てるポイント数(これより多くとも少なくともこの数に調整される)
 */
ILDA_API ILDA_ERROR_ID GetPointData2(ILDA_HANDLE handle, unsigned int first_frame, unsigned int frame_count, unsigned int point_count, struct ILDAPoint **start_ptr, unsigned int *read_frame);