Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GNASH_GNASHVAAPIIMAGE_H
00021 #define GNASH_GNASHVAAPIIMAGE_H
00022
00023 #include "GnashImage.h"
00024 #include <boost/shared_ptr.hpp>
00025
00026 namespace gnash {
00027
00028
00029 class VaapiSurface;
00030 class VaapiSurfaceProxy;
00031
00033 class DSOEXPORT GnashVaapiImage : public image::GnashImage
00034 {
00035 boost::shared_ptr<VaapiSurface> _surface;
00036 boost::uint64_t _creation_time;
00037
00039 bool transfer();
00040
00041 public:
00042 GnashVaapiImage(boost::shared_ptr<VaapiSurface> surface,
00043 image::ImageType type);
00044 GnashVaapiImage(const GnashVaapiImage& o);
00045 ~GnashVaapiImage();
00046
00047 virtual void update(boost::shared_ptr<VaapiSurface> surface);
00048 virtual void update(boost::uint8_t* data);
00049 virtual void update(const image::GnashImage& from);
00050
00052
00054 boost::shared_ptr<VaapiSurface> surface() const
00055 { return _surface; }
00056
00058
00060
00062 virtual iterator begin();
00063
00065
00067 virtual const_iterator begin() const;
00068 };
00069
00070 }
00071
00072 #endif // GNASH_GNASHVAAPIIMAGE_H
00073
00074
00075
00076
00077