summaryrefslogtreecommitdiff
path: root/pango2/pango-emoji-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'pango2/pango-emoji-private.h')
-rw-r--r--pango2/pango-emoji-private.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/pango2/pango-emoji-private.h b/pango2/pango-emoji-private.h
index f7578bf4..30a2fa62 100644
--- a/pango2/pango-emoji-private.h
+++ b/pango2/pango-emoji-private.h
@@ -20,6 +20,7 @@
#pragma once
#include <glib.h>
+#include "pango-types.h"
gboolean
_pango2_Is_Emoji_Base_Character (gunichar ch);
@@ -29,13 +30,21 @@ _pango2_Is_Emoji_Extended_Pictographic (gunichar ch);
typedef struct _Pango2EmojiIter Pango2EmojiIter;
+typedef enum {
+ EMOJI_PRESENTATION_NONE,
+ EMOJI_PRESENTATION_TEXT,
+ EMOJI_PRESENTATION_EMOJI,
+} EmojiPresentation;
+
struct _Pango2EmojiIter
{
const char *text_start;
const char *text_end;
const char *start;
const char *end;
- gboolean is_emoji;
+
+ gboolean explicit;
+ EmojiPresentation state;
unsigned char *types;
unsigned int n_chars;
@@ -43,12 +52,17 @@ struct _Pango2EmojiIter
};
Pango2EmojiIter *
-_pango2_emoji_iter_init (Pango2EmojiIter *iter,
- const char *text,
- int length);
+pango2_emoji_iter_init (Pango2EmojiIter *iter,
+ const char *text,
+ int length);
gboolean
-_pango2_emoji_iter_next (Pango2EmojiIter *iter);
+pango2_emoji_iter_next (Pango2EmojiIter *iter);
+
void
-_pango2_emoji_iter_fini (Pango2EmojiIter *iter);
+pango2_emoji_iter_fini (Pango2EmojiIter *iter);
+
+EmojiPresentation
+pango2_emoji_iter_get (Pango2EmojiIter *iter,
+ Pango2EmojiPresentation preferred);