+class GtkTextBufferOutputStream : public TextOutputStream
+{
+ GtkTextBuffer* textBuffer;
+ GtkTextIter* iter;
+ GtkTextTag* tag;
+public:
+ GtkTextBufferOutputStream(GtkTextBuffer* textBuffer, GtkTextIter* iter, GtkTextTag* tag) : textBuffer(textBuffer), iter(iter), tag(tag)
+ {
+ }
+ std::size_t write(const char* buffer, std::size_t length)
+ {
+ gtk_text_buffer_insert_with_tags(textBuffer, iter, buffer, gint(length), tag, 0);
+ return length;
+ }
+};
+