#include "InsetLayout.h"
#include "LayoutEnums.h"
#include "OutputEnums.h"
+#include "OutputParams.h"
#include "support/strfwd.h"
#include "support/types.h"
class CursorSlice;
class Dimension;
class DocIterator;
+class Encoding;
class FuncRequest;
class FuncStatus;
class InsetArgument;
/// Don't eliminate empty paragraphs
virtual bool allowEmpty() const;
/// Force inset into LTR environment if surroundings are RTL
- virtual bool forceLTR() const;
+ virtual bool forceLTR(OutputParams const &) const;
/// whether to include this inset in the strings generated for the TOC
virtual bool isInToc() const;
/// if this inset has paragraphs should they be forced to use a
/// local font language switch?
virtual bool forceLocalFontSwitch() const { return false; }
+ /// if this inset has paragraphs should they be forced to use a
+ /// font language switch that switches paragraph directions
+ /// (relevant with polyglossia only)?
+ virtual bool forceParDirectionSwitch() const { return false; }
+ /// Does the inset force a specific encoding?
+ virtual Encoding const * forcedEncoding(Encoding const *, Encoding const *) const
+ { return 0; }
+
/// Is the content of this inset part of the output document?
virtual bool producesOutput() const { return true; }
/// does this inset try to use all available space (like \\hfill does)?
virtual bool isHfill() const { return false; }
+ virtual OutputParams::CtObject CtObject(OutputParams const &) const { return OutputParams::CT_NORMAL; }
+
enum DisplayType {
Inline = 0,
AlignLeft,
*/
virtual bool resetFontEdit() const;
+ /// does the inset contain changes ?
+ virtual bool isChanged() const { return false; }
/// set the change for the entire inset
virtual void setChange(Change const &) {}
/// accept the changes within the inset
/// reject the changes within the inset
virtual void rejectChanges() {}
+ ///
+ virtual bool needsCProtection(bool const, bool const) const { return false; }
+
///
virtual ColorCode backgroundColor(PainterInfo const &) const;
///