The "iedit" Package
These routines provide a simple interface to the recursive,
heirarchical data structure supported in Karma, to define 2-dimensional
(image) editing instructions.
Library: karma
Link With: -lkarma
Functions
Prototype Functions
Functions
KImageEditList
iedit_create_list (void (*add_func) (), void (*loss_func) (),
void (*apply_func) (), void *info)
Create a managed image edit instruction list.
Parameters:
- add_func :
The function which will be called when a new instruction has
been added to the list. The prototype function is IEDIT_PROTO_add_func.
The interface to this routine is as follows:
- loss_func :
The function which will be called when an instruction has been
removed from the list. The prototype function is IEDIT_PROTO_loss_func.
- apply_func :
The function which will be called when the edit instructions
are to be applied (prior to clearing of the list). The prototype function
is IEDIT_PROTO_apply_func.
- info :
The arbitrary information pointer for the edit list. This may be
NULL.
Returns: A KImageEditList object on success, else NULL.
Multithreading Level: Unsafe
packet_desc *
iedit_get_instruction_desc ()
Get the list descriptor for image edit instructions.
Parameters:
This function takes no parameters
Returns: A pointer to the descriptor.
Multithreading Level: Unsafe
edit_coord *
iedit_alloc_edit_coords (unsigned int num_coords)
Allocate an array of edit co-ordinates.
Parameters:
- num_coords :
The number of co-ordinates to allocate.
Returns: A pointer to a statically allocated array of co-ordinate
structures on success, else NULL.
Multithreading Level: Unsafe
flag
iedit_get_edit_coords (list_header *list_head, edit_coord **coords)
The routine will get a number of editing co-ordinates from a
co-ordinate list. The routine will extract all co-ordinates in the list.
Parameters:
- list_head :
The list header.
- coords :
The pointer to an internally allocated array of extracted
co-ordinates is written here.
Returns: TRUE on success, else FALSE.
Multithreading Level: Unsafe
flag
iedit_add_instruction (KImageEditList ilist,
unsigned int instruction_code, edit_coord *coords,
unsigned int num_coords, double intensity[2])
This routine will add a single edit instruction to a managed
image edit instruction list. The add_func function registered for this
instruction list will be called at a future time with a copy of the
instruction to be added.
Parameters:
- ilist :
The instruction list.
- instruction_code :
The instruction code.
- coords :
The instruction co-ordinates.
- num_coords :
The number of co-ordinates.
- intensity :
The intensity value of the instruction.
Returns: TRUE on success, else FALSE.
Multithreading Level: Unsafe
flag
iedit_remove_instructions (KImageEditList ilist,
unsigned int num_to_remove)
This routine will remove a number of edit instructions from a
managed image edit instruction list. The loss_func function registered
for this instruction list will be called at a future time.
Parameters:
- ilist :
The instruction list.
- num_to_remove :
The number of instructions to remove. If this is 0, all
instructions are removed.
Returns: TRUE on success, else FALSE.
Multithreading Level: Unsafe
flag
iedit_apply_instructions (KImageEditList ilist)
This routine will issue an apply (commit) request for a managed
image edit instruction list. The apply_func function registered for
this instruction list will be called at a future time. Some time after
this, the loss_func registered will also be called.
Parameters:
- ilist :
The instruction list.
Returns: TRUE on success, else FALSE.
Multithreading Level: Unsafe
list_header *
iedit_get_list (KImageEditList ilist)
This routine will get the list of edit instructions associated
with a managed image edit instruction list.
Parameters:
- ilist :
The managed list.
Returns: The list of edit instructions.
Multithreading Level: Unsafe
void
iedit_make_list_default_master (KImageEditList ilist)
This routine will make a managed image edit instruction list the
default list for accepting slave list connections.
Parameters:
- ilist :
The managed list.
Returns: Nothing.
Multithreading Level: Unsafe
void
iedit_make_list_default_slave (KImageEditList ilist)
This routine will make a managed image edit instruction list the
default list for making slave list connections.
Parameters:
- ilist :
The managed list.
Returns: Nothing.
Multithreading Level: Unsafe
Prototype Functions
void
IEDIT_PROTO_add_func (KImageEditList ilist, list_entry *instruction,
void **info)
This routine will process a single edit instruction which has
been added to a managed image edit instruction list.
Parameters:
- ilist :
The managed image edit instruction list.
- instruction :
The edit instruction.
- info :
A pointer to the arbitrary information pointer for the list.
Returns: Nothing.
Multithreading Level: Unsafe
void
IEDIT_PROTO_loss_func (KImageEditList ilist, void **info)
This routine will process the loss of an edit instruction from a
managed image edit instruction list.
Parameters:
- ilist :
The managed image edit instruction list.
- info :
A pointer to the arbitrary information pointer for the list.
Returns: Nothing.
Multithreading Level: Unsafe
void
IEDIT_PROTO_apply_func (KImageEditList ilist, void **info)
This routine will apply (commit) an edit list prior to the list
being cleared.
Parameters:
- ilist :
The managed image edit instruction list.
- info :
A pointer to the arbitrary information pointer for the list.
Returns: Nothing.
Multithreading Level: Unsafe
Contact: Richard Gooch
Web Development: Ariel Internet Services