![]()  | 
  
    MPLABĀ® Harmony Graphics Suite
    GFX v3.13.0
    
   Legato API Documentation 
   | 
 
An array implementation for storing rectangles for the Legato user interface library. More...
#include "gfx/legato/common/legato_common.h"

Go to the source code of this file.
Data Structures | |
| struct | leRectArray | 
| This struct represents a rectange array.  More... | |
Typedefs | |
| typedef struct leRectArray | leRectArray | 
| This struct represents a rectange array.  | |
Functions | |
| leResult | leRectArray_Create (leRectArray *arr) | 
| Creates a new rectangle.  More... | |
| leResult | leRectArray_Resize (leRectArray *arr, uint32_t sz) | 
| Resizes the capacity of the array.  More... | |
| leResult | leRectArray_PushFront (leRectArray *arr, const leRect *rect) | 
| Pushes a new rectangle onto the front of the array.  More... | |
| leResult | leRectArray_PopFront (leRectArray *arr) | 
| Removes the first value from the array.  More... | |
| leResult | leRectArray_PushBack (leRectArray *arr, const leRect *rect) | 
| Push value on back.  More... | |
| leResult | leRectArray_PopBack (leRectArray *arr) | 
| Removes the last rectangle from the array.  More... | |
| leResult | leRectArray_InsertAt (leRectArray *arr, uint32_t idx, const leRect *rect) | 
| Inserts a rectangle into an array at a given index.  More... | |
| leResult | leRectArray_RemoveAt (leRectArray *arr, uint32_t idx) | 
| Removes a rectangle from the array at an index.  More... | |
| leResult | leRectArray_Copy (leRectArray *src, leRectArray *dest) | 
| Copy array.  More... | |
| leResult | leRectArray_Clear (leRectArray *arr) | 
| Removes all values from a given array.  More... | |
| leResult | leRectArray_Destroy (leRectArray *arr) | 
| Destroy array.  More... | |
| leResult | leRectArray_RemoveDuplicates (leRectArray *arr) | 
| Removes any duplicate rectangles from an array.  More... | |
| leResult | leRectArray_SortBySize (leRectArray *arr) | 
| Sorts a given array.  More... | |
| leResult | leRectArray_SortByX (leRectArray *arr) | 
| Sort array by X coordinate.  More... | |
| leResult | leRectArray_SortByY (leRectArray *arr) | 
| Sort array by Y coordinate.  More... | |
| leResult | leRectArray_MergeSimilar (leRectArray *arr) | 
| Merge rectangles.  More... | |
| leResult | leRectArray_RemoveOverlapping (leRectArray *arr) | 
| Remove overlappping rectangles.  More... | |
| leResult | leRectArray_CropToArea (leRectArray *arr, uint32_t width, uint32_t height) | 
| Crops rectange by width and height.  More... | |
| leResult | leRectArray_CropToSizeY (leRectArray *arr, uint32_t size) | 
| Slices an array of rectangles to a given pixel count.  More... | |
| leResult | leRectArray_CropToSizeX (leRectArray *arr, uint32_t size) | 
| Slices an array of rectangles to a given pixel count.  More... | |
An array implementation for storing rectangles for the Legato user interface library.
This is an array implementation that is used internally by the Legato user interface library.
| leResult leRectArray_Clear | ( | leRectArray * | arr | ) | 
Removes all values from a given array.
Removes all values from arr. Array capacity remains the same.
| arr | is the array to modify. | 
| leResult leRectArray_Copy | ( | leRectArray * | src, | 
| leRectArray * | dest | ||
| ) | 
Copy array.
Copys the contents of src to the array pointed to by dest.
| src | is the source array. | 
| dest | is the destination array. | 
| leResult leRectArray_Create | ( | leRectArray * | arr | ) | 
Creates a new rectangle.
Creates a new rectangle arr.
| arr | is array to initialize. | 
| leResult leRectArray_CropToArea | ( | leRectArray * | arr, | 
| uint32_t | width, | ||
| uint32_t | height | ||
| ) | 
Crops rectange by width and height.
Crops arr to given width and height. Any remainder will be moved into a new rectangle and will be cropped again if needed.
| arr | the array to modify. | 
| width | the crop width. | 
| height | arr the crop height. | 

