# buttons.c

## Defines
#define | _BUTTONS_
## Functions
BUTTONPTR | get_first_element_from_button_list (void)
BIMAGESPTR | get_first_element_from_button_image_list (void)
BUTTONPTR | set_first_element_in_button_list (BUTTONPTR *newfirst)
BUTTON_CALLBACK | get_button_callback (void)
BUTTON_CALLBACK | set_button_callback (BUTTON_CALLBACK bcallb_func)
void | buttoncheck (BUTTON_CALLBACK bcallb_func, void *data)
void | render_buttons (void)
void | draw_button (BUTTONPTR currentptr)
void | check_for_button_events (BUTTONPTR currentptr)
BUTTONPTR | search_button_list_for_element (BUTTONPTR *firstptr, char *label)
BUTTONPTR | create_new_button (char *label, char *bimage_label, char *text, ALLEGRO_FONT *font, ALLEGRO_COLOR text_color, ALLEGRO_COLOR button_color, float x, float y, float limit, CBANIMATIONS aflags, BPROPERTIES bflags, _Bool add_to_list)
BUTTONPTR | add_element_to_button_list (BUTTONPTR *button)
BUTTONPTR | remove_element_from_button_list (BUTTONPTR *currentptr)
_Bool | empty_button_list (BUTTONPTR firstptr)
_Bool | empty_button_image_list (BIMAGESPTR firstptr)
BUTTONPTR | set_bflags_on_button (BUTTONPTR button, BPROPERTIES bflags)
BUTTONPTR | remove_bflags_on_button (BUTTONPTR button, BPROPERTIES bflags)
BUTTONPTR | standard_button_animations (BUTTONPTR button)
BUTTONPTR | custom_button_animations (BUTTONPTR button, CBANIMATIONS cb, float limit, BUTTON_CALLBACK bcall, void *data)
SBANIMATIONS | set_standard_button_animation (SBANIMATIONS sb_new)
SBANIMATIONS | get_standard_button_animation (void)
_Bool | is_mouse_over_button (ALLEGRO_MOUSE_STATE *mouse, BUTTONPTR currentptr)
_Bool | is_point_over_button (int x, int y, BUTTONPTR currentptr)
BIMAGESPTR | create_new_button_image_list (char *labels[], char *images[], int num_elements)
BIMAGESPTR | add_element_to_button_image_list (BIMAGESPTR *firstptr, BIMAGESPTR *newptr)
BIMAGESPTR | search_button_image_list_for_element (BIMAGESPTR firstptr, char *label)

## Detailed Description

Routines to create and manage the buttons linked list. Handles all mouse events related to buttons.

## Define Documentation

#define _BUTTONS_

Definition at line 34 of file buttons.c.

## Function Documentation

BIMAGESPTR add_element_to_button_image_list | ( | BIMAGESPTR * | firstptr,
|  | BIMAGESPTR * | newptr |
| ) |  |  |

Definition at line 655 of file buttons.c.

BUTTONPTR add_element_to_button_list | ( | BUTTONPTR * | button | ) |

Definition at line 285 of file buttons.c.

void buttoncheck | ( | BUTTON_CALLBACK | bcallb_func,
|  | void * | data |
| ) |  |  |

Definition at line 93 of file buttons.c.

void check_for_button_events | ( | BUTTONPTR | currentptr | ) |

Definition at line 185 of file buttons.c.

BUTTONPTR create_new_button | ( | char * | label,
|  | char * | bimage_label,
|  | char * | text,
|  | ALLEGRO_FONT * | font,
|  | ALLEGRO_COLOR | text_color,
|  | ALLEGRO_COLOR | button_color,
|  | float | x,
|  | float | y,
|  | float | limit,
|  | CBANIMATIONS | aflags,
|  | BPROPERTIES | bflags,
|  | _Bool | add_to_list |
| ) |  |  |

Definition at line 246 of file buttons.c.

BIMAGESPTR create_new_button_image_list | ( | char * | labels[],
|  | char * | images[],
|  | int | num_elements |
| ) |  |  |

Definition at line 636 of file buttons.c.

BUTTONPTR custom_button_animations | ( | BUTTONPTR | button,
|  | CBANIMATIONS | cb,
|  | float | limit,
|  | BUTTON_CALLBACK | bcall,
|  | void * | data |
| ) |  |  |

Definition at line 531 of file buttons.c.

void draw_button | ( | BUTTONPTR | currentptr | ) |

Definition at line 132 of file buttons.c.

_Bool empty_button_image_list | ( | BIMAGESPTR | firstptr | ) |

Definition at line 366 of file buttons.c.

_Bool empty_button_list | ( | BUTTONPTR | firstptr | ) |

Definition at line 329 of file buttons.c.

BUTTON_CALLBACK get_button_callback | ( | void |  | ) |

Definition at line 78 of file buttons.c.

BIMAGESPTR get_first_element_from_button_image_list | ( | void |  | ) |

Definition at line 63 of file buttons.c.

BUTTONPTR get_first_element_from_button_list | ( | void |  | ) |

Definition at line 56 of file buttons.c.

SBANIMATIONS get_standard_button_animation | ( | void |  | ) |

Definition at line 607 of file buttons.c.

_Bool is_mouse_over_button | ( | ALLEGRO_MOUSE_STATE * | mouse,
|  | BUTTONPTR | currentptr |
| ) |  |  |

Definition at line 614 of file buttons.c.

_Bool is_point_over_button | ( | int | x,
|  | int | y,
|  | BUTTONPTR | currentptr |
| ) |  |  |

Definition at line 625 of file buttons.c.

BUTTONPTR remove_bflags_on_button | ( | BUTTONPTR | button,
|  | BPROPERTIES | bflags |
| ) |  |  |

Definition at line 429 of file buttons.c.

BUTTONPTR remove_element_from_button_list | ( | BUTTONPTR * | currentptr | ) |

Definition at line 307 of file buttons.c.

void render_buttons | ( | void |  | ) |

Definition at line 112 of file buttons.c.

BIMAGESPTR search_button_image_list_for_element | ( | BIMAGESPTR | firstptr,
|  | char * | label |
| ) |  |  |

Definition at line 677 of file buttons.c.

BUTTONPTR search_button_list_for_element | ( | BUTTONPTR * | firstptr,
|  | char * | label |
| ) |  |  |

Definition at line 230 of file buttons.c.

BUTTONPTR set_bflags_on_button | ( | BUTTONPTR | button,
|  | BPROPERTIES | bflags |
| ) |  |  |

Definition at line 403 of file buttons.c.

BUTTON_CALLBACK set_button_callback | ( | BUTTON_CALLBACK | bcallb_func | ) |

Definition at line 85 of file buttons.c.

BUTTONPTR set_first_element_in_button_list | ( | BUTTONPTR * | newfirst | ) |

Definition at line 70 of file buttons.c.

SBANIMATIONS set_standard_button_animation | ( | SBANIMATIONS | sb_new | ) |

Definition at line 599 of file buttons.c.

BUTTONPTR standard_button_animations | ( | BUTTONPTR | button | ) |

Definition at line 455 of file buttons.c.