/*
- Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net>
This file is part of libdcp.
files in the program, then also delete it here.
*/
+
/** @file src/reel_mono_picture_asset.h
- * @brief ReelMonoPictureAsset class.
+ * @brief ReelMonoPictureAsset class
*/
+
#ifndef LIBDCP_REEL_MONO_PICTURE_ASSET_H
#define LIBDCP_REEL_MONO_PICTURE_ASSET_H
+
#include "reel_picture_asset.h"
-#include "mono_picture_asset.h"
+#include "mono_j2k_picture_asset.h"
+#include "mono_mpeg2_picture_asset.h"
+
namespace dcp {
-class MonoPictureAsset;
+
+class MonoJ2KPictureAsset;
+
/** @class ReelMonoPictureAsset
- * @brief Part of a Reel's description which refers to a monoscopic picture asset.
+ * @brief Part of a Reel's description which refers to a monoscopic picture asset
*/
class ReelMonoPictureAsset : public ReelPictureAsset
{
public:
- ReelMonoPictureAsset ();
- ReelMonoPictureAsset (boost::shared_ptr<MonoPictureAsset> asset, int64_t entry_point);
- explicit ReelMonoPictureAsset (boost::shared_ptr<const cxml::Node>);
+ ReelMonoPictureAsset(std::shared_ptr<PictureAsset> asset, int64_t entry_point);
+ explicit ReelMonoPictureAsset (std::shared_ptr<const cxml::Node>);
- /** @return the MonoPictureAsset that this object refers to */
- boost::shared_ptr<const MonoPictureAsset> mono_asset () const {
- return asset_of_type<const MonoPictureAsset> ();
+ /** @return the MonoJ2KPictureAsset that this object refers to, if applicable */
+ std::shared_ptr<const MonoJ2KPictureAsset> mono_j2k_asset() const {
+ return asset_of_type<const MonoJ2KPictureAsset>();
}
- /** @return the MonoPictureAsset that this object refers to */
- boost::shared_ptr<MonoPictureAsset> mono_asset () {
- return asset_of_type<MonoPictureAsset> ();
+ /** @return the MonoJ2KPictureAsset that this object refers to */
+ std::shared_ptr<MonoJ2KPictureAsset> mono_j2k_asset() {
+ return asset_of_type<MonoJ2KPictureAsset>();
+ }
+
+ /** @return the MonoMPEG2PictureAsset that this object refers to, if applicable */
+ std::shared_ptr<const MonoMPEG2PictureAsset> mono_mpeg2_asset() const {
+ return asset_of_type<const MonoMPEG2PictureAsset>();
+ }
+
+ /** @return the MonoMPEG2PictureAsset that this object refers to */
+ std::shared_ptr<MonoMPEG2PictureAsset> mono_mpeg2_asset() {
+ return asset_of_type<MonoMPEG2PictureAsset>();
}
private:
- std::string cpl_node_name () const;
+ std::string cpl_node_name (Standard standard) const override;
};
+
}
+
#endif