Add cairo interface.

This commit is contained in:
jmsgrogan 2021-04-17 13:57:14 +01:00
parent a03eb9599f
commit 9bcc0ae88e
63 changed files with 1247 additions and 450 deletions

View file

@ -3,6 +3,12 @@
#include "MidiReader.h"
#include "File.h"
#include "DocumentConverter.h"
#include "DrawingManager.h"
#include "DrawingSurface.h"
#include "DrawingContext.h"
#include "TextElement.h"
#include "DiscretePoint.h"
#include <filesystem>
MainApplication::MainApplication()
@ -69,6 +75,15 @@ void MainApplication::Run()
{
ConvertDocument(input_path, output_path);
}
else if(program_type == "-draw")
{
auto drawing_manager = DrawingManager::Create();
drawing_manager->InitalizeSurface(400, 400);
auto text = TextElement::Create("Hello World", DiscretePoint(20, 20));
drawing_manager->AddText(text.get());
drawing_manager->RenderToFile("test.png");
}
else
{
MLOG_ERROR("Unknown program type: " + program_type);
@ -84,9 +99,7 @@ void MainApplication::PlayAudio()
{
//MidiReader reader;
//reader.Read("/home/james/sample.mid");
auto device = AudioDevice::Create();
mAudioManager->GetAudioInterface()->OpenDevice(device);
mAudioManager->GetAudioInterface()->Play(device);
mAudioManager->Play();
}
void MainApplication::ConvertDocument(const std::string& inputPath, const std::string& outputPath)