2009-11-30 14:07:43 -08:00
|
|
|
#ifndef EMOTIONXX_OBJECT_H
|
|
|
|
#define EMOTIONXX_OBJECT_H
|
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
/* EFL */
|
2016-04-13 09:46:41 -07:00
|
|
|
extern "C"
|
|
|
|
{
|
2010-07-23 14:36:37 -07:00
|
|
|
#include <Emotion.h>
|
2016-04-13 09:46:41 -07:00
|
|
|
}
|
2009-11-30 14:07:43 -08:00
|
|
|
|
|
|
|
/* EFL++ */
|
|
|
|
#include <eflxx/Common.h>
|
|
|
|
#include <evasxx/Canvas.h>
|
2010-09-20 13:21:26 -07:00
|
|
|
#include <evasxx/Smart.h>
|
2009-11-30 14:07:43 -08:00
|
|
|
|
|
|
|
/* STD */
|
|
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* C++ Wrapper for the Enlightenment Emotion Library (EMOTION)
|
|
|
|
*
|
2010-07-25 11:29:31 -07:00
|
|
|
* @author Andreas Volz <andreas.volz@tux-style.com>
|
2009-11-30 14:07:43 -08:00
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Emotionxx {
|
|
|
|
|
2010-09-20 13:21:26 -07:00
|
|
|
class Object : public Evasxx::Smart
|
2009-11-30 14:07:43 -08:00
|
|
|
{
|
|
|
|
public:
|
2010-07-23 14:36:37 -07:00
|
|
|
void setFile (const std::string &filename);
|
|
|
|
std::string getFile ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
void setPlay (bool play);
|
|
|
|
bool getPlay ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
void setPosition (double sec);
|
|
|
|
double getPosition ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
bool getVideoHandled ();
|
|
|
|
bool getAudioHandled ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
bool getSeekable ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
double getPlayLengh ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
void setPlaySpeed (double speed);
|
|
|
|
double getPlaySpeed ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
void eject ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
std::string getTitle ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
string getProgressInfo ();
|
|
|
|
double getProgressStatus ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
string getRefFile ();
|
|
|
|
int getRefNum ();
|
2010-07-25 11:29:31 -07:00
|
|
|
|
2010-07-23 14:36:37 -07:00
|
|
|
string getMetaInfo (Emotion_Meta_Info meta);
|
|
|
|
|
|
|
|
void setVIS (Emotion_Vis visualization);
|
|
|
|
Emotion_Vis getVIS ();
|
|
|
|
bool isVISSupported (Emotion_Vis visualization);
|
|
|
|
|
2010-07-25 11:29:31 -07:00
|
|
|
protected:
|
|
|
|
Object (Evasxx::Canvas &canvas, const std::string &moduleFilename);
|
|
|
|
Object (Evasxx::Canvas &canvas, const std::string &filename, const std::string &moduleFilename);
|
|
|
|
Object (Evasxx::Canvas &canvas, const Eflxx::Point &pos, const std::string &filename, const std::string &moduleFilename);
|
|
|
|
Object (Evasxx::Canvas &canvas, const Eflxx::Rect &rect, const std::string &filename, const std::string &moduleFilename);
|
|
|
|
virtual ~Object ();
|
2010-07-23 14:36:37 -07:00
|
|
|
|
2010-07-25 11:29:31 -07:00
|
|
|
private:
|
|
|
|
/**
|
|
|
|
* Initialize video engine to either use xine or gstreamer
|
|
|
|
*
|
|
|
|
* @param moduleFilename name of viedo engine to be used
|
|
|
|
*/
|
|
|
|
bool engineInit (const std::string &moduleFilename);
|
2009-11-30 14:07:43 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
} // end namespace Emotionxx
|
|
|
|
|
|
|
|
#endif // EMOTIONXX_OBJECT_H
|