X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FChanges.h;h=61e32b7dd9095afd2f8f863baa02c0ff67804f46;hb=fba1c434e5166d0bd44fc7b981a141ab94553d5d;hp=cb5f57b080a360a939cf8ffc030ce4866a097a24;hpb=3b6931719aa7e1269997d2e950b3ce436d5bd34d;p=lyx.git diff --git a/src/Changes.h b/src/Changes.h index cb5f57b080..61e32b7dd9 100644 --- a/src/Changes.h +++ b/src/Changes.h @@ -17,7 +17,6 @@ #include "Color.h" -#include "support/docstream.h" #include "support/strfwd.h" #include "support/types.h" #include "support/lyxtime.h" @@ -30,7 +29,12 @@ namespace lyx { class AuthorList; class Buffer; class DocIterator; +class FontInfo; class OutputParams; +class otexstream; +class PainterInfo; +class TocBackend; + class Change { public: @@ -41,7 +45,7 @@ public: DELETED // deleted text }; - explicit Change(Type t = UNCHANGED, int a = 0, time_t ct = current_time()) + explicit Change(Type t = UNCHANGED, int a = 0, time_t ct = support::current_time()) : type(t), author(a), changetime(ct) {} /// is the change similar to the given change such that both can be merged? @@ -63,6 +67,20 @@ public: /// Is this change made by the current author ? bool currentAuthor() const { return author == 0; } + /// Paint under- or strike-through line + /// + /// Text : underline or strike through + /// \param x1 begin + /// \param x2 end + /// \param y baseline + void paintCue(PainterInfo & pi, double const x1, double const y, + double const x2, FontInfo const & font) const; + /// Box : line below or diagonal + /// \param x1,y1 top-left corner + /// \param x2,y2 bottom-right corner + void paintCue(PainterInfo & pi, double const x1, double const y1, + double const x2, double const y2) const; + Type type; int author; @@ -97,13 +115,15 @@ public: /// return true if there is a change in the given range (excluding end) bool isChanged(pos_type start, pos_type end) const; + /// + bool isChanged() const; /// return true if the whole range is deleted bool isDeleted(pos_type start, pos_type end) const; /// output latex to mark a transition between two change types /// returns length of text outputted - static int latexMarkChange(odocstream & os, BufferParams const & bparams, + static int latexMarkChange(otexstream & os, BufferParams const & bparams, Change const & oldChange, Change const & change, OutputParams const & runparams); @@ -112,10 +132,11 @@ public: int & column, Change const & old, Change const & change); /// - void checkAuthors(AuthorList const & authorList); + void checkAuthors(AuthorList const & authorList) const; /// - void addToToc(DocIterator const & cdit, Buffer const & buffer) const; + void addToToc(DocIterator const & cdit, Buffer const & buffer, + bool output_active, TocBackend & backend) const; private: class Range {