You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.0 KiB
50 lines
1.0 KiB
/* |
|
* Xournal++ |
|
* |
|
* Element that is audio enabled |
|
* |
|
* @author Xournal++ Team |
|
* https://github.com/xournalpp/xournalpp |
|
* |
|
* @license GNU GPLv2 or later |
|
*/ |
|
|
|
#pragma once |
|
|
|
#include "Element.h" |
|
#include <XournalType.h> |
|
#include <serializing/ObjectInputStream.h> |
|
#include <serializing/ObjectOutputStream.h> |
|
|
|
class AudioElement : public Element |
|
{ |
|
protected: |
|
AudioElement(ElementType type); |
|
|
|
public: |
|
~AudioElement() override; |
|
|
|
void setTimestamp(size_t timestamp); |
|
size_t getTimestamp() const; |
|
|
|
void setAudioFilename(string fn); |
|
string getAudioFilename() const; |
|
|
|
virtual bool intersects(double x, double y, double halfSize) = 0; |
|
virtual bool intersects(double x, double y, double halfSize, double* gap) = 0; |
|
|
|
protected: |
|
void serializeAudioElement(ObjectOutputStream& out); |
|
void readSerializedAudioElement(ObjectInputStream& in); |
|
|
|
void cloneAudioData(const AudioElement *other); |
|
|
|
private: |
|
XOJ_TYPE_ATTRIB; |
|
|
|
// Stroke timestamp, to match it to the audio stream |
|
size_t timestamp = 0; |
|
string audioFilename = ""; |
|
}; |
|
|
|
|
|
|