2018-01-05 19:21:07 +02:00
|
|
|
/*
|
|
|
|
* CPrologEpilogVideo.h, part of VCMI engine
|
|
|
|
*
|
|
|
|
* Authors: listed in file AUTHORS in main folder
|
|
|
|
*
|
|
|
|
* License: GNU General Public License v2.0 or later
|
|
|
|
* Full text of license available in license.txt file, in main folder
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "../windows/CWindowObject.h"
|
2023-06-25 21:28:24 +02:00
|
|
|
|
|
|
|
#include "../../lib/campaign/CampaignScenarioPrologEpilog.h"
|
2018-01-05 19:21:07 +02:00
|
|
|
|
|
|
|
class CMultiLineLabel;
|
2024-05-18 19:58:51 +02:00
|
|
|
class CFilledTexture;
|
2018-01-05 19:21:07 +02:00
|
|
|
|
|
|
|
class CPrologEpilogVideo : public CWindowObject
|
|
|
|
{
|
2023-06-25 20:16:03 +02:00
|
|
|
CampaignScenarioPrologEpilog spe;
|
2018-01-05 19:21:07 +02:00
|
|
|
int positionCounter;
|
|
|
|
int voiceSoundHandle;
|
2024-01-25 21:49:59 +02:00
|
|
|
uint32_t voiceDurationMilliseconds;
|
|
|
|
uint32_t elapsedTimeMilliseconds;
|
2023-10-08 20:27:56 +02:00
|
|
|
int videoSoundHandle;
|
2018-01-05 19:21:07 +02:00
|
|
|
std::function<void()> exitCb;
|
|
|
|
|
|
|
|
std::shared_ptr<CMultiLineLabel> text;
|
2024-05-18 19:58:51 +02:00
|
|
|
std::shared_ptr<CFilledTexture> backgroundAroundMenu;
|
2018-01-05 19:21:07 +02:00
|
|
|
|
2023-09-11 14:44:07 +02:00
|
|
|
bool voiceStopped = false;
|
|
|
|
|
2018-01-05 19:21:07 +02:00
|
|
|
public:
|
2023-06-25 20:16:03 +02:00
|
|
|
CPrologEpilogVideo(CampaignScenarioPrologEpilog _spe, std::function<void()> callback);
|
2018-01-05 19:21:07 +02:00
|
|
|
|
2024-01-25 21:49:59 +02:00
|
|
|
void tick(uint32_t msPassed) override;
|
2023-07-08 13:33:04 +02:00
|
|
|
void clickPressed(const Point & cursorPosition) override;
|
2023-06-02 15:42:18 +02:00
|
|
|
void show(Canvas & to) override;
|
2018-01-05 19:21:07 +02:00
|
|
|
};
|