#include "LayoutEnums.h"
#include "OutputEnums.h"
#include "OutputParams.h"
+#include "RowFlags.h"
#include "support/docstring.h"
#include "support/strfwd.h"
/// output, add PLAINTEXT_NEWLINE to the number of chars in the last line
virtual int plaintext(odocstringstream &, OutputParams const &,
size_t max_length = INT_MAX) const = 0;
- /// docbook output
+ /// DocBook output
virtual void docbook(XMLStream &, OutputParams const &) const;
/// XHTML output
/// the inset is expected to write XHTML to the XMLStream
virtual CtObject getCtObject(OutputParams const &) const;
- enum RowFlags {
- Inline = 0,
- // break row before this inset
- BreakBefore = 1 << 0,
- // break row after this inset
- BreakAfter = 1 << 1,
- // it is possible to break after this inset
- CanBreakAfter = 1 << 2,
- // force new (maybe empty) row after this inset
- RowAfter = 1 << 3,
- // specify an alignment (left, right) for a display inset
- // (default is center)
- AlignLeft = 1 << 4,
- AlignRight = 1 << 5,
- // A display inset breaks row at both ends
- Display = BreakBefore | BreakAfter
- };
-
- /// How should this inset be displayed in its row?
- virtual RowFlags rowFlags() const { return Inline; }
+ // properties with respect to row breaking (made of RowFLag enums)
+ virtual int rowFlags() const { return Inline; }
/// indentation before this inset (only needed for displayed hull insets with fleqn option)
virtual int indent(BufferView const &) const { return 0; }
///
protected:
/// Constructors
Inset(Buffer * buf) : buffer_(buf) {}
- Inset(Inset const &) : buffer_(nullptr) {}
- Inset(Inset const &&) : buffer_(nullptr) {}
+ Inset(Inset const &) : buffer_(0) {}
/// replicate ourselves
friend class InsetList;
};
-inline Inset::RowFlags operator|(Inset::RowFlags const d1,
- Inset::RowFlags const d2)
-{
- return static_cast<Inset::RowFlags>(int(d1) | int(d2));
-}
-
-
-inline Inset::RowFlags operator&(Inset::RowFlags const d1,
- Inset::RowFlags const d2)
-{
- return static_cast<Inset::RowFlags>(int(d1) & int(d2));
-}
-
-
} // namespace lyx
#endif