#include "DrawEventRecorder.h"
#include "PathRecording.h"
namespace mozilla {
namespace gfx {
using namespace std;
const uint32_t kMagicInt = 0xc001feed;
DrawEventRecorderPrivate::DrawEventRecorderPrivate(std::ostream *aStream)
: mOutputStream(aStream)
{
}
void
DrawEventRecorderPrivate::RecordEvent(const RecordedEvent &aEvent)
{
WriteElement(*mOutputStream, aEvent.mType);
aEvent.RecordToStream(*mOutputStream);
Flush();
}
DrawEventRecorderFile::DrawEventRecorderFile(const char *aFilename)
: DrawEventRecorderPrivate(nullptr)
, mOutputFile(aFilename, ofstream::binary)
{
mOutputStream = &mOutputFile;
WriteElement(*mOutputStream, kMagicInt);
WriteElement(*mOutputStream, kMajorRevision);
WriteElement(*mOutputStream, kMinorRevision);
}
DrawEventRecorderFile::~DrawEventRecorderFile()
{
mOutputFile.close();
}
void
DrawEventRecorderFile::Flush()
{
mOutputFile.flush();
}
}
}