///////////////////////////////////////////////////////////////// // // Filename : milweb.h // Revision : 10.60.0776 // Content : This file contains the defines necessary to use the milwebclient // // Copyright © Matrox Electronic Systems Ltd., 1992-2023. // All Rights Reserved // ///////////////////////////////////////////////////////////////// #ifndef __MIL_WEB_CLIENT_H #define __MIL_WEB_CLIENT_H #include #if !defined(MIL_COMPILE_VERSION_HEX) || (MIL_COMPILE_VERSION_HEX== 0) #ifdef MIL_COMPILE_VERSION_HEX #undef MIL_COMPILE_VERSION_HEX #endif #define MIL_COMPILE_VERSION_HEX 0x1060 #endif // Let's put the hex value in decimal. #define MIL_COMPILE_VERSION ((((MIL_COMPILE_VERSION_HEX >> 12) & 0xf) * 1000) + (((MIL_COMPILE_VERSION_HEX >> 8) & 0xf) * 100) + (((MIL_COMPILE_VERSION_HEX >> 4) & 0xf) * 10) + (((MIL_COMPILE_VERSION_HEX) & 0xf) )) #define MIL_COMPILE_TRUNK_VERSION 1095 #define MIL_COMPILE_NEXT_MAJOR_VERSION 1100 #define WEB_CLIENT 1 #define M_CLIENT_VERSION 0x1000000 #if defined(__linux__) #if defined(__arm__) || defined(__aarch64__) #define M_MIL_USE_ARM 1 #else #define M_MIL_USE_ARM 0 #endif #define M_MIL_USE_LINUX 1 #define M_MIL_USE_WINDOWS 0 #if defined(__x86_64__) || defined(__aarch64__) #define M_MIL_USE_64BIT 1 #else #define M_MIL_USE_64BIT 0 #endif #else #define M_MIL_USE_LINUX 0 #define M_MIL_USE_WINDOWS 1 #if defined(_WIN64) || defined(WIN64) #define M_MIL_USE_64BIT 1 #else #define M_MIL_USE_64BIT 0 #endif #endif #define M_NULL 0 #if !defined(M_MIL_USE_UNICODE) && !M_MIL_USE_LINUX #define M_MIL_USE_UNICODE 1 #elif !defined (M_MIL_USE_UNICODE) #define M_MIL_USE_UNICODE 0 #endif #if M_MIL_USE_UNICODE #if defined(UNICODE) #define M_MIL_UNICODE_API 1 #else #define M_MIL_UNICODE_API 0 #endif #endif #if M_MIL_USE_UNICODE && M_MIL_UNICODE_API #define MIL_TEXT(quote) L##quote typedef wchar_t MIL_TEXT_CHAR; #elif M_MIL_USE_WINDOWS || M_MIL_USE_LINUX #define MIL_TEXT(quote) quote typedef char MIL_TEXT_CHAR; #else #error Operating system not supported ! #endif typedef MIL_TEXT_CHAR* MIL_TEXT_PTR; typedef const MIL_TEXT_CHAR* MIL_CONST_TEXT_PTR; #if M_MIL_USE_WINDOWS #define MFTYPE _stdcall // Exported Function type #elif M_MIL_USE_LINUX #define MFTYPE // Exported Function type #else #error Operating system not supported in Mil.h! #endif /************************************************************************/ /* MIL TYPE DEFINITIONS */ /************************************************************************/ /* GENERAL RELATED DEFINES */ /***************************/ #if M_MIL_USE_WINDOWS #if M_MIL_USE_64BIT #if defined(_MSC_VER) && (_MSC_VER < 1310) typedef __int64 MIL_INT; typedef unsigned __int64 MIL_UINT; #else typedef long long MIL_INT; typedef unsigned long long MIL_UINT; #endif #define MIL_UINT_MIN 0ULL #define MIL_UINT_MAX 18446744073709551615ULL #define MIL_INT_MIN (-9223372036854775807LL - 1) #define MIL_INT_MAX 9223372036854775807LL #else #if (_MSC_VER < 1400) // Visual Studio 2003 typedef long MIL_INT; typedef unsigned long MIL_UINT; #else // Visual Studio 2005 // _W64 Lets you mark variables, such that when you compile // with /Wp64 the compiler will report any warnings that would // be reported if you were compiling with a 64-bit compiler. typedef _W64 long MIL_INT; typedef _W64 unsigned long MIL_UINT; #endif #define MIL_UINT_MIN 0UL #define MIL_UINT_MAX 4294967295UL #define MIL_INT_MIN (-2147483647L-1L) #define MIL_INT_MAX 2147483647L #endif typedef long MIL_INT32; typedef const long MIL_CINT32; typedef unsigned long MIL_UINT32; typedef const unsigned long MIL_CUINT32; #define MIL_UINT32_MIN 0UL #define MIL_UINT32_MAX 4294967295UL #define MIL_INT32_MIN (-2147483647L-1L) #define MIL_INT32_MAX 2147483647L #define MIL_UINT32_MIN_FLT 0UL //Min precise value in 32-bit floating point. #define MIL_UINT32_MAX_FLT 0xFFFFFF00UL //Max precise value in 32-bit floating point. #define MIL_INT32_MIN_FLT (-2147483647L-1L) //Min precise value in 32-bit floating point. #define MIL_INT32_MAX_FLT 0x7FFFFF80L //Max precise value in 32-bit floating point. #if defined(_MSC_VER) && (_MSC_VER < 1310) typedef __int64 MIL_INT64; typedef const __int64 MIL_CINT64; typedef unsigned __int64 MIL_UINT64; typedef const unsigned __int64 MIL_CUINT64; #else typedef long long MIL_INT64; typedef const long long MIL_CINT64; typedef unsigned long long MIL_UINT64; typedef const unsigned long long MIL_CUINT64; #endif #define MIL_UINT64_MIN 0ULL #define MIL_UINT64_MAX 18446744073709551615ULL #define MIL_INT64_MIN (-9223372036854775807LL - 1) #define MIL_INT64_MAX 9223372036854775807LL #define MIL_UINT64_MIN_DBL 0ULL //Min precise value in 64-bit floating point. #define MIL_UINT64_MAX_DBL 0xFFFFFFFFFFFFF800ULL //Max precise value in 64-bit floating point. #define MIL_INT64_MIN_DBL (-9223372036854775807LL - 1LL) //Min precise value in 64-bit floating point. #define MIL_INT64_MAX_DBL 0x7FFFFFFFFFFFFC00LL //Max precise value in 64-bit floating point. typedef double MIL_DOUBLE; typedef float MIL_FLOAT; typedef char MIL_INT8; typedef const char MIL_CINT8; typedef unsigned char MIL_UINT8; typedef const unsigned char MIL_CUINT8; typedef short MIL_INT16; typedef const short MIL_CINT16; typedef unsigned short MIL_UINT16; typedef const unsigned short MIL_CUINT16; typedef MIL_INT32 MIL_BOOL; typedef const MIL_INT32 MIL_CBOOL; #define MIL_UINT8_MIN 0UL #define MIL_UINT8_MAX 255UL #define MIL_INT8_MIN -128L #define MIL_INT8_MAX 127L #define MIL_UINT16_MIN 0UL #define MIL_UINT16_MAX 65535UL #define MIL_INT16_MIN -32768L #define MIL_INT16_MAX 32767L #define MIL_DOUBLE_MIN DBL_MIN #define MIL_DOUBLE_MAX DBL_MAX #define MIL_FLOAT_MIN FLT_MIN #define MIL_FLOAT_MAX FLT_MAX #define MIL_BOOL_MIN 0UL #define MIL_BOOL_MAX 1UL #if (M_MIL_USE_UNICODE && M_MIL_UNICODE_API) || defined (_NATIVE_WCHAR_T_DEFINED) typedef wchar_t MIL_WCHAR; #else typedef unsigned short MIL_WCHAR; #endif #elif M_MIL_USE_LINUX typedef long MIL_INT; typedef unsigned long MIL_UINT; #if M_MIL_USE_64BIT typedef int MIL_INT32; typedef const int MIL_CINT32; typedef unsigned int MIL_UINT32; typedef const unsigned int MIL_CUINT32; #define MIL_UINT_MIN MIL_UINT64_MIN #define MIL_UINT_MAX MIL_UINT64_MAX #define MIL_INT_MIN MIL_INT64_MIN #define MIL_INT_MAX MIL_INT64_MAX #else // M_MIL_USE_64BIT typedef long MIL_INT32; typedef const long MIL_CINT32; typedef unsigned long MIL_UINT32; typedef const unsigned long MIL_CUINT32; #define MIL_UINT_MIN MIL_UINT32_MIN #define MIL_UINT_MAX MIL_UINT32_MAX #define MIL_INT_MIN MIL_INT32_MIN #define MIL_INT_MAX MIL_INT32_MAX #endif #define MIL_UINT32_MIN 0 #define MIL_UINT32_MAX 4294967295U #define MIL_INT32_MIN (-MIL_INT32_MAX - 1) // -2147483648L does not yield the right value #define MIL_INT32_MAX 2147483647 #define MIL_UINT32_MIN_FLT 0U //Min precise value in 32-bit floating point. #define MIL_UINT32_MAX_FLT 0xFFFFFF00U //Max precise value in 32-bit floating point. #define MIL_INT32_MIN_FLT (-2147483647-1) //Min precise value in 32-bit floating point. #define MIL_INT32_MAX_FLT 0x7FFFFF80 //Max precise value in 32-bit floating point. #if M_MIL_USE_64BIT typedef long MIL_INT64; typedef const long MIL_CINT64; typedef unsigned long MIL_UINT64; typedef const unsigned long MIL_CUINT64; #else typedef long long MIL_INT64; typedef const long long MIL_CINT64; typedef unsigned long long MIL_UINT64; typedef const unsigned long long MIL_CUINT64; #endif #define MIL_UINT64_MIN 0ULL #define MIL_UINT64_MAX 18446744073709551615ULL #define MIL_INT64_MAX 9223372036854775807LL #define MIL_INT64_MIN (-MIL_INT64_MAX - 1LL) // Using -9223372036854775808LL directly causes weird warnings. #define MIL_UINT64_MIN_DBL 0ULL //Min precise value in 64-bit floating point. #define MIL_UINT64_MAX_DBL 0xFFFFFFFFFFFFF800ULL //Max precise value in 64-bit floating point. #define MIL_INT64_MIN_DBL (-9223372036854775807LL - 1LL) //Min precise value in 64-bit floating point. #define MIL_INT64_MAX_DBL 0x7FFFFFFFFFFFFC00LL //Max precise value in 64-bit floating point. typedef double MIL_DOUBLE; typedef float MIL_FLOAT; typedef char MIL_INT8; typedef const char MIL_CINT8; typedef unsigned char MIL_UINT8; typedef const unsigned char MIL_CUINT8; typedef short MIL_INT16; typedef const short MIL_CINT16; typedef unsigned short MIL_UINT16; typedef const unsigned short MIL_CUINT16; typedef MIL_INT32 MIL_BOOL; typedef const MIL_INT32 MIL_CBOOL; #define MIL_UINT8_MIN 0UL #define MIL_UINT8_MAX 255UL #define MIL_INT8_MIN -128L #define MIL_INT8_MAX 127L #define MIL_UINT16_MIN 0UL #define MIL_UINT16_MAX 65535UL #define MIL_INT16_MIN -32768L #define MIL_INT16_MAX 32767L #define MIL_DOUBLE_MIN DBL_MIN #define MIL_DOUBLE_MAX DBL_MAX #define MIL_FLOAT_MIN FLT_MIN #define MIL_FLOAT_MAX FLT_MAX #define MIL_BOOL_MIN 0UL #define MIL_BOOL_MAX 1UL typedef unsigned short MIL_WCHAR; #else #error Operating system not supported! #endif typedef MIL_UINT64 MIL_DATA_PTR; typedef MIL_DATA_PTR MIL_PHYS_DATA_PTR; typedef void* MIL_HOST_DATA_PTR; typedef const void* MIL_CONST_HOST_DATA_PTR; typedef MIL_UINT MIL_ADDR; // this type is used to cast a pointer to an integer type for arithmetic conversion // for example void *NewPtr = (void*)((MIL_ADDR)OldPtr + Offset); typedef unsigned char MIL_BYTE; #if M_MIL_USE_64BIT #define M_MIL_USE_INT64_ID 1 #endif #if defined(M_MIL_USE_INT64_ID) && M_MIL_USE_INT64_ID typedef MIL_INT64 MIL_ID; #else typedef MIL_INT32 MIL_ID; #endif #if M_MIL_USE_LINUX && M_MIL_USE_64BIT #define MAKE_INT64(I) (I ## L) #define MAKE_UINT64(I) (I ## LU) #elif M_MIL_USE_LINUX || (defined(__GNUC__) && __GNUC__) #define MAKE_INT64(I) (I ## LL) #define MAKE_UINT64(I) (I ## LLU) #elif M_MIL_USE_WINDOWS #define MAKE_INT64(I) (I##I64) #define MAKE_UINT64(I) (I##Ui64) #else #define MAKE_INT64(I) (I) #define MAKE_UINT64(I) (I) #endif #if !M_MIL_USE_64BIT #define M_PTR_TO_DOUBLE(ptr) ((double) MPtrToInt((void*)(ptr))) #define M_STRING_TO_DOUBLE(ptr) M_PTR_TO_DOUBLE((ptr)) #define M_PTR_TO_MIL_INT(val) ((MIL_INT)MPtrToInt((void*)(val))) #else #define M_PTR_TO_DOUBLE(ptr) (MIL_INT64)(ptr) #define M_STRING_TO_DOUBLE(ptr) M_PTR_TO_DOUBLE(ptr) #define M_PTR_TO_MIL_INT(val) ((MIL_INT)((MIL_UINT)val)) #endif //!M_MIL_USE_64BIT #define M_DOUBLE_TO_PTR(val) ((void *)((MIL_UINT)val)) #define M_CLIENT_ASCII_ENCODING MAKE_INT64(0x0001000000000000) #define M_CLIENT_TEXT_ENCODING MAKE_INT64(0x0001000000000000) #if M_MIL_USE_UNICODE && !M_MIL_UNICODE_API #define M_CLIENT_ENCODING M_CLIENT_ASCII_ENCODING #else #define M_CLIENT_ENCODING 0 #endif #define M_CLIENT_ASCII_ENCODING_SET(X) ((((X) & M_CLIENT_TEXT_ENCODING) == M_CLIENT_ASCII_ENCODING) ? true : false) #define M_STRIP_CLIENT_TEXT_ENCODING(X) ((X) & ~M_CLIENT_TEXT_ENCODING) #define M_STRING_SIZE MAKE_INT64(0x0000050000000000) #define M_FUNC_INQUIRE_STRING_START 47 #define M_APP_INQUIRE_OBJ_STRING_STA M_FUNC_INQUIRE_STRING_START // 47 #define M_OBJECT_NAME ((M_FUNC_INQUIRE_STRING_START+0)|M_CLIENT_ENCODING) //47 #define M_OBJECT_NAME_SIZE (M_STRING_SIZE + M_OBJECT_NAME) #define M_OBJ_HOOK_RANGE_START 0x000000800L #define M_INVALID -1 #define M_DEFAULT 0x10000000L #define M_UNHOOK 0x04000000L #define M_NULL_ERROR 0L #define M_NO_ERROR 0L #define M_NO_TIMEOUT 0x00000800 #define M_BUFFER_TOO_SMALL 1 #define M_SUCCESS 0x00000000L // Already defined in milreg.h, milcolor.h #define M_CURRENT 0x00000002L #define M_CURRENT_FCT 0x00030000L #define M_CURRENT_SUB_NB 0x00000004L #define M_CURRENT_SUB 0x00050000L #define M_CURRENT_SUB_1 0x00050000L #define M_CURRENT_SUB_2 0x00060000L #define M_CURRENT_SUB_3 0x00070000L #define M_GLOBAL 0x00000008L #define M_GLOBAL_FCT 0x00090000L #define M_GLOBAL_SUB_NB 0x000A0000L #define M_GLOBAL_SUB 0x000B0000L #define M_GLOBAL_SUB_1 0x000B0000L #define M_GLOBAL_SUB_2 0x000C0000L #define M_GLOBAL_SUB_3 0x000D0000L #define M_PARAM_NB 0x00140000L #define M_BUFFER_ID 0x00160000L #define M_REGION_OFFSET_X 0x00410000L #define M_REGION_OFFSET_Y 0x00420000L #define M_REGION_SIZE_X 0x00430000L #define M_REGION_SIZE_Y 0x00480000L #define M_OBJECT_ID 0x001B0000L #define M_PARAM_VALUE 0x08000000L #define M_EXTENDED_PARAM_TYPE 0x10000000L #define M_PARAM_ATTRIBUTES 0x04000000L #define M_PARAM_SIZE 0x01000000L #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION #if (M_MIL_USE_UNICODE && !M_MIL_UNICODE_API ) #define M_MESSAGE (0x20000000L|M_CLIENT_ERROR_ASCII_MODE) #else #define M_MESSAGE 0x20000000L #endif #else #define M_MESSAGE (0x20000000L | M_CLIENT_ENCODING) #endif #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION #define M_OLD_OBJECT_PUBLISH_WEB 34L #endif #define M_SILENT 0x00000100L #define M_ERROR 0x40000000L #define M_ERROR_CURRENT (M_ERROR|M_CURRENT) #define M_CONNECTING 1L #define M_DISCONNECT 2L #define M_CONNECT 3L #define M_TIMEOUT 2077L #define M_UPDATE_WEB 3187L #define M_UPDATE_END M_OBJ_HOOK_RANGE_START+8L #define M_OBJECT_FREE 0x00010000L #define M_OBJECT_PUBLISH_WEB 38L #define M_COMPONENT_ADD 0x00040000 #define M_COMPONENT_REMOVE M_OBJ_HOOK_RANGE_START+10L #define M_GET_END 32L #define M_READ_END 11L #define M_UPDATE_INTERACTIVE_STATE 84L #define M_ERROR_MESSAGE_SIZE 320L #define M_INTERNAL_FORMAT 0x00003F00L #define M_INTERNAL_FORMAT_SHIFT 8L #define M_INTERNAL_COMPLETE_FORMAT 0x7FFFFF80L #define M_ANY_INTERNAL_FORMAT (0 << M_INTERNAL_FORMAT_SHIFT) #define M_BGRX32 (17 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color BGRX 8.8.8.8 format #define M_BGR32 M_BGRX32 #define M_APP_INQUIRE_SYS_START 15000L #define M_CLOSE_CONNECTION (M_APP_INQUIRE_SYS_START+504L) #define M_WEB_PUBLISHED_FORMAT 3206L // Inquires #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION #define M_OLD_WEB_PUBLISH 14L #define M_OLD_WEB_PUBLISHED_LIST 4 #define M_OLD_WEB_PUBLISHED_LIST_SIZE 5 #define M_OLD_WEB_PUBLISHED_NAME (6 | M_CLIENT_ENCODING) #endif #define M_WEB_PUBLISH 244 #define M_WEB_PUBLISHED_LIST 12 #define M_WEB_PUBLISHED_LIST_SIZE 17 #define M_WEB_PUBLISHED_NAME (7 | M_CLIENT_ENCODING) #define M_TYPE 1008L #define M_SIZE_X 1536L #define M_SIZE_Y 1537L #define M_SIZE_BYTE 5061L #define M_MESSAGE_LENGTH 16L #define M_INTERACTIVE M_NULL // Object Type #define M_APPLICATION 0x00000200L #define M_DISPLAY 0x00200000L #define M_LUT 0x00040000L #define M_KERNEL 0x00400000L #define M_EVENT 0x00000080L #define M_STRUCT_ELEMENT 0x08000000L #define M_ARRAY 0x00000040L #define M_GROUP MAKE_INT64(0x0000400000000000) #define M_IMAGE 0x00000004L #define M_MODIFIED_BUFFER 0x40000000L #define M_BUFFER_ID 0x00160000L #define M_OBJECT_ID 0x001B0000L #define M_GROUP_ID 18L #define M_MESSAGE_MAILBOX MAKE_INT64(0x0000800000000000) #define M_FUNC_INQUIRE_STRING_START 47 #define M_OBJECT_NAME ((M_FUNC_INQUIRE_STRING_START+0)|M_CLIENT_ENCODING) #define M_OBJECT_NAME_SIZE (M_STRING_SIZE + M_OBJECT_NAME) #define M_OBJECT_TYPE 136 #define M_COMPONENT_COUNT 17L #define M_WEB_CLIENT_INDEX 219L #define M_WEB_CLIENT_TYPE 220L #define M_READ_WRITE 0x00000010L #define M_READ_ONLY 0x00000020L #define M_NO 0L #define M_COMPONENT_ID_LIST M_COMPONENT_LIST #define M_COMPONENT_LIST 0x00100000 #define M_ARRAY_ID_MASK 0x000FFFFF #define M_ARRAY_ID_SIZE(N) (N & M_ARRAY_ID_MASK) #define M_EXTRACT_ARRAY_ID_SIZE(N) ((MIL_INT)(N & M_ARRAY_ID_MASK)) #define M_HOST_ADDRESS 0x00010000L #define M_IMAGE_HOST_ADDRESS 0x00010000L // DataType #define M_SIGN 1014L #define M_SIZE_BAND 1005L #define M_UNSIGNED 0x00000000L #define M_SIGNED 0x08000000L #define M_FLOAT (0x40000000L | M_SIGNED) #define M_USER_DATA_PTR 0x00000001 #define M_MESSAGE_PTR 101 #define M_MOUSE_LEFT_BUTTON_DOWN 56L #define M_MOUSE_RIGHT_BUTTON_DOWN 57L #define M_MOUSE_LEFT_BUTTON_UP 58L #define M_MOUSE_RIGHT_BUTTON_UP 59L #define M_MOUSE_MOVE 64L #define M_MOUSE_WHEEL 65L #define M_MOUSE_MIDDLE_BUTTON_DOWN 66L #define M_MOUSE_MIDDLE_BUTTON_UP 67L #define M_KEY_DOWN 68L #define M_KEY_UP 69L #define M_MOUSE_LEAVE 85L #define M_KEY_SHIFT 0x00010000 #define M_KEY_CTRL 0x00020000 #define M_KEY_ALT 0x00040000 #define M_MOUSE_LEFT_BUTTON 0x00080000 #define M_MOUSE_MIDDLE_BUTTON 0x00100000 #define M_MOUSE_RIGHT_BUTTON 0x00200000 #define M_KEY_WIN 0x00400000 #define M_MOUSE_POSITION_X 1L #define M_MOUSE_POSITION_Y 2L #define M_ANNOTATIONS_DC 3L #define M_COMBINATION_KEYS 7L #define M_EVENT_VALUE 8L #define M_MOUSE_WHEEL_VALUE M_EVENT_VALUE #define M_KEY_VALUE M_EVENT_VALUE #define M_FRAMES_PER_SECOND_DEFAULT 10 #define M_ENABLE -9997L #define M_DISABLE -9999L #define M_NOW 29L #define M_PRINT_DISABLE 0L #define M_PRINT_ENABLE 1L #define M_FRAME_RATE 6002L #define M_PIXEL_FORMAT 3032L //M_LOCAL_DISPLAY_CONTROL #define M_DATA_FORMAT 1041L #define M_PITCH 0x20000000L #define M_PITCH_BYTE 0x08000000L #define M_INTERNAL_FORMAT_SHIFT 8L #define M_MONO8 (2 << M_INTERNAL_FORMAT_SHIFT) // Force 8 bits pixels in monochrome format #define M_RGBX32 (9 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color RGBX 8.8.8.8 format #define M_RGB32 M_RGBX32 #define WEB_TIMEOUT 100 #define WEB_MAX_LOOP_WAIT 20 // MIL Web application Type #define M_WEB_APPLICATION 1L #define M_STANDALONE_APPLICATION 2L typedef MIL_INT (MFTYPE* MIL_HOOK_FUNCTION_PTR)(MIL_INT HookType, MIL_ID EventId, void* UserData); #ifdef __cplusplus extern "C" { #endif #if M_MIL_USE_UNICODE void MFTYPE MilWebMappOpenConnectionW(MIL_CONST_TEXT_PTR ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr); void MFTYPE MilWebMappOpenConnectionA(const char* ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr); #if M_MIL_UNICODE_API #define MilWebMappOpenConnection MilWebMappOpenConnectionW #else #define MilWebMappOpenConnection MilWebMappOpenConnectionA #endif #else void MFTYPE MilWebMappOpenConnection(MIL_CONST_TEXT_PTR ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr); #endif void MFTYPE MilWebMappCloseConnection(MIL_ID ContextAppId); MIL_INT MFTYPE MilWebMappInquireConnection(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, void* UserVarPtr); MIL_INT MFTYPE MilWebMappInquire(MIL_ID ContextAppId, MIL_INT64 InquireType, void* ResultPtr); void MFTYPE MilWebMappControl(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT ControlFlag); void MFTYPE MilWebMappHookFunction(MIL_ID ContextAppId, MIL_INT HookType, MIL_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); MIL_INT MFTYPE MilWebMappGetHookInfo(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void* UserPtr); MIL_INT MFTYPE MilWebMdispInquire(MIL_ID DisplayId, MIL_INT64 InquireType, void* ResultPtr); void MFTYPE MilWebMdispControl(MIL_ID DisplayId, MIL_INT64 ControlType, MIL_DOUBLE ControlFlag); void MFTYPE MilWebMdispMessage( MIL_ID DisplayId, MIL_INT EventType, MIL_INT MousePositionX,MIL_INT MousePositionY, MIL_INT EventValue, MIL_INT CombinationKeys, MIL_INT UserValue); void MFTYPE MilWebMdispHookFunction(MIL_ID ObjectId, MIL_INT HookType, MIL_HOOK_FUNCTION_PTR HookHandler, void *UserDataPtr); MIL_INT MFTYPE MilWebMdispGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); void MFTYPE MilWebMdispZoom(MIL_ID DisplayId, MIL_DOUBLE XFactor, MIL_DOUBLE YFactor); void MFTYPE MilWebMdispPan(MIL_ID DisplayId, MIL_DOUBLE XOffset, MIL_DOUBLE YOffset); MIL_INT MFTYPE MilWebMbufInquire(MIL_ID BufId, MIL_INT64 InquireType, void* ResultPtr); void MFTYPE MilWebMbufControl(MIL_ID BufId, MIL_INT64 ControlType, MIL_DOUBLE ControlFlag); MIL_INT MFTYPE MilWebMbufGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserPtr); void MFTYPE MilWebMbufGet(MIL_ID SrcBufId, void* BufferPtr); MIL_INT MFTYPE MilWebMobjInquire(MIL_ID ObjectId, MIL_INT64 InquireType, void* ResultPtr); void MFTYPE MilWebMobjControl(MIL_ID ObjId, MIL_INT64 ControlType, MIL_DOUBLE ControlFlag); void MFTYPE MilWebMobjHookFunction(MIL_ID ObjectId, MIL_INT HookType, MIL_HOOK_FUNCTION_PTR HookHandler, void *UserDataPtr); MIL_INT MFTYPE MilWebMobjGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); MIL_INT64 MFTYPE MilWebMobjMessageRead(MIL_ID MessageId, void* MessagePtr, MIL_INT64 MessageInSize, MIL_INT64 *MessageOutSizePtr, MIL_INT64 *MessageTagPtr, MIL_INT64 *StatusPtr, MIL_INT64 OperationFlag); void MFTYPE MilWebMobjMessageWrite(MIL_ID MessageId, const void* MessagePtr, MIL_INT64 MessageSize, MIL_INT64 MessageTag, MIL_INT64 OperationFlag); MIL_UINT MFTYPE MPtrToInt(void *pPtr); #ifdef __cplusplus } #endif #ifdef __cplusplus namespace MilWeb { #if M_MIL_USE_UNICODE #if M_MIL_UNICODE_API inline void MappOpenConnection(MIL_CONST_TEXT_PTR ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr) { MilWebMappOpenConnectionW(ConnectionDescriptor, InitFlag, ControlFlag, RemoteContextAppIdPtr); } #else inline void MappOpenConnection(const char* ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr) { MilWebMappOpenConnectionA(ConnectionDescriptor, InitFlag, ControlFlag, RemoteContextAppIdPtr); } #endif #else inline void MappOpenConnection(MIL_CONST_TEXT_PTR ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr) { MilWebMappOpenConnection(ConnectionDescriptor, InitFlag, ControlFlag, RemoteContextAppIdPtr); } #endif inline void MappCloseConnection(MIL_ID ContextAppId) { MilWebMappCloseConnection(ContextAppId); } inline MIL_INT MappInquireConnection(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, void* UserVarPtr) { return MilWebMappInquireConnection(ContextAppId, InquireType, ControlFlag, ExtraFlag, UserVarPtr); } inline MIL_INT MappInquireConnection(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR ControlFlag, MIL_INT64 ExtraFlag, void* UserVarPtr) { return MilWebMappInquireConnection(ContextAppId, InquireType, M_PTR_TO_MIL_INT(ControlFlag), ExtraFlag, UserVarPtr); } inline MIL_INT MappInquire(MIL_ID ContextAppId, MIL_INT64 InquireType, void* ResultPtr) { return MilWebMappInquire(ContextAppId, InquireType, ResultPtr); } inline void MappControl(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT ControlValue) { MilWebMappControl(ContextAppId, ControlType, ControlValue); } inline void MappHookFunction(MIL_ID ContextAppId, MIL_INT HookType, MIL_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr) { MilWebMappHookFunction(ContextAppId, HookType, HookHandlerPtr, UserDataPtr); } inline MIL_INT MappGetHookInfo(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr) { return MilWebMappGetHookInfo(ContextAppId,EventId, InfoType, UserVarPtr); } inline MIL_INT MdispInquire(MIL_ID DisplayId, MIL_INT64 InquireType, void* UserVarPtr) { return MilWebMdispInquire(DisplayId, InquireType, UserVarPtr); } inline void MdispControl(MIL_ID DisplayId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MilWebMdispControl(DisplayId, ControlType, ControlValue); } inline void MdispMessage( MIL_ID DisplayId, MIL_INT EventType, MIL_INT MousePositionX,MIL_INT MousePositionY, MIL_INT EventValue, MIL_INT CombinationKeys, MIL_INT UserValue) { MilWebMdispMessage(DisplayId, EventType, MousePositionX, MousePositionY, EventValue, CombinationKeys, UserValue); } inline void MdispHookFunction(MIL_ID ObjectId, MIL_INT HookType, MIL_HOOK_FUNCTION_PTR HookHandler, void *UserDataPtr) { MilWebMdispHookFunction(ObjectId, HookType, HookHandler, UserDataPtr); } inline MIL_INT MdispGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr) { return MilWebMdispGetHookInfo(EventId, InfoType, UserVarPtr); } inline void MdispZoom(MIL_ID DisplayId, MIL_DOUBLE XFactor, MIL_DOUBLE YFactor) { MilWebMdispZoom(DisplayId, XFactor, YFactor); } inline void MdispPan(MIL_ID DisplayId, MIL_DOUBLE XOffset, MIL_DOUBLE YOffset) { MilWebMdispPan(DisplayId, XOffset, YOffset); } inline MIL_INT MbufInquire(MIL_ID BufId, MIL_INT64 InquireType, void* ResultPtr) { return MilWebMbufInquire(BufId, InquireType, ResultPtr); } inline MIL_INT MbufGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserPtr) { return MilWebMbufGetHookInfo(EventId, InfoType, UserPtr); } inline void MbufGet(MIL_ID SrcBufId, void* BufferPtr) { MilWebMbufGet(SrcBufId, BufferPtr); } inline void MbufControl(MIL_ID BufId, MIL_INT64 ControlType, MIL_DOUBLE ControlFlag) { MilWebMbufControl(BufId, ControlType, ControlFlag); } inline MIL_INT MobjInquire(MIL_ID ObjId, MIL_INT64 InquireType, void* ResultPtr) { return MilWebMobjInquire(ObjId, InquireType, ResultPtr); } inline void MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlFlag) { MilWebMobjControl(ObjectId, ControlType, ControlFlag); } inline void MobjHookFunction(MIL_ID ObjectId, MIL_INT HookType, MIL_HOOK_FUNCTION_PTR HookHandler, void *UserDataPtr) { MilWebMobjHookFunction(ObjectId, HookType, HookHandler, UserDataPtr); } inline MIL_INT MobjGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr) { return MilWebMobjGetHookInfo(EventId, InfoType, UserVarPtr); } inline MIL_INT64 MobjMessageRead(MIL_ID MessageId, void* MessagePtr, MIL_INT64 MessageInSize, MIL_INT64 *MessageOutSizePtr, MIL_INT64 *MessageTagPtr, MIL_INT64 *StatusPtr, MIL_INT64 OperationFlag) { return MilWebMobjMessageRead(MessageId, MessagePtr, MessageInSize, MessageOutSizePtr, MessageTagPtr, StatusPtr, OperationFlag); } inline void MobjMessageWrite(MIL_ID MessageId, const void* MessagePtr, MIL_INT64 MessageSize, MIL_INT64 MessageTag, MIL_INT64 OperationFlag) { MilWebMobjMessageWrite(MessageId, MessagePtr, MessageSize, MessageTag, OperationFlag); } } #endif // __cplusplus #endif //__MIL_WEB_CLIENT_H