Ocean
WICImageSequence.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_MEDIA_WIC_WIC_IMAGE_SEQUENCE_H
9 #define META_OCEAN_MEDIA_WIC_WIC_IMAGE_SEQUENCE_H
10 
11 #include "ocean/media/wic/WIC.h"
13 
15 
16 namespace Ocean
17 {
18 
19 namespace Media
20 {
21 
22 namespace WIC
23 {
24 
25 /**
26  * This class implements an image sequence for WIC.
27  * @ingroup mediawic
28  */
29 class OCEAN_MEDIA_WIC_EXPORT WICImageSequence :
30  virtual public WICObject,
31  virtual public ImageFileSequence
32 {
33  friend class WICLibrary;
34 
35  public:
36 
37  /**
38  * Clones this medium and returns a new independent instance of this medium.
39  * @see Medium::clone().
40  */
41  MediumRef clone() const override;
42 
43  protected:
44 
45  /**
46  * Creates a new medium by a given url.
47  * @param url Url of the medium
48  */
49  explicit WICImageSequence(const std::string& url);
50 
51  /**
52  * Destructs an image object.
53  */
54  virtual ~WICImageSequence();
55 
56  /**
57  * Loads a new image specified by the filename.
58  * @see ImageSequence::loadImage().
59  */
60  bool loadImage(const std::string& filename, const Timestamp timestamp, Frame* frame = nullptr) override;
61 };
62 
63 }
64 
65 }
66 
67 }
68 
69 #endif // META_OCEAN_MEDIA_WIC_WIC_IMAGE_SEQUENCE_H
This class implements Ocean's image class.
Definition: Frame.h:1792
Definition: ImageFileSequence.h:30
This class implements an image sequence for WIC.
Definition: WICImageSequence.h:32
bool loadImage(const std::string &filename, const Timestamp timestamp, Frame *frame=nullptr) override
Loads a new image specified by the filename.
virtual ~WICImageSequence()
Destructs an image object.
WICImageSequence(const std::string &url)
Creates a new medium by a given url.
MediumRef clone() const override
Clones this medium and returns a new independent instance of this medium.
This class implements the WIC library.
Definition: WICLibrary.h:32
This class is the base class for all object inside this library.
Definition: WICObject.h:31
This template class implements a object reference with an internal reference counter.
Definition: base/ObjectRef.h:58
This class implements a timestamp.
Definition: Timestamp.h:36
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15