diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-07-14 12:41:30 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-07-14 12:41:30 (GMT) |
commit | 078b2ffd38da040ab87a9686bcc2e796841cccb7 (patch) | |
tree | 2e5c94065cb5b4d38fac700e10104a0da7ae970d /src/glibext/gbufferview.c | |
parent | 736b616092f91fc0863a82851620ec2e095212cb (diff) |
Replaced all the remaining concrete locations in internal rendering buffers.
Diffstat (limited to 'src/glibext/gbufferview.c')
-rw-r--r-- | src/glibext/gbufferview.c | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/src/glibext/gbufferview.c b/src/glibext/gbufferview.c index 0eff4d8..c5bd81e 100644 --- a/src/glibext/gbufferview.c +++ b/src/glibext/gbufferview.c @@ -39,8 +39,8 @@ struct _GBufferView bool external; /* Note l'origine de la liste */ bool unrestricted; /* Validité des informations */ - vmpa2t start; /* Première ligne intégrée */ - vmpa2t end; /* Dernière ligne intégrée */ + GLineCursor *start; /* Première ligne intégrée */ + GLineCursor *end; /* Dernière ligne intégrée */ size_t first; /* Indice de la première ligne */ size_t last; /* Indice de la dernière ligne */ @@ -391,7 +391,7 @@ GBufferCache *g_buffer_view_get_cache(const GBufferView *view) * * ******************************************************************************/ -void g_buffer_view_restrict(GBufferView *view, const vmpa2t *start, const vmpa2t *end) +void g_buffer_view_restrict(GBufferView *view, GLineCursor *start, GLineCursor *end) { bool state; /* Nouvel état à proclamer */ GWidthTracker *template; /* Suivi déjà en place */ @@ -419,11 +419,11 @@ void g_buffer_view_restrict(GBufferView *view, const vmpa2t *start, const vmpa2t else { - copy_vmpa(&view->start, start); - copy_vmpa(&view->end, end); + view->start = start; + view->end = end; - view->first = g_buffer_cache_find_index_by_addr(view->cache, start, true); - view->last = g_buffer_cache_find_index_by_addr(view->cache, end, false); + view->first = g_buffer_cache_find_index_by_cursor(view->cache, start, true); + view->last = g_buffer_cache_find_index_by_cursor(view->cache, end, false); view->tracker = g_width_tracker_new_restricted(template, view->first, view->last); @@ -450,12 +450,27 @@ void g_buffer_view_restrict(GBufferView *view, const vmpa2t *start, const vmpa2t * * ******************************************************************************/ -bool g_buffer_view_get_restrictions(const GBufferView *view, vmpa2t *start, vmpa2t *end) +bool g_buffer_view_get_restrictions(const GBufferView *view, GLineCursor **start, GLineCursor **end) { if (!view->unrestricted) { - if (start != NULL) copy_vmpa(start, &view->start); - if (end != NULL) copy_vmpa(end, &view->end); + if (start != NULL) + { + *start = view->start; + g_object_ref(G_OBJECT(*start)); + } + + if (end != NULL) + { + *end = view->end; + g_object_ref(G_OBJECT(*end)); + } + + } + else + { + if (start != NULL) *start = NULL; + if (end != NULL) *end = NULL; } return !view->unrestricted; @@ -1184,11 +1199,11 @@ static GBufferLine *g_buffer_view_find_line_at(GBufferView *view, gint y, size_t /****************************************************************************** * * -* Paramètres : view = visualisation à consulter. * -* addr = adresse à présenter à l'écran. * -* code = s'arrête si possible à une ligne avec code. * -* x = position horizontale au sein du composant. [OUT] * -* y = position verticale au sein du composant. [OUT] * +* Paramètres : view = visualisation à consulter. * +* cursor = emplacement à présenter à l'écran. * +* code = s'arrête si possible à une ligne avec code. * +* x = position horizontale au sein du composant. [OUT] * +* y = position verticale au sein du composant. [OUT] * * * * Description : Indique la position d'affichage d'une adresse donnée. * * * @@ -1198,11 +1213,11 @@ static GBufferLine *g_buffer_view_find_line_at(GBufferView *view, gint y, size_t * * ******************************************************************************/ -bool g_buffer_view_get_address_coordinates(GBufferView *view, const vmpa2t *addr, bool code, gint *x, gint *y) +bool g_buffer_view_get_cursor_coordinates(GBufferView *view, const GLineCursor *cursor, bool code, gint *x, gint *y) { bool result; /* Bilan à retourner */ - result = g_buffer_cache_get_address_coordinates(view->cache, addr, view->first, view->last, code, x, y); + result = g_buffer_cache_get_cursor_coordinates(view->cache, cursor, view->first, view->last, code, x, y); return result; |