summaryrefslogtreecommitdiff
path: root/src/glibext/gbufferview.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-07-14 12:41:30 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-07-14 12:41:30 (GMT)
commit078b2ffd38da040ab87a9686bcc2e796841cccb7 (patch)
tree2e5c94065cb5b4d38fac700e10104a0da7ae970d /src/glibext/gbufferview.c
parent736b616092f91fc0863a82851620ec2e095212cb (diff)
Replaced all the remaining concrete locations in internal rendering buffers.
Diffstat (limited to 'src/glibext/gbufferview.c')
-rw-r--r--src/glibext/gbufferview.c49
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;