Top | ![]() |
![]() |
![]() |
![]() |
EomUta * | uta_ensure_size () |
EomUta * | uta_add_rect () |
void | uta_remove_rect () |
void | uta_find_first_glom_rect () |
void | uta_copy_area () |
EomUta * uta_ensure_size (EomUta *uta
,int x1
,int y1
,int x2
,int y2
);
Ensures that the size of a microtile array is big enough to fit the specified
microtile coordinates. If it is not big enough, the specified uta
will be
freed and a new one will be returned. Otherwise, the original uta
will be
returned. If a new microtile array needs to be created, this function will
copy the uta
's contents to the new array.
Note that the specified coordinates must have already been scaled down by the ART_UTILE_SHIFT factor.
EomUta * uta_add_rect (EomUta *uta
,int x1
,int y1
,int x2
,int y2
);
Adds the specified rectangle to a microtile array. The array is grown to fit the rectangle if necessary.
void uta_remove_rect (EomUta *uta
,int x1
,int y1
,int x2
,int y2
);
Removes a rectangular region from the specified microtile array. Due to the way microtile arrays represent regions, the tiles at the edge of the rectangle may not be clipped exactly.
void uta_find_first_glom_rect (EomUta *uta
,EomIRect *rect
,int max_width
,int max_height
);
void uta_copy_area (EomUta *uta
,int src_x
,int src_y
,int dest_x
,int dest_y
,int width
,int height
);
Copies a rectangular region within a microtile array. The array will not be expanded if the destination area does not fit within it; rather only the area that fits will be copied. The source rectangle must be completely contained within the microtile array.