* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#include "support/types.h"
+
+namespace lyx {
+
class Buffer;
class BufferParams;
-class InsetBase;
-class LyXFont;
+class Inset;
+class Font;
class Paragraph;
class ParagraphList;
-
-///
+/**
+ * This breaks a paragraph at the specified position.
+ * The new paragraph will:
+ * - Decrease depth by one (or change layout to default layout) when
+ * keep_layout == false
+ * - keep current depth and layout when keep_layout == true
+ */
void breakParagraph(BufferParams const & bparams,
ParagraphList & paragraphs,
- lyx::par_type par,
- lyx::pos_type pos,
- int flag);
+ pit_type par,
+ pos_type pos,
+ bool keep_layout);
///
void breakParagraphConservative(BufferParams const & bparams,
ParagraphList & paragraphs,
- lyx::par_type par,
- lyx::pos_type pos);
+ pit_type par,
+ pos_type pos);
/**
* Append the next paragraph onto the tail of this one.
* Be careful, this doesent make any check at all.
*/
void mergeParagraph(BufferParams const & bparams,
- ParagraphList & paragraphs, lyx::par_type par);
+ ParagraphList & paragraphs, pit_type par);
/// for the environments
-lyx::par_type depthHook(lyx::par_type par,
- ParagraphList const & plist, lyx::depth_type depth);
+pit_type depthHook(pit_type par,
+ ParagraphList const & plist, depth_type depth);
-lyx::par_type outerHook(lyx::par_type par, ParagraphList const & plist);
+pit_type outerHook(pit_type par, ParagraphList const & plist);
/// Is it the first par with same depth and layout?
-bool isFirstInSequence(lyx::par_type par, ParagraphList const & plist);
+bool isFirstInSequence(pit_type par, ParagraphList const & plist);
/** Check if the current paragraph is the last paragraph in a
proof environment */
-int getEndLabel(lyx::par_type par, ParagraphList const & plist);
+int getEndLabel(pit_type par, ParagraphList const & plist);
+
+/**
+ * Get the font of the "environment" of paragraph \p par_offset in \p pars.
+ * All font changes of the paragraph are relative to this font.
+ */
+Font const outerFont(pit_type par_offset, ParagraphList const & pars);
-LyXFont const outerFont(lyx::par_type par, ParagraphList const & plist);
+/// accept the changes within the complete ParagraphList
+void acceptChanges(ParagraphList & pars, BufferParams const & bparams);
-/// find outermost paragraph containing an inset
-lyx::par_type outerPar(Buffer const & buf, InsetBase const * inset);
-/// return the range of pars [beg, end[ owning the range of y [ystart, yend]
-void getParsInRange(ParagraphList & plist,
- int ystart, int yend,
- lyx::par_type & beg,
- lyx::par_type & end);
+} // namespace lyx
#endif // PARAGRAPH_FUNCS_H