diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2024-06-18 06:31:42 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2024-06-18 06:31:58 (GMT) |
commit | 53edb30496d1065019406de16f9f9d96ba61cd3c (patch) | |
tree | 162cad07e27a01990d721f69f3270581417c31e7 /src/glibext/buffercache.h | |
parent | 334126eb659bc310a72a9f7f9238b7cd205a0770 (diff) |
Rebuild hex views for large contents.
Diffstat (limited to 'src/glibext/buffercache.h')
-rw-r--r-- | src/glibext/buffercache.h | 72 |
1 files changed, 63 insertions, 9 deletions
diff --git a/src/glibext/buffercache.h b/src/glibext/buffercache.h index 68941c5..87aae4e 100644 --- a/src/glibext/buffercache.h +++ b/src/glibext/buffercache.h @@ -25,6 +25,57 @@ #define _GLIBEXT_BUFFERCACHE_H +#include <gtk/gtk.h> + + +#include "helpers.h" +#include "generator.h" + + + +#define G_TYPE_BUFFER_CACHE (g_buffer_cache_get_type()) + +DECLARE_GTYPE(GBufferCache, g_buffer_cache, G, BUFFER_CACHE); + + +/* Crée un nouveau tampon pour lignes quelconques. */ +GBufferCache *g_buffer_cache_new(size_t, size_t); + +/* Fournit le nombre de colonnes supportées par un tampon. */ +void g_buffer_cache_count_columns(const GBufferCache *, size_t *, size_t *); + +/* Met à disposition un encadrement des accès aux lignes. */ +void g_buffer_cache_lock_unlock(GBufferCache *, bool, bool); + +#define g_buffer_cache_wlock(cache) g_buffer_cache_lock_unlock(cache, true, true); +#define g_buffer_cache_wunlock(cache) g_buffer_cache_lock_unlock(cache, true, false); + +#define g_buffer_cache_rlock(cache) g_buffer_cache_lock_unlock(cache, false, true); +#define g_buffer_cache_runlock(cache) g_buffer_cache_lock_unlock(cache, false, false); + +/* Compte le nombre de lignes rassemblées dans un tampon. */ +size_t g_buffer_cache_count_lines(GBufferCache *); + +/* Etend un tampon avec un générateur de lignes unique. */ +void g_buffer_cache_extend_with(GBufferCache *, size_t, GTokenGenerator *); + +/* Réduit le tampon à une quantité de lignes précise. */ +void g_buffer_cache_truncate(GBufferCache *, size_t); + + + + +/* Imprime une partie choisie du tampon contenant des lignes. */ +void g_buffer_cache_draw(GBufferCache *, cairo_t *, size_t, int, size_t, size_t, const GTokenStyle *); + + + + + + + +#if 0 + #include <glib-object.h> #include <stdbool.h> #ifdef INCLUDE_GTK_SUPPORT @@ -84,18 +135,18 @@ GWidthTracker *g_buffer_cache_get_width_tracker(const GBufferCache *); #endif /* Met à disposition un encadrement des accès aux lignes. */ -void g_buffer_cache_lock_unlock(GBufferCache *, bool, bool); +//void g_buffer_cache_lock_unlock(GBufferCache *, bool, bool); -#define g_buffer_cache_wlock(cache) g_buffer_cache_lock_unlock(cache, true, true); -#define g_buffer_cache_wunlock(cache) g_buffer_cache_lock_unlock(cache, true, false); +//#define g_buffer_cache_wlock(cache) g_buffer_cache_lock_unlock(cache, true, true); +//#define g_buffer_cache_wunlock(cache) g_buffer_cache_lock_unlock(cache, true, false); -#define g_buffer_cache_rlock(cache) g_buffer_cache_lock_unlock(cache, false, true); -#define g_buffer_cache_runlock(cache) g_buffer_cache_lock_unlock(cache, false, false); +//#define g_buffer_cache_rlock(cache) g_buffer_cache_lock_unlock(cache, false, true); +//#define g_buffer_cache_runlock(cache) g_buffer_cache_lock_unlock(cache, false, false); /* Compte le nombre de lignes rassemblées dans un tampon. */ -size_t g_buffer_cache_count_lines(GBufferCache *); +//size_t g_buffer_cache_count_lines(GBufferCache *); /* Insère un générateur dans des lignes à une position donnée. */ void g_buffer_cache_insert_at(GBufferCache *, size_t, GLineGenerator *, BufferLineFlags, bool, bool); @@ -110,10 +161,10 @@ GLineGenerator *g_buffer_cache_delete_type_at(GBufferCache *, size_t, GType, boo void g_buffer_cache_append(GBufferCache *, GLineGenerator *, BufferLineFlags); /* Etend un tampon avec un générateur de lignes unique. */ -void g_buffer_cache_extend_with(GBufferCache *, size_t, GLineGenerator *); +//void g_buffer_cache_extend_with(GBufferCache *, size_t, GLineGenerator *); /* Réduit le tampon à une quantité de lignes précise. */ -void g_buffer_cache_truncate(GBufferCache *, size_t); +//void g_buffer_cache_truncate(GBufferCache *, size_t); #ifdef INCLUDE_GTK_SUPPORT @@ -146,7 +197,7 @@ GBufferLine *g_buffer_cache_find_line_by_index(GBufferCache *, size_t); void g_buffer_cache_collect_widths(GBufferCache *, size_t, size_t, size_t, gint *, gint *); /* Imprime une partie choisie du tampon contenant des lignes. */ -void g_buffer_cache_draw(const GBufferCache *, cairo_t *, size_t, size_t, const cairo_rectangle_int_t *, const GDisplayOptions *, const gint *, const segcnt_list *); +//void g_buffer_cache_draw(const GBufferCache *, cairo_t *, size_t, size_t, const cairo_rectangle_int_t *, const GDisplayOptions *, const gint *, const segcnt_list *); #endif @@ -164,5 +215,8 @@ bool g_buffer_cache_get_cursor_coordinates(GBufferCache *, const GLineCursor *, #endif +#endif + + #endif /* _GLIBEXT_BUFFERCACHE_H */ |