📄 dw_ext_iterator.h
字号:
#ifndef __DW_EXT_ITERATOR_H__#define __DW_EXT_ITERATOR_H__#include "dw_widget.h"#ifdef __cplusplusextern "C" {#endif /* __cplusplus */typedef struct _DwExtIterator{ DwIterator **stack; gint stack_top; gint stack_max; DwContent content;} DwExtIterator;typedef struct _DwWordIterator{ /* The current word. NULL, when at the end or at the beginning */ gchar *word; /* private stuff */ DwExtIterator *iterator; gint *word_splitpos; /* the positions of the words within * iterator->content.data.text, as returned * by a_Misc_strsplitpos */ gint word_pos; /* the current position within word_splitpos */ gint content_hl_start, content_hl_end;} DwWordIterator;DwExtIterator* a_Dw_ext_iterator_new (DwIterator *it);DwExtIterator* a_Dw_ext_iterator_new_variant (DwExtIterator *base, DwIterator *it);gboolean a_Dw_ext_iterator_next (DwExtIterator *eit);gboolean a_Dw_ext_iterator_prev (DwExtIterator *eit);DwExtIterator* a_Dw_ext_iterator_clone (DwExtIterator *eit);gint a_Dw_ext_iterator_compare (DwExtIterator *eit1, DwExtIterator *eit2);void a_Dw_ext_iterator_free (DwExtIterator *eit);#define a_Dw_ext_iterator_highlight(eit, s, e, l) \ a_Dw_iterator_highlight((eit)->stack[(eit)->stack_top], \ s, e, l)#define a_Dw_ext_iterator_unhighlight(eit, l) \ a_Dw_iterator_unhighlight((eit)->stack[(eit)->stack_top], l)#define a_Dw_ext_iterator_get_allocation(eit, s, e, a) \ a_Dw_iterator_get_allocation((eit)->stack[(eit)->stack_top],\ s, e, a)#define a_Dw_ext_iterator_scroll_to(eit1, eit2, s, e, hp, vp) \ a_Dw_iterator_scroll_to((eit1)->stack[(eit1)->stack_top], \ (eit2)->stack[(eit2)->stack_top], \ s, e, hp, vp)#define a_Dw_ext_iterator_text(eit) ((eit) ? \ a_Dw_iterator_text((eit)->stack[(eit)->stack_top]) : \ "[NULL]")DwWordIterator* a_Dw_word_iterator_new (DwWidget *widget);gboolean a_Dw_word_iterator_next (DwWordIterator *it);gboolean a_Dw_word_iterator_prev (DwWordIterator *it);void a_Dw_word_iterator_highlight (DwWordIterator *it, gint start, gint end, DwHighlightLayer layer);void a_Dw_word_iterator_get_allocation (DwWordIterator *it, gint start, gint end, DwAllocation *allocation);void a_Dw_word_iterator_scroll_to (DwWordIterator *it1, DwWordIterator *it2, gint start, gint end, DwHPosition hpos, DwVPosition vpos);DwWordIterator* a_Dw_word_iterator_clone (DwWordIterator *it);void a_Dw_word_iterator_free (DwWordIterator *it);#define a_Dw_word_iterator_unhighlight(it, l) \ a_Dw_word_iterator_highlight(it, -1, -1, l)#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __DW_EXT_ITERATOR_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -