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 / settings.h < prev    next >
C/C++ Source or Header  |  2000-11-29  |  3KB  |  180 lines

  1. #ifndef SETTINGS_H
  2. #define SETTINGS_H
  3.  
  4. #include "guicast.h"
  5. #include "mainwindow.inc"
  6. #include "mutex.h"
  7. #include "thread.h"
  8.  
  9. class SettingsWindow;
  10.  
  11. class SettingsThread : public Thread
  12. {
  13. public:
  14.     SettingsThread(MainWindow *mwindow);
  15.     ~SettingsThread();
  16.  
  17.     void run();
  18.     int update_framerate();
  19.  
  20.     MainWindow *mwindow;
  21.     float aspect_w, aspect_h;
  22.     float letter_w, letter_h;
  23.     int square_pixels;
  24.     int crop_letterbox;
  25.     int smp;
  26.     long prebuffer_size;
  27.     int thread_running;
  28.     int convert_601;
  29.     int audio_priority;
  30.     int mmx;
  31.     SettingsWindow *window;
  32.     Mutex change_lock;
  33. };
  34.  
  35.  
  36. class SettingsWindow : public BC_Window
  37. {
  38. public:
  39.     SettingsWindow(MainWindow *mwindow, SettingsThread *thread);
  40.     ~SettingsWindow();
  41.     
  42.     int initialize();
  43.     
  44.     MainWindow *mwindow;
  45.     SettingsThread *thread;
  46.     BC_Title *frame_rate;
  47.     ArrayList<BC_ListBoxItem*> aspect_ratios;
  48. };
  49.  
  50. class SettingsW : public BC_TextBox
  51. {
  52. public:
  53.     SettingsW(SettingsThread *thread, int x, int y, char *string);
  54.     ~SettingsW();
  55.     
  56.     int handle_event();
  57.     
  58.     SettingsThread *thread;
  59. };
  60.  
  61. class SettingsH : public BC_TextBox
  62. {
  63. public:
  64.     SettingsH(SettingsThread *thread, int x, int y, char *string);
  65.     ~SettingsH();
  66.     
  67.     int handle_event();
  68.     
  69.     SettingsThread *thread;
  70. };
  71.  
  72. class SettingsLetterW : public BC_TextBox
  73. {
  74. public:
  75.     SettingsLetterW(SettingsThread *thread, int x, int y, char *string);
  76.     ~SettingsLetterW();
  77.     int handle_event();
  78.     SettingsThread *thread;
  79. };
  80.  
  81. class SettingsLetterH : public BC_TextBox
  82. {
  83. public:
  84.     SettingsLetterH(SettingsThread *thread, int x, int y, char *string);
  85.     ~SettingsLetterH();
  86.     int handle_event();
  87.     SettingsThread *thread;
  88. };
  89.  
  90. class SettingsEnableAspect : public BC_CheckBox
  91. {
  92. public:
  93.     SettingsEnableAspect(SettingsThread *thread, int x, int y);
  94.     ~SettingsEnableAspect();
  95.     int handle_event();
  96.     SettingsThread *thread;
  97. };
  98.  
  99. class SettingsEnableLetter : public BC_CheckBox
  100. {
  101. public:
  102.     SettingsEnableLetter(SettingsThread *thread, int x, int y);
  103.     ~SettingsEnableLetter();
  104.     int handle_event();
  105.     SettingsThread *thread;
  106. };
  107.  
  108. class SettingsEnable601 : public BC_CheckBox
  109. {
  110. public:
  111.     SettingsEnable601(SettingsThread *thread, int x, int y);
  112.     ~SettingsEnable601();
  113.     int handle_event();
  114.     SettingsThread *thread;
  115. };
  116.  
  117. class SettingsSMP : public BC_CheckBox
  118. {
  119. public:
  120.     SettingsSMP(SettingsThread *thread, int x, int y);
  121.     ~SettingsSMP();
  122.     
  123.     int handle_event();
  124.     
  125.     SettingsThread *thread;
  126. };
  127.  
  128. class SettingsMMX : public BC_CheckBox
  129. {
  130. public:
  131.     SettingsMMX(SettingsThread *thread, int x, int y);
  132.     ~SettingsMMX();
  133.     
  134.     int handle_event();
  135.     
  136.     SettingsThread *thread;
  137. };
  138.  
  139. class SettingsPrebuff : public BC_TextBox
  140. {
  141. public:
  142.     SettingsPrebuff(SettingsThread *thread, int x, int y, char *string);
  143.     ~SettingsPrebuff();
  144.     int handle_event();
  145.     SettingsThread *thread;
  146. };
  147.  
  148. class SettingsAudioPri : public BC_TextBox
  149. {
  150. public:
  151.     SettingsAudioPri(SettingsThread *thread, int x, int y, char *string);
  152.     ~SettingsAudioPri();
  153.     int handle_event();
  154.     SettingsThread *thread;
  155. };
  156.  
  157.  
  158. class AspectPulldown : public BC_ListBox
  159. {
  160. public:
  161.     AspectPulldown(SettingsWindow *window, 
  162.         int x, 
  163.         int y, 
  164.         BC_TextBox *textbox_w, 
  165.         BC_TextBox *textbox_h,
  166.         float *output_w, 
  167.         float *output_h);
  168.  
  169.     int handle_event();
  170. private:
  171.     SettingsWindow *window;
  172.     BC_TextBox *textbox_w;
  173.     BC_TextBox *textbox_h;
  174.     float *output_w;
  175.     float *output_h;
  176. };
  177.  
  178.  
  179. #endif
  180.