X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FChanges.h;h=d53887556d5a32ffb9fc352ed8f7d3c03e3a32f3;hb=3bf1b97ae547aea5d0243e41b2d8af463a6e40c5;hp=1d55b03b548acd191cb36d77d764bc16df0bc130;hpb=b917c4e40f9f5cd3d101444600eddafcca54d6e3;p=features.git diff --git a/src/Changes.h b/src/Changes.h index 1d55b03b54..d53887556d 100644 --- a/src/Changes.h +++ b/src/Changes.h @@ -15,14 +15,10 @@ #ifndef CHANGES_H #define CHANGES_H -#include "Color.h" - #include "support/strfwd.h" #include "support/types.h" #include "support/lyxtime.h" -#include "texstream.h" - #include @@ -30,8 +26,14 @@ namespace lyx { class AuthorList; class Buffer; +class Color; class DocIterator; +class FontInfo; class OutputParams; +class otexstream; +class PainterInfo; +class TocBackend; + class Change { public: @@ -64,6 +66,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; @@ -78,8 +94,6 @@ class BufferParams; class Changes { public: - Changes() : is_update_required_(false) {} - /// set the pos to the given change void set(Change const & change, pos_type pos); /// set the range (excluding end) to the given change @@ -87,11 +101,11 @@ public: /// erase the entry at pos and adjust all range bounds past it /// (assumes that a character was deleted at pos) - void erase(lyx::pos_type pos); + void erase(pos_type pos); /// insert a new entry at pos and adjust all range bounds past it /// (assumes that a character was inserted at pos) - void insert(Change const & change, lyx::pos_type pos); + void insert(Change const & change, pos_type pos); /// @@ -117,16 +131,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, - bool output_active) const; - - /// - void updateBuffer(Buffer const & buf); - /// - bool isUpdateRequired() const { return is_update_required_; } + bool output_active, TocBackend & backend) const; private: class Range { @@ -170,10 +179,6 @@ private: /// table of changes, every row a change and range descriptor ChangeTable table_; - - /// signals that the buffer's flag tracked_changes_present_ needs to be - /// recalculated - bool is_update_required_; };