21#ifndef TAGLIB_MATROSKAELEMENT_H
22#define TAGLIB_MATROSKAELEMENT_H
23#ifndef DO_NOT_DOCUMENT
38 using ID =
unsigned int;
39 explicit Element(ID
id);
45 void setOffset(offset_t offset);
46 void adjustOffset(offset_t delta);
47 void setSize(offset_t size);
49 virtual bool render();
50 void setNeedsRender(
bool needsRender);
51 bool needsRender()
const;
52 void setData(
const ByteVector &data);
53 const ByteVector &data()
const;
55 void addSizeListener(Element *element);
56 void addSizeListeners(
const List<Element *> &elements);
57 bool emitSizeChanged(offset_t delta);
58 virtual bool sizeChanged(Element &caller, offset_t delta);
61 offset_t sizeRenderedOrWritten()
const;
64 virtual ByteVector renderInternal() = 0;
68 std::unique_ptr<ElementPrivate> e;
A file class with some useful methods for tag manipulation.
Definition tfile.h:51
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