#include "colorpicker.h"
#include "filexml.h"
#include "mutex.h"
-#include "title.h"
+#include "titler.h"
class TitleSizeTumble;
class TitleItalic;
class TitleBold;
+class TitleDrag;
class TitleSize;
class TitlePitch;
class TitleEncoding;
class TitleColorButton;
+class TitleOutlineColorButton;
class TitleDropShadow;
class TitleMotion;
class TitleLoop;
class TitleText;
class TitleX;
class TitleY;
+class TitleW;
+class TitleH;
class TitleLeft;
class TitleCenter;
class TitleRight;class TitleTop;
class TitleTimecode;
class TitleTimecodeFormat;
class TitleOutline;
+class TitleStroker;
+class TitleBackground;
+class TitleBackgroundPath;
+class TitleLoopPlayback;
+class TitleCurPopup;
+class TitleCurItem;
+class TitleCurSubMenu;
+class TitleCurSubMenuItem;
class TitleWindow : public PluginClientWindow
{
void create_objects();
int resize_event(int w, int h);
+ int grab_event(XEvent *event);
void update_color();
void update_justification();
void update();
TitleX *title_x;
BC_Title *y_title;
TitleY *title_y;
+ BC_Title *w_title;
+ TitleW *title_w;
+ BC_Title *h_title;
+ TitleH *title_h;
BC_Title *dropshadow_title;
TitleDropShadow *dropshadow;
BC_Title *outline_title;
TitleOutline *outline;
+ BC_Title *stroker_title;
+ TitleStroker *stroker;
BC_Title *style_title;
TitleItalic *italic;
TitleBold *bold;
-
+ TitleDrag *drag;
+ TitleCurPopup *cur_popup;
int color_x, color_y;
int outline_color_x, outline_color_y;
+ int drag_dx, drag_dy, dragging;
+
BC_Title *size_title;
TitleSize *size;
TitleSizeTumble *size_tumbler;
TitleEncoding *encoding;
TitleColorButton *color_button;
TitleColorThread *color_thread;
- TitleColorButton *outline_color_button;
+ TitleOutlineColorButton *outline_color_button;
TitleColorThread *outline_color_thread;
BC_Title *motion_title;
TitleMotion *motion;
TitleSpeed *speed;
TitleTimecode *timecode;
TitleTimecodeFormat *timecode_format;
+ TitleBackground *background;
+ TitleBackgroundPath *background_path;
+ TitleLoopPlayback *loop_playback;
// Color preview
ArrayList<BC_ListBoxItem*> sizes;
ArrayList<BC_ListBoxItem*> encodings;
ArrayList<BC_ListBoxItem*> paths;
ArrayList<BC_ListBoxItem*> fonts;
+ int cur_ibeam;
};
TitleMain *client;
TitleWindow *window;
};
+class TitleDrag : public BC_CheckBox
+{
+public:
+ TitleDrag(TitleMain *client, TitleWindow *window, int x, int y);
+ int handle_event();
+ TitleMain *client;
+ TitleWindow *window;
+};
class TitleSize : public BC_PopupTextBox
class TitleColorButton : public BC_GenericButton
{
public:
- TitleColorButton(TitleMain *client,
- TitleWindow *window,
- int x,
- int y,
- int is_outline);
+ TitleColorButton(TitleMain *client, TitleWindow *window, int x, int y);
+ int handle_event();
+ TitleMain *client;
+ TitleWindow *window;
+};
+class TitleOutlineColorButton : public BC_GenericButton
+{
+public:
+ TitleOutlineColorButton(TitleMain *client, TitleWindow *window, int x, int y);
int handle_event();
TitleMain *client;
TitleWindow *window;
- int is_outline;
};
class TitleMotion : public BC_PopupTextBox
int w,
int h);
int handle_event();
+ int button_press_event();
TitleMain *client;
TitleWindow *window;
};
TitleMain *client;
TitleWindow *window;
};
-
-class TitleStrokeW : public BC_TumbleTextBox
+class TitleW : public BC_TumbleTextBox
{
public:
- TitleStrokeW(TitleMain *client, TitleWindow *window, int x, int y);
+ TitleW(TitleMain *client, TitleWindow *window, int x, int y);
+ int handle_event();
+ TitleMain *client;
+ TitleWindow *window;
+};
+class TitleH : public BC_TumbleTextBox
+{
+public:
+ TitleH(TitleMain *client, TitleWindow *window, int x, int y);
int handle_event();
TitleMain *client;
TitleWindow *window;
TitleWindow *window;
};
+class TitleStroker : public BC_TumbleTextBox
+{
+public:
+ TitleStroker(TitleMain *client, TitleWindow *window, int x, int y);
+ int handle_event();
+ TitleMain *client;
+ TitleWindow *window;
+};
+
class TitleSpeed : public BC_TumbleTextBox
{
public:
TitleMain *client;
TitleWindow *window;
};
-
class TitleColorThread : public ColorThread
{
public:
TitleWindow *window;
int is_outline;
};
+class TitleBackground : public BC_CheckBox
+{
+public:
+ TitleBackground(TitleMain *client, TitleWindow *window, int x, int y);
+ int handle_event();
+ TitleMain *client;
+ TitleWindow *window;
+};
+class TitleBackgroundPath : public BC_TextBox
+{
+public:
+ TitleBackgroundPath(TitleMain *client, TitleWindow *window, int x, int y);
+ int handle_event();
+ TitleMain *client;
+ TitleWindow *window;
+};
+class TitleLoopPlayback : public BC_CheckBox
+{
+public:
+ TitleLoopPlayback(TitleMain *client, int x, int y);
+ int handle_event();
+ TitleMain *client;
+ TitleWindow *window;
+};
-class TitleColorStrokeThread : public ColorThread
+class TitleCurPopup : public BC_PopupMenu
{
public:
- TitleColorStrokeThread(TitleMain *client, TitleWindow *window);
- int handle_event(int output);
+ TitleCurPopup(TitleMain *client, TitleWindow *window);
+
+ int handle_event();
+ void create_objects();
+
TitleMain *client;
TitleWindow *window;
};
+class TitleCurItem : public BC_MenuItem
+{
+public:
+ TitleCurItem(TitleCurPopup *popup, const char *text);
+
+ int handle_event();
+ TitleCurPopup *popup;
+};
+
+class TitleCurSubMenu : public BC_SubMenu
+{
+public:
+ TitleCurSubMenu(TitleCurItem *cur_item);
+ ~TitleCurSubMenu();
+
+ TitleCurItem *cur_item;
+};
+
+class TitleCurSubMenuItem : public BC_MenuItem
+{
+public:
+ TitleCurSubMenuItem(TitleCurSubMenu *submenu, const char *text);
+ ~TitleCurSubMenuItem();
+
+ int handle_event();
+ TitleCurSubMenu *submenu;
+};
+
#endif