virtualx-engine/drivers/theoraplayer/video_stream_theoraplayer.h
Juan Linietsky 8cab401d08 3D Physics Rework, Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=-

3D Physics:
-Fixed "Bounce" parameter in 3D
-Fixed bug affecting Area (sometims it would not detect properly)
-Vehicle Body has seen heavy work
-Added Query API for doing space queries in 3D. Needs some docs though.
-Added JOINTS! Adapted Bullet Joints: and created easy gizmos for setting them up:
   -PinJoint
   -HingeJoint (with motor)
   -SliderJoint
   -ConeTwistJoint
   -Generic6DOFJoint
-Added OBJECT PICKING! based on the new query API. Any physics object now (Area or Body) has the following signals and virtual functions:
    -input_event (mouse or multitouch input over the body)
    -mouse_enter (mouse entered the body area)
    -mouse_exit (mouse exited body area)
   For Area it needs to be activated manually, as it isn't by default (ray goes thru).

Other:

-Begun working on Windows 8 (RT) port. Compiles but does not work yet.
-Added TheoraPlayer library for improved to-texture and portable video support.
-Fixed a few bugs in the renderer, collada importer, collada exporter, etc.
2014-09-15 11:33:30 -03:00

62 lines
1.4 KiB
C++

#ifndef VIDEO_STREAM_THEORAPLAYER_H
#define VIDEO_STREAM_THEORAPLAYER_H
#include "scene/resources/video_stream.h"
#include "io/resource_loader.h"
class TheoraVideoManager;
class TheoraVideoClip;
class VideoStreamTheoraplayer : public VideoStream {
OBJ_TYPE(VideoStreamTheoraplayer,VideoStream);
mutable Image frame;
TheoraVideoManager* mgr;
TheoraVideoClip* clip;
bool started;
bool playing;
bool loop;
public:
virtual void stop();
virtual void play();
virtual bool is_playing() const;
virtual void set_paused(bool p_paused);
virtual bool is_paused(bool p_paused) const;
virtual void set_loop(bool p_enable);
virtual bool has_loop() const;
virtual float get_pos() const;
virtual void seek_pos(float p_time);
virtual float get_length() const;
virtual int get_pending_frame_count() const;
virtual Image pop_frame();
virtual Image peek_frame() const;
void update(float p_time);
void set_file(const String& p_file);
~VideoStreamTheoraplayer();
VideoStreamTheoraplayer();
};
class ResourceFormatLoaderVideoStreamTheoraplayer : public ResourceFormatLoader {
public:
virtual RES load(const String &p_path,const String& p_original_path="");
virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual bool handles_type(const String& p_type) const;
virtual String get_resource_type(const String &p_path) const;
};
#endif