And integrated the new attribute list implementation fully.

This commit is contained in:
Pietro Gagliardi 2016-12-23 00:31:11 -05:00
parent 5c1dfbd86f
commit 4f6ed98e40
2 changed files with 14 additions and 0 deletions

View File

@ -1,4 +1,6 @@
// 16 december 2016
#include "../ui.h"
#include "uipriv.h"
/*
An attribute list is a doubly linked list of attributes.

View File

@ -64,6 +64,18 @@ struct graphemes {
extern int graphemesTakesUTF16(void);
extern struct graphemes *graphemes(void *s, size_t len);
// attrlist.c
struct attrlist;
extern void attrlistInsertAttribute(struct attrlist *alist, uiAttribute type, uintptr_t val, size_t start, size_t end);
extern void attrlistInsertCharactersUnattributed(struct attrlist *alist, size_t start, size_t count);
extern void attrlistInsertCharactersExtendingAttributes(struct attrlist *alist, size_t start, size_t count);
extern void attrlistRemoveAttribute(struct attrlist *alist, uiAttribute type, size_t start, size_t end);
extern void attrlistRemoveAttributes(struct attrlist *alist, size_t start, size_t end);
extern; void attrlistRemoveCharacters(struct attrlist *alist, size_t start, size_t end)
// TODO move these to the top like everythng else
extern struct attrlist *attrlistNew(void);
extern void attrlistFree(struct attrlist *alist);
#ifdef __cplusplus
}
#endif