summaryrefslogtreecommitdiff
path: root/src/glibext/gbuffercache.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/gbuffercache.c
parent736b616092f91fc0863a82851620ec2e095212cb (diff)
Replaced all the remaining concrete locations in internal rendering buffers.
Diffstat (limited to 'src/glibext/gbuffercache.c')
-rw-r--r--src/glibext/gbuffercache.c69
1 files changed, 24 insertions, 45 deletions
diff --git a/src/glibext/gbuffercache.c b/src/glibext/gbuffercache.c
index a64ec68..91f3a6d 100644
--- a/src/glibext/gbuffercache.c
+++ b/src/glibext/gbuffercache.c
@@ -29,7 +29,6 @@
#include <stdlib.h>
-#include "gbinarycursor.h" // REMME
#include "chrysamarshal.h"
@@ -1479,11 +1478,11 @@ void g_buffer_cache_draw(const GBufferCache *cache, cairo_t *cr, size_t first, s
/******************************************************************************
* *
-* Paramètres : cache = tampon de lignes à consulter. *
-* addr = adresse à retrouver dans le tampon. *
-* first = indique si on l'arrête à la première ou la dernière. *
-* start = borne inférieure des recherches (incluse). *
-* end = borne supérieure des recherches (incluse). *
+* Paramètres : cache = tampon de lignes à consulter. *
+* cursor = emplacement à retrouver dans le tampon. *
+* first = indique si on l'arrête à la première ou la dernière.*
+* start = borne inférieure des recherches (incluse). *
+* end = borne supérieure des recherches (incluse). *
* *
* Description : Indique l'indice correspondant à une adresse donnée. *
* *
@@ -1493,10 +1492,9 @@ void g_buffer_cache_draw(const GBufferCache *cache, cairo_t *cr, size_t first, s
* *
******************************************************************************/
-size_t _g_buffer_cache_find_index_by_addr(const GBufferCache *cache, const vmpa2t *addr, bool first, size_t start, size_t end)
+size_t _g_buffer_cache_find_index_by_cursor(const GBufferCache *cache, const GLineCursor *cursor, bool first, size_t start, size_t end)
{
size_t result; /* Indice à retourner */
- GLineCursor *___tmp;
cache_info *found; /* Eventuel élément trouvé */
int find_containing_generator(const GLineCursor *c, const cache_info *i)
@@ -1513,12 +1511,7 @@ size_t _g_buffer_cache_find_index_by_addr(const GBufferCache *cache, const vmpa2
}
-
- ___tmp = g_binary_cursor_new();
- g_binary_cursor_update(G_BINARY_CURSOR(___tmp), addr);
-
-
- found = (cache_info *)bsearch(___tmp, &cache->lines[start], end - start + 1,
+ found = (cache_info *)bsearch(cursor, &cache->lines[start], end - start + 1,
sizeof(cache_info), (__compar_fn_t)find_containing_generator);
if (found == NULL)
@@ -1536,7 +1529,7 @@ size_t _g_buffer_cache_find_index_by_addr(const GBufferCache *cache, const vmpa2
{
found = &cache->lines[result - 1];
- if (find_containing_generator(___tmp, found) != 0)
+ if (find_containing_generator(cursor, found) != 0)
break;
}
@@ -1546,17 +1539,13 @@ size_t _g_buffer_cache_find_index_by_addr(const GBufferCache *cache, const vmpa2
{
found = &cache->lines[result + 1];
- if (find_containing_generator(___tmp, found) != 0)
+ if (find_containing_generator(cursor, found) != 0)
break;
}
}
-
- g_object_unref(G_OBJECT(___tmp));
-
-
return result;
}
@@ -1564,9 +1553,9 @@ size_t _g_buffer_cache_find_index_by_addr(const GBufferCache *cache, const vmpa2
/******************************************************************************
* *
-* Paramètres : cache = tampon de lignes à consulter. *
-* addr = adresse à retrouver dans le tampon. *
-* first = indique si on l'arrête à la première ou la dernière. *
+* Paramètres : cache = tampon de lignes à consulter. *
+* cursor = emplacement à retrouver dans le tampon. *
+* first = indique si on l'arrête à la première ou la dernière.*
* *
* Description : Indique l'indice correspondant à une adresse donnée. *
* *
@@ -1576,14 +1565,14 @@ size_t _g_buffer_cache_find_index_by_addr(const GBufferCache *cache, const vmpa2
* *
******************************************************************************/
-size_t g_buffer_cache_find_index_by_addr(const GBufferCache *cache, const vmpa2t *addr, bool first)
+size_t g_buffer_cache_find_index_by_cursor(const GBufferCache *cache, const GLineCursor *cursor, bool first)
{
size_t result; /* Indice à retourner */
if (cache->used == 0)
result = 0;
else
- result = _g_buffer_cache_find_index_by_addr(cache, addr, first, 0, cache->used - 1);
+ result = _g_buffer_cache_find_index_by_cursor(cache, cursor, first, 0, cache->used - 1);
return result;
@@ -1646,13 +1635,13 @@ size_t g_buffer_cache_look_for_flag(const GBufferCache *cache, size_t start, Buf
/******************************************************************************
* *
-* Paramètres : cache = tampon de lignes à consulter. *
-* addr = adresse à présenter à l'écran. *
-* first = borne inférieure des recherches (incluse). *
-* last = borne supérieure des recherches (incluse). *
-* 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 : cache = tampon de lignes à consulter. *
+* cursor = emplacement à présenter à l'écran. *
+* first = borne inférieure des recherches (incluse). *
+* last = borne supérieure des recherches (incluse). *
+* 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. *
* *
@@ -1662,21 +1651,15 @@ size_t g_buffer_cache_look_for_flag(const GBufferCache *cache, size_t start, Buf
* *
******************************************************************************/
-bool g_buffer_cache_get_address_coordinates(const GBufferCache *cache, const vmpa2t *addr, size_t first, size_t last, bool code, gint *x, gint *y)
+bool g_buffer_cache_get_cursor_coordinates(const GBufferCache *cache, const GLineCursor *cursor, size_t first, size_t last, bool code, gint *x, gint *y)
{
bool result; /* Bilan à retourner */
- GLineCursor *___tmp;
size_t index; /* Indice de correspondance */
gint lheight; /* Hauteur d'une ligne */
const cache_info *info; /* Infos sur une ligne donnée */
const generator_link *generator; /* Générateur retenu */
-
- ___tmp = g_binary_cursor_new();
- g_binary_cursor_update(G_BINARY_CURSOR(___tmp), addr);
-
-
- index = _g_buffer_cache_find_index_by_addr(cache, addr, true, first, last);
+ index = _g_buffer_cache_find_index_by_cursor(cache, cursor, true, first, last);
result = (index < cache->used);
@@ -1702,7 +1685,7 @@ bool g_buffer_cache_get_address_coordinates(const GBufferCache *cache, const vmp
else
generator = &info->generators[0];
- if (!g_line_generator_contains_cursor(generator->instance, index + 1, generator->repeat, ___tmp))
+ if (!g_line_generator_contains_cursor(generator->instance, index + 1, generator->repeat, cursor))
break;
*y += lheight;
@@ -1711,10 +1694,6 @@ bool g_buffer_cache_get_address_coordinates(const GBufferCache *cache, const vmp
}
-
- g_object_unref(G_OBJECT(___tmp));
-
-
return result;
}