home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Geek 6
/
Geek-006.iso
/
linux
/
video
/
xmovie-1.5.3.tar.gz
/
xmovie-1.5.3.tar
/
xmovie-1.5.3
/
xmovie
/
mainmenu.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-11-29
|
3KB
|
172 lines
#ifndef MAINMENU_H
#define MAINMENU_H
#include "defaults.h"
#include "guicast.h"
#include "load.inc"
#include "loaddvd.inc"
#include "mainwindow.inc"
#include "settings.inc"
#define TOTAL_LOADS 5
class Load;
class LoadPrevious;
class StreamMenuItem;
class MainMenu : public BC_MenuBar
{
public:
MainMenu(MainWindow *mwindow, int w);
~MainMenu();
int create_objects();
int update_list_menu(BC_Menu *menu,
int total,
int do_audio,
int do_video,
int &total_streams,
StreamMenuItem **array);
int update_audio_streams(int total_streams);
int update_video_streams(int total_streams);
// most recent loads
int add_load(char *path);
int init_loads(Defaults *defaults);
int save_loads(Defaults *defaults);
// for previous document loader
Load *load_file;
LoadPrevious *load_previous[TOTAL_LOADS];
BC_Menu *filemenu, *videomenu, *audiomenu;
StreamMenuItem *astreams[256], *vstreams[256];
int total_astreams, total_vstreams;
MainWindow *mwindow;
int total_loads;
};
class Quit : public BC_MenuItem
{
public:
Quit(MainWindow *mwindow);
~Quit();
int handle_event();
MainWindow *mwindow;
};
class Load : public BC_MenuItem
{
public:
Load(MainWindow *mwindow);
~Load();
int handle_event();
MainWindow *mwindow;
LoadThread *thread;
};
class LoadDVD : public BC_MenuItem
{
public:
LoadDVD(MainWindow *mwindow);
~LoadDVD();
int handle_event();
MainWindow *mwindow;
LoadDVDThread *thread;
};
class SoftwareSync : public BC_MenuItem
{
public:
SoftwareSync(MainWindow *mwindow);
~SoftwareSync();
int handle_event();
MainWindow *mwindow;
};
class OriginalSize : public BC_MenuItem
{
public:
OriginalSize(MainWindow *mwindow);
~OriginalSize();
int handle_event();
MainWindow *mwindow;
};
class HalfSize : public BC_MenuItem
{
public:
HalfSize(MainWindow *mwindow);
~HalfSize();
int handle_event();
MainWindow *mwindow;
};
class DoubleSize : public BC_MenuItem
{
public:
DoubleSize(MainWindow *mwindow);
~DoubleSize();
int handle_event();
MainWindow *mwindow;
};
class SettingsMenu : public BC_MenuItem
{
public:
SettingsMenu(MainWindow *mwindow);
~SettingsMenu();
int handle_event();
MainWindow *mwindow;
SettingsThread *thread;
};
class EveryFrame : public BC_MenuItem
{
public:
EveryFrame(MainWindow *mwindow);
~EveryFrame();
int handle_event();
MainWindow *mwindow;
};
class LoadPrevious : public BC_MenuItem
{
public:
LoadPrevious(Load *loadfile);
int handle_event();
void run();
int set_path(char *path);
Load *loadfile;
char path[1024];
};
class StreamMenuItem : public BC_MenuItem
{
public:
StreamMenuItem(MainWindow *mwindow,
int stream_number,
char *text,
int do_audio,
int do_video);
~StreamMenuItem();
int handle_event();
MainWindow *mwindow;
int stream_number;
int do_audio;
int do_video;
};
class Close : public BC_MenuItem
{
public:
Close(MainWindow *mwindow);
~Close();
int handle_event();
MainWindow *mwindow;
};
#endif