Skip to content

LIBUI documentation

Maxim Frolov edited this page May 27, 2019 · 10 revisions

Документация

В этом разделе находится описание всех функций, которые представлены в библиотеке. Описания разложены по разделам, аналогично структуре проекта.

Функции, которые обеспечивают внутреннее функционирование библиотеки, в данном разделе не описываются.

Общие обозначения

Используемые структуры

typedef struct		s_ui_main
{
	t_list		*windows;
	SDL_Event	sdl_event;
	t_ui_raycaster	raycaster;
	Uint32		params;
	t_vec2		ptr_pos;
	t_list		*sdl_surfaces;
	t_list		*sdl_fonts;
}			t_ui_main;

typedef struct		s_ui_win
{
	SDL_Window	*sdl_window;
	SDL_Renderer	*sdl_renderer;
	Uint32		sdl_windowID;
	char		*title;
	t_vec2		size;
	t_ui_el		canvas;
	t_ui_win_events	events;
	Uint32		params;
}			t_ui_win;

typedef struct		s_ui_el
{
	SDL_Surface	*sdl_surface;
	t_list		*sdl_textures;
	size_t		current_texture;
	SDL_Renderer	*sdl_renderer;
	struct s_ui_el	*parent;
	t_list		*children;
	t_rect		rect;
	t_rect		cut_rect;
	t_frect		relative_rect;
	t_ui_el_events	events;
	Uint32		id;
	Uint32		params;
	t_vec2		ptr_rel_pos;
	void		*data;
}			t_ui_el;

Возвращаемые значения функций

Значение Описание
FUNCTION_SUCCESS Функция успешно завершила свое выполнение
FUNCTION_FAILURE Во время выполнения функции возникла внутренняя ошибка

Содержание

  1. ui_main
  2. ui_win
  3. ui_el

ui_main

void		ui_main_init(t_ui_main *m)

Очищает память (не выделяет), выделенную под указатель на m.


int		ui_main_add_font_by_path(t_ui_main *m, const char *path, const char *font_id)

Добавляет в хранилище исходников m шрифт, расположенный по пути (относительно бинарного файла) path и приписывает ему id font_id.

Возвращает статус выполнения функции.


TTF_Font	*ui_main_get_font_by_id(t_ui_main *m, const char *font_id)

Возвращает указатель на TTF_Font с id font_id из хранилища исходников m. Если TTF_Font с заданным id отсутствует возвращает NULL.


int		ui_main_add_surface_by_path(t_ui_main *m, const char *path, const char *sur_id)

Добавляет в хранилище исходников m картинку, расположенную по пути (относительно бинарного файла) path и приписывает ей id sur_id.

Возвращает статус выполнения функции.


SDL_Surface	*ui_main_get_surface_by_id(t_ui_main *m, const char *sur_id)

Возвращает указатель на SDL_Surface с id font_id из хранилища исходников m. Если SDL_Surface с заданным id отсутствует возвращает NULL.


int		ui_main_add_window(t_ui_main *m, t_ui_win *w)

Добавляет в список окон m окно w.

Возвращает статус выполнения функции.


t_ui_win	*ui_main_find_window_by_id(t_ui_main *m, Uint32 windowID)

Возвращает указатель на t_ui_win, которое хранится в m с системным id windowID. Если такое окно отсутствует возвращает NULL.


int		ui_main_fill_default_surfaces(t_ui_main *m)

Добавляет в список исходников m стандартные картинки по путям, предзаданным в библиотеке.

Возвращает статус выполнения функции.


void		ui_main_loop(t_ui_main *m)

Запускает процесс обработки эвентов для m. После вызова управление основным потоком переходит данной функции, поэтому использовать после всех необходимых инициализаций.

ui_win

WIP.

ui_el

WIP.