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
00021 #ifndef GNASH_GNASHVAAPIIMAGE_H
00022 #define GNASH_GNASHVAAPIIMAGE_H
00023
00024 #include <boost/shared_ptr.hpp>
00025
00026 #include "GnashImage.h"
00027 #include "dsodefs.h"
00028
00029 namespace gnash {
00030
00031
00032 class VaapiSurface;
00033 class VaapiSurfaceProxy;
00034
00036 class DSOEXPORT GnashVaapiImage : public image::GnashImage
00037 {
00038 boost::shared_ptr<VaapiSurface> _surface;
00039 boost::uint64_t _creation_time;
00040
00042 bool transfer();
00043
00044 public:
00045 GnashVaapiImage(boost::shared_ptr<VaapiSurface> surface,
00046 image::ImageType type);
00047 GnashVaapiImage(const GnashVaapiImage& o);
00048 ~GnashVaapiImage();
00049
00050 virtual void update(boost::shared_ptr<VaapiSurface> surface);
00051 virtual void update(boost::uint8_t* data);
00052 virtual void update(const image::GnashImage& from);
00053
00055
00057 boost::shared_ptr<VaapiSurface> surface() const
00058 { return _surface; }
00059
00061
00063
00065 virtual iterator begin();
00066
00068
00070 virtual const_iterator begin() const;
00071 };
00072
00073 }
00074
00075 #endif // GNASH_GNASHVAAPIIMAGE_H
00076
00077
00078
00079
00080