/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */

#pragma once

#include "ExampleApps/CubesExampleApp.hpp"
#include "ExampleApps/MovingCubeApp.hpp"
#include "ExampleApps/TexturedCubeExampleApp.hpp"
#include "ExampleApps/BillboardExampleApp.hpp"
#include "ExampleApps/TextExampleApp.hpp"
#include "ExampleApps/LabelDrawableExampleApp.hpp"
#include <vector>

namespace OpenVulkano
{
	const std::vector<std::pair<const char*, IGraphicsApp*(*)()>> EXAMPLE_APPS = {
		{ "Cubes Example App", &CubesExampleApp::Create },
		{ "Moving Cube Example App", &MovingCubeApp::Create },
		{ "Textured Cube Example App", &TexturedCubeExampleApp::Create },
		{ "Billboard Example App", &BillboardExampleApp::Create },
		{ "Text Example App", &TextExampleApp::Create },
		{ "Label Example App", &LabelDrawableExampleApp::Create }
	};
}