| leResult leRectArray_CropToSizeX | ( | leRectArray * | arr, | 
| uint32_t | size | ||
| ) | 
Slices an array of rectangles to a given pixel count.
Crops arr to given width and size. This method attempts to keep the rectangle slices as tall as possible.
| arr | the array to modify. | 
| size | the number of pixels to crop to. | 
| leResult leRectArray_CropToSizeY | ( | leRectArray * | arr, | 
| uint32_t | size | ||
| ) | 
Slices an array of rectangles to a given pixel count.
Crops arr to given width and size. This method attempts to keep the rectangle slices as wide as possible.
| arr | the array to modify. | 
| size | the number of pixels to crop to. | 
| leResult leRectArray_Destroy | ( | leRectArray * | arr | ) | 
Destroy array.
Removes all values from arr. Array capacity is set to 0. leRectArray* arr; leResult res = leRectArray_Destroy(arr)
| arr | the array to modify. | 
| leResult leRectArray_InsertAt | ( | leRectArray * | arr, | 
| uint32_t | idx, | ||
| const leRect * | rect | ||
| ) | 
Inserts a rectangle into an array at a given index.
Inserts rect into the arr at the specified idx. All existing values from index are shifted right one place.
| arr | is the array to modify. | 
| idx | is the location at which to insert value. | 
| val | is value to insert. | 
| leResult leRectArray_MergeSimilar | ( | leRectArray * | arr | ) | 
Merge rectangles.
Merges similar rectangles in arr.
| arr | the array to modify. | 

| leResult leRectArray_PopBack | ( | leRectArray * | arr | ) | 
Removes the last rectangle from the array.
Removes the last value from the back of arr.
| arr | is the array to modify. | 
| leResult leRectArray_PopFront | ( | leRectArray * | arr | ) | 
Removes the first value from the array.
Removes the first value from the front of arr. This function shuffles all other values forward one index.
| arr | The pointer to the array to modify. | 
| leResult leRectArray_PushBack | ( | leRectArray * | arr, | 
| const leRect * | rect | ||
| ) | 
Push value on back.
Pushes val onto the back of arr.
| arr | is the array to modify. | 
| val | is the value to push. | 

| leResult leRectArray_PushFront | ( | leRectArray * | arr, | 
| const leRect * | rect | ||
| ) | 
Pushes a new rectangle onto the front of the array.
Pushes val onto the front of arr. This function shuffles all other values backward one index.
| arr | is the array to modify. | 
| val | is the value to push. | 
| leResult leRectArray_RemoveAt | ( | leRectArray * | arr, | 
| uint32_t | idx | ||
| ) | 
Removes a rectangle from the array at an index.
Removes the rectangle at idx from arr.
| arr | is the array to modify. | 
| idx | is the location at which to insert value. | 

| leResult leRectArray_RemoveDuplicates | ( | leRectArray * | arr | ) | 
Removes any duplicate rectangles from an array.
Removes all duplicates from arr.
| arr | the array to modify. | 
| leResult leRectArray_RemoveOverlapping | ( | leRectArray * | arr | ) | 
Remove overlappping rectangles.
Removes overlapping rectangles in arr. The function first sorts the array by size then removes any rectangles that are completely overlapped by another larger rectangle.
| arr | the array to modify. | 

| leResult leRectArray_Resize | ( | leRectArray * | arr, | 
| uint32_t | sz | ||
| ) | 
Resizes the capacity of the array.
Expands (or shrinks) an array arr to the specified sz.
If the array shrinks, any nodes beyond the new capacity will be discarded.
| arr | The pointer to the array to resize. | 
| sz | The desired capacity. | 
| leResult leRectArray_SortBySize | ( | leRectArray * | arr | ) | 
Sorts a given array.
Sorts values in arr from largest to smallest.
| arr | is the array to sort. | 

| leResult leRectArray_SortByX | ( | leRectArray * | arr | ) | 
Sort array by X coordinate.
Sorts the values in arr in order of the X coordinate.
| arr | the array to sort. | 
| leResult leRectArray_SortByY | ( | leRectArray * | arr | ) | 
Sort array by Y coordinate.
Sorts the values in arr in order of the Y coordinate.
| arr | the array to analyze. |