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.
492 lines
20 KiB
492 lines
20 KiB
# -*- coding: utf-8 -*-
|
|
#
|
|
# WORD_SIZE is: 8
|
|
# POINTER_SIZE is: 8
|
|
# LONGDOUBLE_SIZE is: 16
|
|
#
|
|
import ctypes, sys, os
|
|
|
|
# if local wordsize is same as target, keep ctypes pointer function.
|
|
if ctypes.sizeof(ctypes.c_void_p) == 8:
|
|
POINTER_T = ctypes.POINTER
|
|
else:
|
|
# required to access _ctypes
|
|
import _ctypes
|
|
# Emulate a pointer class using the approriate c_int32/c_int64 type
|
|
# The new class should have :
|
|
# ['__module__', 'from_param', '_type_', '__dict__', '__weakref__', '__doc__']
|
|
# but the class should be submitted to a unique instance for each base type
|
|
# to that if A == B, POINTER_T(A) == POINTER_T(B)
|
|
ctypes._pointer_t_type_cache = {}
|
|
def POINTER_T(pointee):
|
|
# a pointer should have the same length as LONG
|
|
fake_ptr_base_type = ctypes.c_uint64
|
|
# specific case for c_void_p
|
|
if pointee is None: # VOID pointer type. c_void_p.
|
|
pointee = type(None) # ctypes.c_void_p # ctypes.c_ulong
|
|
clsname = 'c_void'
|
|
else:
|
|
clsname = pointee.__name__
|
|
if clsname in ctypes._pointer_t_type_cache:
|
|
return ctypes._pointer_t_type_cache[clsname]
|
|
# make template
|
|
class _T(_ctypes._SimpleCData,):
|
|
_type_ = 'L'
|
|
_subtype_ = pointee
|
|
def _sub_addr_(self):
|
|
return self.value
|
|
def __repr__(self):
|
|
return '%s(%d)'%(clsname, self.value)
|
|
def contents(self):
|
|
raise TypeError('This is not a ctypes pointer.')
|
|
def __init__(self, **args):
|
|
raise TypeError('This is not a ctypes pointer. It is not instanciable.')
|
|
_class = type('LP_%d_%s'%(8, clsname), (_T,),{})
|
|
ctypes._pointer_t_type_cache[clsname] = _class
|
|
return _class
|
|
|
|
def fptr_from_param(cls, obj):
|
|
if obj is None:
|
|
return None # return a NULL pointer
|
|
from ctypes import _CFuncPtr
|
|
return _CFuncPtr.from_param(obj)
|
|
|
|
|
|
c_int128 = ctypes.c_ubyte*16
|
|
c_uint128 = c_int128
|
|
void = None
|
|
if ctypes.sizeof(ctypes.c_longdouble) == 16:
|
|
c_long_double_t = ctypes.c_longdouble
|
|
else:
|
|
c_long_double_t = ctypes.c_ubyte*16
|
|
|
|
from ctypes.util import find_library
|
|
|
|
|
|
_libraries = {}
|
|
if sys.platform.startswith('linux'):
|
|
trax_library = 'libtrax.so'
|
|
elif sys.platform in ['darwin']:
|
|
trax_library = 'libtrax.dylib'
|
|
elif sys.platform in ['win32']:
|
|
trax_library = 'trax.dll'
|
|
else:
|
|
raise RuntimeError('Unsupported platform')
|
|
|
|
# Support internal trax library in case of Wheel packages
|
|
trax_library_internal = os.path.join(os.path.dirname(__file__), trax_library)
|
|
|
|
if os.path.isfile(trax_library_internal):
|
|
trax_library = trax_library_internal
|
|
|
|
_traxlib = ctypes.CDLL(trax_library)
|
|
|
|
class struct_trax_image(ctypes.Structure):
|
|
_pack_ = True # source:False
|
|
_fields_ = [
|
|
('type', ctypes.c_int16),
|
|
('PADDING_0', ctypes.c_ubyte * 2),
|
|
('width', ctypes.c_int32),
|
|
('height', ctypes.c_int32),
|
|
('format', ctypes.c_int32),
|
|
('data', POINTER_T(ctypes.c_char)),
|
|
]
|
|
|
|
trax_image = struct_trax_image
|
|
trax_region = None
|
|
class struct_trax_properties(ctypes.Structure):
|
|
pass
|
|
|
|
trax_properties = struct_trax_properties
|
|
class struct_trax_bounds(ctypes.Structure):
|
|
_pack_ = True # source:False
|
|
_fields_ = [
|
|
('top', ctypes.c_float),
|
|
('bottom', ctypes.c_float),
|
|
('left', ctypes.c_float),
|
|
('right', ctypes.c_float),
|
|
]
|
|
|
|
trax_bounds = struct_trax_bounds
|
|
trax_logger = ctypes.CFUNCTYPE(None, ctypes.c_char_p, ctypes.c_int32, ctypes.c_void_p)
|
|
trax_enumerator = ctypes.CFUNCTYPE(None, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_void_p)
|
|
|
|
trax_logger.from_param = classmethod(fptr_from_param)
|
|
trax_enumerator.from_param = classmethod(fptr_from_param)
|
|
|
|
class struct_trax_logging(ctypes.Structure):
|
|
pass
|
|
|
|
struct_trax_logging._pack_ = True # source:False
|
|
struct_trax_logging._fields_ = [
|
|
('flags', ctypes.c_int32),
|
|
('PADDING_0', ctypes.c_ubyte * 4),
|
|
('callback', POINTER_T(trax_logger)),
|
|
('data', ctypes.c_void_p),
|
|
]
|
|
|
|
trax_logging = struct_trax_logging
|
|
class struct_trax_metadata(ctypes.Structure):
|
|
_pack_ = True # source:False
|
|
_fields_ = [
|
|
('format_region', ctypes.c_int32),
|
|
('format_image', ctypes.c_int32),
|
|
('channels', ctypes.c_int32),
|
|
('PADDING_0', ctypes.c_ubyte * 4),
|
|
('tracker_name', ctypes.c_char_p),
|
|
('tracker_description', ctypes.c_char_p),
|
|
('tracker_family', ctypes.c_char_p),
|
|
('custom', POINTER_T(struct_trax_properties)),
|
|
]
|
|
|
|
trax_metadata = struct_trax_metadata
|
|
trax_configuration = struct_trax_metadata
|
|
class struct_trax_handle(ctypes.Structure):
|
|
_pack_ = True # source:False
|
|
_fields_ = [
|
|
('flags', ctypes.c_int32),
|
|
('version', ctypes.c_int32),
|
|
('stream', ctypes.c_void_p),
|
|
('logging', trax_logging),
|
|
('metadata', ctypes.POINTER(struct_trax_metadata)),
|
|
]
|
|
|
|
trax_handle = struct_trax_handle
|
|
class struct_trax_image_list(ctypes.Structure):
|
|
_pack_ = True # source:False
|
|
_fields_ = [
|
|
('images', ctypes.POINTER(struct_trax_image) * 3),
|
|
]
|
|
|
|
trax_image_p = POINTER_T(struct_trax_image)
|
|
trax_image_list_p = POINTER_T(struct_trax_image_list)
|
|
trax_region_p = ctypes.c_void_p
|
|
trax_properties_p = POINTER_T(struct_trax_properties)
|
|
|
|
trax_image_list = struct_trax_image_list
|
|
trax_no_log = (struct_trax_logging).in_dll(_traxlib, 'trax_no_log')
|
|
trax_no_bounds = (struct_trax_bounds).in_dll(_traxlib, 'trax_no_bounds')
|
|
|
|
trax_version = _traxlib.trax_version
|
|
trax_version.restype = ctypes.c_char_p
|
|
trax_version.argtypes = []
|
|
|
|
trax_metadata_create = _traxlib.trax_metadata_create
|
|
trax_metadata_create.restype = ctypes.POINTER(struct_trax_metadata)
|
|
trax_metadata_create.argtypes = [ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p]
|
|
|
|
trax_metadata_release = _traxlib.trax_metadata_release
|
|
trax_metadata_release.restype = None
|
|
trax_metadata_release.argtypes = [POINTER_T(POINTER_T(struct_trax_metadata))]
|
|
|
|
trax_logger_setup = _traxlib.trax_logger_setup
|
|
trax_logger_setup.restype = trax_logging
|
|
trax_logger_setup.argtypes = [trax_logger, ctypes.c_void_p, ctypes.c_int32]
|
|
|
|
trax_client_setup_file = _traxlib.trax_client_setup_file
|
|
trax_client_setup_file.restype = POINTER_T(struct_trax_handle)
|
|
trax_client_setup_file.argtypes = [ctypes.c_int32, ctypes.c_int32, trax_logging]
|
|
|
|
trax_client_setup_socket = _traxlib.trax_client_setup_socket
|
|
trax_client_setup_socket.restype = POINTER_T(struct_trax_handle)
|
|
trax_client_setup_socket.argtypes = [ctypes.c_int32, ctypes.c_int32, trax_logging]
|
|
|
|
trax_client_wait = _traxlib.trax_client_wait
|
|
trax_client_wait.restype = ctypes.c_int32
|
|
trax_client_wait.argtypes = [POINTER_T(struct_trax_handle), POINTER_T(ctypes.c_void_p), POINTER_T(struct_trax_properties)]
|
|
|
|
trax_client_initialize = _traxlib.trax_client_initialize
|
|
trax_client_initialize.restype = ctypes.c_int32
|
|
trax_client_initialize.argtypes = [POINTER_T(struct_trax_handle), POINTER_T(struct_trax_image_list), ctypes.c_void_p, POINTER_T(struct_trax_properties)]
|
|
|
|
trax_client_frame = _traxlib.trax_client_frame
|
|
trax_client_frame.restype = ctypes.c_int32
|
|
trax_client_frame.argtypes = [POINTER_T(struct_trax_handle), POINTER_T(struct_trax_image_list), POINTER_T(struct_trax_properties)]
|
|
|
|
trax_server_setup = _traxlib.trax_server_setup
|
|
trax_server_setup.restype = POINTER_T(struct_trax_handle)
|
|
trax_server_setup.argtypes = [POINTER_T(struct_trax_metadata), trax_logging]
|
|
|
|
trax_server_setup_file = _traxlib.trax_server_setup_file
|
|
trax_server_setup_file.restype = POINTER_T(struct_trax_handle)
|
|
trax_server_setup_file.argtypes = [POINTER_T(struct_trax_metadata), ctypes.c_int32, ctypes.c_int32, trax_logging]
|
|
|
|
trax_server_wait = _traxlib.trax_server_wait
|
|
trax_server_wait.restype = ctypes.c_int32
|
|
trax_server_wait.argtypes = [POINTER_T(struct_trax_handle), POINTER_T(POINTER_T(struct_trax_image_list)), POINTER_T(ctypes.c_void_p), POINTER_T(struct_trax_properties)]
|
|
|
|
trax_server_reply = _traxlib.trax_server_reply
|
|
trax_server_reply.restype = ctypes.c_int32
|
|
trax_server_reply.argtypes = [POINTER_T(struct_trax_handle), ctypes.c_void_p, POINTER_T(struct_trax_properties)]
|
|
|
|
trax_get_error = _traxlib.trax_get_error
|
|
trax_get_error.restype = ctypes.c_char_p
|
|
trax_get_error.argtypes = [POINTER_T(struct_trax_handle)]
|
|
|
|
trax_is_alive = _traxlib.trax_is_alive
|
|
trax_is_alive.restype = ctypes.c_int32
|
|
trax_is_alive.argtypes = [POINTER_T(struct_trax_handle)]
|
|
|
|
trax_terminate = _traxlib.trax_terminate
|
|
trax_terminate.restype = ctypes.c_int32
|
|
trax_terminate.argtypes = [POINTER_T(struct_trax_handle), ctypes.c_char_p]
|
|
|
|
trax_cleanup = _traxlib.trax_cleanup
|
|
trax_cleanup.restype = ctypes.c_int32
|
|
trax_cleanup.argtypes = [POINTER_T(POINTER_T(struct_trax_handle))]
|
|
|
|
trax_set_parameter = _traxlib.trax_set_parameter
|
|
trax_set_parameter.restype = ctypes.c_int32
|
|
trax_set_parameter.argtypes = [POINTER_T(struct_trax_handle), ctypes.c_int32, ctypes.c_int32]
|
|
|
|
trax_get_parameter = _traxlib.trax_get_parameter
|
|
trax_get_parameter.restype = ctypes.c_int32
|
|
trax_get_parameter.argtypes = [POINTER_T(struct_trax_handle), ctypes.c_int32, POINTER_T(ctypes.c_int32)]
|
|
|
|
trax_image_release = _traxlib.trax_image_release
|
|
trax_image_release.restype = None
|
|
trax_image_release.argtypes = [POINTER_T(POINTER_T(struct_trax_image))]
|
|
|
|
trax_image_create_path = _traxlib.trax_image_create_path
|
|
trax_image_create_path.restype = POINTER_T(struct_trax_image)
|
|
trax_image_create_path.argtypes = [ctypes.c_char_p]
|
|
|
|
trax_image_create_url = _traxlib.trax_image_create_url
|
|
trax_image_create_url.restype = POINTER_T(struct_trax_image)
|
|
trax_image_create_url.argtypes = [ctypes.c_char_p]
|
|
|
|
trax_image_create_memory = _traxlib.trax_image_create_memory
|
|
trax_image_create_memory.restype = POINTER_T(struct_trax_image)
|
|
trax_image_create_memory.argtypes = [ctypes.c_int32, ctypes.c_int32, ctypes.c_int32]
|
|
|
|
trax_image_create_buffer = _traxlib.trax_image_create_buffer
|
|
trax_image_create_buffer.restype = POINTER_T(struct_trax_image)
|
|
trax_image_create_buffer.argtypes = [ctypes.c_int32, ctypes.c_char_p]
|
|
|
|
trax_image_get_type = _traxlib.trax_image_get_type
|
|
trax_image_get_type.restype = ctypes.c_int32
|
|
trax_image_get_type.argtypes = [POINTER_T(struct_trax_image)]
|
|
|
|
trax_image_get_path = _traxlib.trax_image_get_path
|
|
trax_image_get_path.restype = ctypes.c_char_p
|
|
trax_image_get_path.argtypes = [POINTER_T(struct_trax_image)]
|
|
|
|
trax_image_get_url = _traxlib.trax_image_get_url
|
|
trax_image_get_url.restype = ctypes.c_char_p
|
|
trax_image_get_url.argtypes = [POINTER_T(struct_trax_image)]
|
|
|
|
trax_image_get_memory_header = _traxlib.trax_image_get_memory_header
|
|
trax_image_get_memory_header.restype = None
|
|
trax_image_get_memory_header.argtypes = [POINTER_T(struct_trax_image), POINTER_T(ctypes.c_int32), POINTER_T(ctypes.c_int32), POINTER_T(ctypes.c_int32)]
|
|
|
|
trax_image_write_memory_row = _traxlib.trax_image_write_memory_row
|
|
trax_image_write_memory_row.restype = POINTER_T(ctypes.c_char)
|
|
trax_image_write_memory_row.argtypes = [POINTER_T(struct_trax_image), ctypes.c_int32]
|
|
|
|
trax_image_get_memory_row = _traxlib.trax_image_get_memory_row
|
|
trax_image_get_memory_row.restype = POINTER_T(ctypes.c_char)
|
|
trax_image_get_memory_row.argtypes = [POINTER_T(struct_trax_image), ctypes.c_int32]
|
|
|
|
trax_image_get_buffer = _traxlib.trax_image_get_buffer
|
|
trax_image_get_buffer.restype = POINTER_T(ctypes.c_char)
|
|
trax_image_get_buffer.argtypes = [POINTER_T(struct_trax_image), POINTER_T(ctypes.c_int32), POINTER_T(ctypes.c_int32)]
|
|
|
|
trax_region_release = _traxlib.trax_region_release
|
|
trax_region_release.restype = None
|
|
trax_region_release.argtypes = [POINTER_T(ctypes.c_void_p)]
|
|
|
|
trax_region_get_type = _traxlib.trax_region_get_type
|
|
trax_region_get_type.restype = ctypes.c_int32
|
|
trax_region_get_type.argtypes = [ctypes.c_void_p]
|
|
|
|
trax_region_create_special = _traxlib.trax_region_create_special
|
|
trax_region_create_special.restype = ctypes.c_void_p
|
|
trax_region_create_special.argtypes = [ctypes.c_int32]
|
|
|
|
trax_region_set_special = _traxlib.trax_region_set_special
|
|
trax_region_set_special.restype = None
|
|
trax_region_set_special.argtypes = [ctypes.c_void_p, ctypes.c_int32]
|
|
|
|
trax_region_get_special = _traxlib.trax_region_get_special
|
|
trax_region_get_special.restype = ctypes.c_int32
|
|
trax_region_get_special.argtypes = [ctypes.c_void_p]
|
|
|
|
trax_region_create_rectangle = _traxlib.trax_region_create_rectangle
|
|
trax_region_create_rectangle.restype = ctypes.c_void_p
|
|
trax_region_create_rectangle.argtypes = [ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float]
|
|
|
|
trax_region_set_rectangle = _traxlib.trax_region_set_rectangle
|
|
trax_region_set_rectangle.restype = None
|
|
trax_region_set_rectangle.argtypes = [ctypes.c_void_p, ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float]
|
|
|
|
trax_region_get_rectangle = _traxlib.trax_region_get_rectangle
|
|
trax_region_get_rectangle.restype = None
|
|
trax_region_get_rectangle.argtypes = [ctypes.c_void_p, POINTER_T(ctypes.c_float), POINTER_T(ctypes.c_float), POINTER_T(ctypes.c_float), POINTER_T(ctypes.c_float)]
|
|
|
|
trax_region_create_polygon = _traxlib.trax_region_create_polygon
|
|
trax_region_create_polygon.restype = ctypes.c_void_p
|
|
trax_region_create_polygon.argtypes = [ctypes.c_int32]
|
|
|
|
trax_region_create_mask = _traxlib.trax_region_create_mask
|
|
trax_region_create_mask.restype = ctypes.c_void_p
|
|
trax_region_create_mask.argtypes = [ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_int32]
|
|
|
|
trax_region_set_polygon_point = _traxlib.trax_region_set_polygon_point
|
|
trax_region_set_polygon_point.restype = None
|
|
trax_region_set_polygon_point.argtypes = [ctypes.c_void_p, ctypes.c_int32, ctypes.c_float, ctypes.c_float]
|
|
|
|
trax_region_get_polygon_point = _traxlib.trax_region_get_polygon_point
|
|
trax_region_get_polygon_point.restype = None
|
|
trax_region_get_polygon_point.argtypes = [ctypes.c_void_p, ctypes.c_int32, POINTER_T(ctypes.c_float), POINTER_T(ctypes.c_float)]
|
|
|
|
trax_region_get_polygon_count = _traxlib.trax_region_get_polygon_count
|
|
trax_region_get_polygon_count.restype = ctypes.c_int32
|
|
trax_region_get_polygon_count.argtypes = [ctypes.c_void_p]
|
|
|
|
trax_region_get_mask_header = _traxlib.trax_region_get_mask_header
|
|
trax_region_get_mask_header.restype = None
|
|
trax_region_get_mask_header.argtypes = [ctypes.c_void_p, POINTER_T(ctypes.c_int32), POINTER_T(ctypes.c_int32), POINTER_T(ctypes.c_int32), POINTER_T(ctypes.c_int32)]
|
|
|
|
trax_region_write_mask_row = _traxlib.trax_region_write_mask_row
|
|
trax_region_write_mask_row.restype = POINTER_T(ctypes.c_char)
|
|
trax_region_write_mask_row.argtypes = [ctypes.c_void_p, ctypes.c_int32]
|
|
|
|
trax_region_get_mask_row = _traxlib.trax_region_get_mask_row
|
|
trax_region_get_mask_row.restype = POINTER_T(ctypes.c_char)
|
|
trax_region_get_mask_row.argtypes = [ctypes.c_void_p, ctypes.c_int32]
|
|
|
|
trax_region_bounds = _traxlib.trax_region_bounds
|
|
trax_region_bounds.restype = trax_bounds
|
|
trax_region_bounds.argtypes = [ctypes.c_void_p]
|
|
|
|
trax_region_contains = _traxlib.trax_region_contains
|
|
trax_region_contains.restype = ctypes.c_int32
|
|
trax_region_contains.argtypes = [ctypes.c_void_p, ctypes.c_float, ctypes.c_float]
|
|
|
|
trax_region_clone = _traxlib.trax_region_clone
|
|
trax_region_clone.restype = ctypes.c_void_p
|
|
trax_region_clone.argtypes = [ctypes.c_void_p]
|
|
|
|
trax_region_convert = _traxlib.trax_region_convert
|
|
trax_region_convert.restype = ctypes.c_void_p
|
|
trax_region_convert.argtypes = [ctypes.c_void_p, ctypes.c_int32]
|
|
|
|
trax_region_overlap = _traxlib.trax_region_overlap
|
|
trax_region_overlap.restype = ctypes.c_float
|
|
trax_region_overlap.argtypes = [ctypes.c_void_p, ctypes.c_void_p, trax_bounds]
|
|
|
|
trax_region_encode = _traxlib.trax_region_encode
|
|
trax_region_encode.restype = POINTER_T(ctypes.c_char)
|
|
trax_region_encode.argtypes = [ctypes.c_void_p]
|
|
|
|
trax_region_decode = _traxlib.trax_region_decode
|
|
trax_region_decode.restype = ctypes.c_void_p
|
|
trax_region_decode.argtypes = [POINTER_T(ctypes.c_char)]
|
|
|
|
trax_properties_release = _traxlib.trax_properties_release
|
|
trax_properties_release.restype = None
|
|
trax_properties_release.argtypes = [POINTER_T(POINTER_T(struct_trax_properties))]
|
|
|
|
trax_properties_clear = _traxlib.trax_properties_clear
|
|
trax_properties_clear.restype = None
|
|
trax_properties_clear.argtypes = [POINTER_T(struct_trax_properties)]
|
|
|
|
trax_properties_create = _traxlib.trax_properties_create
|
|
trax_properties_create.restype = POINTER_T(struct_trax_properties)
|
|
trax_properties_create.argtypes = []
|
|
|
|
trax_properties_set = _traxlib.trax_properties_set
|
|
trax_properties_set.restype = None
|
|
trax_properties_set.argtypes = [POINTER_T(struct_trax_properties), ctypes.c_char_p, ctypes.c_char_p]
|
|
|
|
trax_properties_set_int = _traxlib.trax_properties_set_int
|
|
trax_properties_set_int.restype = None
|
|
trax_properties_set_int.argtypes = [POINTER_T(struct_trax_properties), ctypes.c_char_p, ctypes.c_int32]
|
|
|
|
trax_properties_set_float = _traxlib.trax_properties_set_float
|
|
trax_properties_set_float.restype = None
|
|
trax_properties_set_float.argtypes = [POINTER_T(struct_trax_properties), ctypes.c_char_p, ctypes.c_float]
|
|
|
|
trax_properties_get = _traxlib.trax_properties_get
|
|
trax_properties_get.restype = ctypes.c_char_p
|
|
trax_properties_get.argtypes = [POINTER_T(struct_trax_properties), ctypes.c_char_p]
|
|
|
|
trax_properties_get_int = _traxlib.trax_properties_get_int
|
|
trax_properties_get_int.restype = ctypes.c_int32
|
|
trax_properties_get_int.argtypes = [POINTER_T(struct_trax_properties), ctypes.c_char_p, ctypes.c_int32]
|
|
|
|
trax_properties_get_float = _traxlib.trax_properties_get_float
|
|
trax_properties_get_float.restype = ctypes.c_float
|
|
trax_properties_get_float.argtypes = [POINTER_T(struct_trax_properties), ctypes.c_char_p, ctypes.c_float]
|
|
|
|
trax_properties_count = _traxlib.trax_properties_count
|
|
trax_properties_count.restype = ctypes.c_int32
|
|
trax_properties_count.argtypes = [POINTER_T(struct_trax_properties)]
|
|
|
|
trax_properties_enumerate = _traxlib.trax_properties_enumerate
|
|
trax_properties_enumerate.restype = None
|
|
trax_properties_enumerate.argtypes = [POINTER_T(struct_trax_properties), trax_enumerator, ctypes.py_object]
|
|
|
|
trax_image_list_create = _traxlib.trax_image_list_create
|
|
trax_image_list_create.restype = trax_image_list_p
|
|
trax_image_list_create.argtypes = []
|
|
|
|
trax_image_list_release = _traxlib.trax_image_list_release
|
|
trax_image_list_release.restype = None
|
|
trax_image_list_release.argtypes = [POINTER_T(trax_image_list_p)]
|
|
|
|
trax_image_list_clear = _traxlib.trax_image_list_clear
|
|
trax_image_list_clear.restype = None
|
|
trax_image_list_clear.argtypes = [trax_image_list_p]
|
|
|
|
trax_image_list_get = _traxlib.trax_image_list_get
|
|
trax_image_list_get.restype = trax_image_p
|
|
trax_image_list_get.argtypes = [trax_image_list_p, ctypes.c_int32]
|
|
|
|
trax_image_list_set = _traxlib.trax_image_list_set
|
|
trax_image_list_set.restype = None
|
|
trax_image_list_set.argtypes = [trax_image_list_p, trax_image_p, ctypes.c_int32]
|
|
|
|
__all__ = \
|
|
['struct_trax_bounds', 'struct_trax_handle',
|
|
'struct_trax_image', 'struct_trax_image_list',
|
|
'struct_trax_logging', 'struct_trax_metadata',
|
|
'struct_trax_properties', 'trax_bounds', 'trax_cleanup',
|
|
'trax_client_frame', 'trax_client_initialize',
|
|
'trax_client_setup_file', 'trax_client_setup_socket',
|
|
'trax_client_wait', 'trax_configuration', 'trax_enumerator',
|
|
'trax_get_parameter', 'trax_handle', 'trax_image',
|
|
'trax_image_create_buffer', 'trax_image_create_memory',
|
|
'trax_image_create_path', 'trax_image_create_url',
|
|
'trax_image_get_buffer', 'trax_image_get_memory_header',
|
|
'trax_image_get_memory_row', 'trax_image_get_path',
|
|
'trax_image_get_type', 'trax_image_get_url', 'trax_image_list',
|
|
'trax_image_release', 'trax_image_write_memory_row',
|
|
'trax_logger', 'trax_logger_setup',
|
|
'trax_get_error', 'trax_is_alive',
|
|
'trax_logging', 'trax_metadata', 'trax_metadata_create',
|
|
'trax_metadata_release', 'trax_no_bounds', 'trax_no_log',
|
|
'trax_properties', 'trax_properties_clear',
|
|
'trax_properties_count', 'trax_properties_create',
|
|
'trax_properties_enumerate', 'trax_properties_get',
|
|
'trax_properties_get_float', 'trax_properties_get_int',
|
|
'trax_properties_release', 'trax_properties_set',
|
|
'trax_properties_set_float', 'trax_properties_set_int',
|
|
'trax_region', 'trax_region_bounds', 'trax_region_clone',
|
|
'trax_region_contains', 'trax_region_convert',
|
|
'trax_region_create_polygon', 'trax_region_create_rectangle',
|
|
'trax_region_create_special', 'trax_region_decode',
|
|
'trax_region_encode', 'trax_region_get_polygon_count',
|
|
'trax_region_get_polygon_point', 'trax_region_get_rectangle',
|
|
'trax_region_get_special', 'trax_region_get_type',
|
|
'trax_region_overlap', 'trax_region_release',
|
|
'trax_region_set_polygon_point', 'trax_region_set_rectangle',
|
|
'trax_region_set_special', 'trax_server_reply',
|
|
'trax_server_setup', 'trax_server_setup_file', 'trax_server_wait',
|
|
'trax_set_parameter', 'trax_terminate', 'trax_version',
|
|
'trax_image_p', 'trax_region_p', 'trax_properties_p',
|
|
'trax_image_list_p', 'trax_image_list_get', 'trax_image_list_create',
|
|
'trax_image_list_set', 'trax_image_list_release', 'trax_image_list_clear',
|
|
'trax_region_create_mask', 'trax_region_get_mask_header',
|
|
'trax_region_write_mask_row', 'trax_region_get_mask_row']
|