| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // SPDX-License-Identifier: GPL-3.0-or-later | ||
| 2 | // Copyright (C) 2020 Omar Castro | ||
| 3 | |||
| 4 | #include <gmodule.h> | ||
| 5 | #include "render_state.h" | ||
| 6 | |||
| 7 | |||
| 8 | |||
| 9 | struct RenderState { | ||
| 10 | bool rendered_selected; | ||
| 11 | bool rendered_last; | ||
| 12 | unsigned int last_active; | ||
| 13 | unsigned int current_active; | ||
| 14 | }; | ||
| 15 | |||
| 16 | |||
| 17 | ✗ | RenderState * render_state_new(void){ | |
| 18 | ✗ | RenderState *state = g_malloc0 ( sizeof ( *state ) ); | |
| 19 | ✗ | return state; | |
| 20 | } | ||
| 21 | |||
| 22 | ✗ | void render_state_destroy( RenderState * state){ | |
| 23 | ✗ | g_free(state); | |
| 24 | ✗ | } | |
| 25 | |||
| 26 | ✗ | bool render_state_has_selected_line_rendered( RenderState * state ){ | |
| 27 | ✗ | return state->rendered_selected; | |
| 28 | } | ||
| 29 | |||
| 30 | ✗ | bool render_state_has_last_line_rendered( RenderState * state ){ | |
| 31 | ✗ | return state->rendered_last; | |
| 32 | } | ||
| 33 | |||
| 34 | ✗ | unsigned int render_state_get_last_active( RenderState * state ){ | |
| 35 | ✗ | return state->last_active; | |
| 36 | } | ||
| 37 | |||
| 38 | ✗ | unsigned int render_state_get_current_active( RenderState * state ){ | |
| 39 | ✗ | return state->current_active; | |
| 40 | } | ||
| 41 | |||
| 42 | ✗ | void render_state_set_current_active( RenderState * state, unsigned int active_line ){ | |
| 43 | ✗ | if( state->current_active == active_line ){ | |
| 44 | ✗ | return; | |
| 45 | } | ||
| 46 | ✗ | state->last_active = state->current_active; | |
| 47 | ✗ | state->current_active = active_line; | |
| 48 | } | ||
| 49 | |||
| 50 | ✗ | void render_state_prepare_render( RenderState * state ){ | |
| 51 | ✗ | state->rendered_selected = FALSE; | |
| 52 | ✗ | state->rendered_last = FALSE; | |
| 53 | ✗ | } | |
| 54 |