diff options
| author | Cyrille Bagard <nocbos@gmail.com> | 2016-01-21 20:51:27 (GMT) | 
|---|---|---|
| committer | Cyrille Bagard <nocbos@gmail.com> | 2016-01-21 21:23:58 (GMT) | 
| commit | dd33acbff36c0a3ae4618ac5021e74448cad5ce5 (patch) | |
| tree | 834351b836760fc54533e2f39c4b8202e695c0e3 /src/glibext/gbufferline.h | |
| parent | e3ee1abf12d7868f5eaf759e04a4b4911fcdfa91 (diff) | |
Defined some raw primitives to write or delete comments.
Diffstat (limited to 'src/glibext/gbufferline.h')
| -rw-r--r-- | src/glibext/gbufferline.h | 29 | 
1 files changed, 25 insertions, 4 deletions
| diff --git a/src/glibext/gbufferline.h b/src/glibext/gbufferline.h index 643e899..19652ab 100644 --- a/src/glibext/gbufferline.h +++ b/src/glibext/gbufferline.h @@ -89,11 +89,12 @@ typedef enum _BufferLineFlags  {      BLF_NONE            = 0 << 0,           /* Aucune                      */      BLF_HAS_CODE        = 1 << 0,           /* La ligne contient du code   */ -    BLF_ENTRYPOINT      = 1 << 1,           /* Représentation d'une entrée */ -    BLF_BOOKMARK        = 1 << 2,           /* Signet associé              */ -    BLF_WIDTH_MANAGER   = 1 << 3,           /* Début de groupe des largeurs*/ +    BLF_IS_LABEL        = 1 << 1,           /* Etiquette pour symbole      */ +    BLF_ENTRYPOINT      = 1 << 2,           /* Représentation d'une entrée */ +    BLF_BOOKMARK        = 1 << 3,           /* Signet associé              */ +    BLF_WIDTH_MANAGER   = 1 << 4,           /* Début de groupe des largeurs*/ -    BLF_ALL             = ((1 << 4) - 1) +    BLF_ALL             = ((1 << 5) - 1)  } BufferLineFlags; @@ -125,12 +126,21 @@ GBufferSegment *g_buffer_line_find_segment_from_creator(const GBufferLine *, GOb  /* Ajoute du texte à formater dans une ligne donnée. */  GBufferSegment *g_buffer_line_insert_text(GBufferLine *, BufferLineColumn, const char *, size_t, RenderingTagType); +/* Indique si du texte est présent dans une ligne de tampon. */ +bool g_buffer_line_has_text(const GBufferLine *, BufferLineColumn, BufferLineColumn); +  /* Donne le texte représenté par une ligne de tampon. */  char *g_buffer_line_get_text(const GBufferLine *, BufferLineColumn, BufferLineColumn, bool); +/* Supprime du texte représenté par une ligne de tampon. */ +void g_buffer_line_delete_text(GBufferLine *, BufferLineColumn, BufferLineColumn); +  /* Retient les largeurs d'une ligne si maximales. */  void g_buffer_line_update_max_widths(GBufferLine *, GBufferLine *); +/* Renvoie la ligne comptabilisant les largeurs pour un groupe. */ +GBufferLine *g_buffer_line_get_width_manager(GBufferLine *); +  /* Filtre des largeurs de lignes et ne garde que les maximales. */  void g_buffer_line_apply_max_widths(GBufferLine *, gint *, gint *); @@ -159,5 +169,16 @@ void g_buffer_line_draw(GBufferLine *, cairo_t *, const gint [BLC_COUNT], gint,  void g_buffer_line_export(GBufferLine *, buffer_export_context *, BufferExportType, const bool *); +/* Petite aide pour la détection de commentaire */ +#define g_buffer_line_has_comment(ln)                                       \ +    ({                                                                      \ +        bool __result;                                                      \ +        __result = g_buffer_line_has_text(ln, BLC_COMMENTS, BLC_COUNT);     \ +        __result |= (g_buffer_line_get_merge_start(ln) == BLC_DISPLAY       \ +                     && !(g_buffer_line_get_flags(ln) & BLF_IS_LABEL));     \ +        __result;                                                           \ +    }) + +  #endif  /* _GLIBEXT_GBUFFERLINE_H */ | 
