21#ifndef TAGLIB_MATROSKAELEMENT_H
22#define TAGLIB_MATROSKAELEMENT_H
23#ifndef DO_NOT_DOCUMENT
39 using ID =
unsigned int;
40 explicit Element(ID
id);
46 void setOffset(offset_t offset);
47 void adjustOffset(offset_t delta);
48 void setSize(offset_t size);
50 virtual bool render();
51 void setNeedsRender(
bool needsRender);
52 bool needsRender()
const;
53 void setData(
const ByteVector &data);
54 const ByteVector &data()
const;
56 void addSizeListener(Element *element);
57 void addSizeListeners(
const List<Element *> &elements);
58 bool emitSizeChanged(offset_t delta);
59 virtual bool sizeChanged(Element &caller, offset_t delta);
61 void setWriteStyle(WriteStyle style);
63 void setIsLastElement(
bool isLast);
64 void setAppendOffset(offset_t appendOffset);
65 bool wasMoved()
const;
69 void setIsTrailingInSegment(
bool isTrailing);
70 bool isTrailingInSegment()
const;
73 offset_t sizeRenderedOrWritten()
const;
76 virtual ByteVector renderInternal() = 0;
80 std::unique_ptr<ElementPrivate> e;
A file class with some useful methods for tag manipulation.
Definition tfile.h:51
WriteStyle
Definition matroskawritestyle.h:36
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
off_t offset_t
Definition taglib.h:64
#define TAGLIB_EXPORT
Definition taglib_export.h:40
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55