#ifndef VIDEO_LAYOUT_SCOPE_H #define VIDEO_LAYOUT_SCOPE_H #include "view.h" #include "element.h" #define SCOPE_BUFFER_SIZE 256 typedef struct param param_t; typedef struct scope { param_t *param; element_t *elements; int elements_count; view_t *groups; int groups_count; int level; char eval[SCOPE_BUFFER_SIZE]; } scope_t; void scope_init (scope_t *scope); void scope_deinit (scope_t *scope); void scope_push (scope_t *scope); void scope_pop (scope_t *scope); void scope_repeat (scope_t *scope); void scope_param (scope_t *scope, const char *name, const char *value); void scope_generator (scope_t *scope, const char *name, const char *start, const char *increment, const char *lshift, const char *rshift); const char *scope_eval (scope_t *scope, const char *src); element_t *scope_add_element (scope_t *scope); element_t *scope_find_element (scope_t *scope, const char *name); view_t *scope_add_group (scope_t *scope); view_t *scope_find_group (scope_t *scope, const char *name); #endif