// Called when window is visible
void show_tool();
void hide_tool();
+ void raise_tool();
void run();
void update_show_window();
// Update text boxes from keyframe here
virtual void update() {};
// Update EDL and preview only
- virtual void update_preview() {};
+ void update_preview(int changed_edl=0);
+ void draw_preview(int changed_edl);
int current_operation;
- int close_event();
+ virtual int close_event();
int keypress_event();
int translation_event();
class CWindowCoord : public BC_TumbleTextBox
{
public:
- CWindowCoord(CWindowToolGUI *gui, int x, int y, float value, int logincrement);
- CWindowCoord(CWindowToolGUI *gui, int x, int y, int value);
+ CWindowCoord(CWindowToolGUI *gui, int x, int y,
+ float value, int logincrement);
+ CWindowCoord(CWindowToolGUI *gui, int x, int y,
+ int value);
// Calls the window's handle_event
int handle_event();
class CWindowCropOK : public BC_GenericButton
{
public:
- CWindowCropOK(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowCropOK(MWindow *mwindow, CWindowToolGUI *gui,
+ int x, int y);
// Perform the cropping operation
int handle_event();
int keypress_event();
CWindowCoord *x1, *y1, *width, *height;
};
+class CWindowMaskItem : public BC_ListBoxItem
+{
+public:
+ CWindowMaskItem(const char *text, int id=-1, int color=-1)
+ : BC_ListBoxItem(text, color), id(id) {}
+ ~CWindowMaskItem() {}
+ int id;
+};
+
class CWindowMaskItems : public ArrayList<BC_ListBoxItem*>
{
public:
~CWindowMaskItems() { remove_all_objects(); }
};
+class CWindowMaskOnTrack : public BC_PopupTextBox
+{
+public:
+ CWindowMaskOnTrack(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y, int w, const char *text);
+ ~CWindowMaskOnTrack();
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
+ CWindowMaskItems track_items;
+
+ int handle_event();
+ void update_items();
+};
+
+class CWindowMaskTrackTumbler : public BC_Tumbler
+{
+public:
+ CWindowMaskTrackTumbler(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
+ ~CWindowMaskTrackTumbler();
+ int handle_up_event();
+ int handle_down_event();
+ int do_event(int dir);
+
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
+};
+
+
class CWindowMaskName : public BC_PopupTextBox
{
public:
- CWindowMaskName(MWindow *mwindow, CWindowToolGUI *gui, int x, int y, const char *text);
+ CWindowMaskName(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y, const char *text);
~CWindowMaskName();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
CWindowMaskItems mask_items;
int handle_event();
void update_items(MaskAuto *keyframe);
};
+class CWindowMaskUnclear : public BC_GenericButton
+{
+public:
+ CWindowMaskUnclear(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y, int w);
+ int handle_event();
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
+};
+
+class CWindowMaskSoloTrack : public BC_CheckBox
+{
+public:
+ CWindowMaskSoloTrack(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y, int v);
+ static int calculate_w(BC_WindowBase *gui);
+ int handle_event();
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
+};
+
class CWindowMaskDelMask : public BC_GenericButton
{
public:
- CWindowMaskDelMask(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskDelMask(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskClrMask : public BC_Button
{
public:
- CWindowMaskClrMask(MWindow *mwindow, CWindowMaskGUI *gui, int x, int y);
+ CWindowMaskClrMask(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskClrMask();
static int calculate_w(MWindow *mwindow);
int handle_event();
CWindowMaskGUI *gui;
};
+class CWindowMaskButton : public BC_CheckBox
+{
+public:
+ CWindowMaskButton(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y, int no, int v);
+ ~CWindowMaskButton();
+
+ int handle_event();
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
+ int no;
+};
+
+class CWindowMaskThumbler : public BC_Tumbler
+{
+public:
+ CWindowMaskThumbler(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
+ ~CWindowMaskThumbler();
+ int handle_up_event();
+ int handle_down_event();
+ int do_event(int dir);
+
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
+};
+
+class CWindowMaskEnable : public BC_CheckBox
+{
+public:
+ CWindowMaskEnable(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y, int no, int v);
+ ~CWindowMaskEnable();
+
+ int handle_event();
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
+ int no;
+};
+
class CWindowMaskFade : public BC_TumbleTextBox
{
public:
- CWindowMaskFade(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskFade(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskFade();
int update(float v);
int update_value(float v);
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskFadeSlider : public BC_ISlider
{
public:
- CWindowMaskFadeSlider(MWindow *mwindow, CWindowToolGUI *gui,
+ CWindowMaskFadeSlider(MWindow *mwindow, CWindowMaskGUI *gui,
int x, int y, int w);
~CWindowMaskFadeSlider();
int handle_event();
int update(int64_t v);
char *get_caption() { return 0; }
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
int stick;
float last_v;
Timer *timer;
class CWindowMaskGangFader : public BC_Toggle
{
public:
- CWindowMaskGangFader(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskGangFader(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskGangFader();
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskAffectedPoint : public BC_TumbleTextBox
{
public:
- CWindowMaskAffectedPoint(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskAffectedPoint(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskAffectedPoint();
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskFocus : public BC_CheckBox
{
public:
- CWindowMaskFocus(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskFocus(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskFocus();
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
+};
+
+class CWindowMaskHelp : public BC_CheckBox
+{
+public:
+ CWindowMaskHelp(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
+ ~CWindowMaskHelp();
+ int handle_event();
+ MWindow *mwindow;
+ CWindowMaskGUI *gui;
};
class CWindowMaskDrawMarkers : public BC_CheckBox
{
public:
- CWindowMaskDrawMarkers(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskDrawMarkers(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskDrawMarkers();
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskDrawBoundary : public BC_CheckBox
{
public:
- CWindowMaskDrawBoundary(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskDrawBoundary(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskDrawBoundary();
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskDelPoint : public BC_GenericButton
{
public:
- CWindowMaskDelPoint(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskDelPoint(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
int handle_event();
int keypress_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskFeather : public BC_TumbleTextBox
{
public:
- CWindowMaskFeather(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskFeather(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskFeather();
int update(float v);
int update_value(float v);
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskFeatherSlider : public BC_FSlider
{
public:
- CWindowMaskFeatherSlider(MWindow *mwindow, CWindowToolGUI *gui,
+ CWindowMaskFeatherSlider(MWindow *mwindow, CWindowMaskGUI *gui,
int x, int y, int w, float v);
~CWindowMaskFeatherSlider();
int handle_event();
int update(float v);
char *get_caption() { return 0; }
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
int stick;
float last_v;
Timer *timer;
class CWindowMaskGangFeather : public BC_Toggle
{
public:
- CWindowMaskGangFeather(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+ CWindowMaskGangFeather(MWindow *mwindow, CWindowMaskGUI *gui,
+ int x, int y);
~CWindowMaskGangFeather();
int handle_event();
MWindow *mwindow;
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskBeforePlugins : public BC_CheckBox
{
public:
- CWindowMaskBeforePlugins(CWindowToolGUI *gui, int x, int y);
+ CWindowMaskBeforePlugins(CWindowMaskGUI *gui,
+ int x, int y);
int handle_event();
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowDisableOpenGLMasking : public BC_CheckBox
{
public:
- CWindowDisableOpenGLMasking(CWindowToolGUI *gui, int x, int y);
+ CWindowDisableOpenGLMasking(CWindowMaskGUI *gui,
+ int x, int y);
int handle_event();
- CWindowToolGUI *gui;
+ CWindowMaskGUI *gui;
};
class CWindowMaskGUI : public CWindowToolGUI
~CWindowMaskGUI();
void create_objects();
void update();
+ int close_event();
+ void done_event();
void set_focused(int v, float cx, float cy);
+ void update_buttons(MaskAuto *keyframe, int k);
void handle_event();
void get_keyframe(Track* &track, MaskAutos* &autos, MaskAuto* &keyframe,
SubMask* &mask, MaskPoint* &point, int create_it);
- void update_preview();
- CWindowMaskName *name;
+ CWindowMaskOnTrack *mask_on_track;
+ CWindowMaskTrackTumbler *mask_track_tumbler;
+ CWindowMaskName *mask_name;
+ CWindowMaskButton *mask_buttons[SUBMASKS];
+ CWindowMaskThumbler *mask_thumbler;
+ BC_Title *mask_blabels[SUBMASKS];
+ CWindowMaskEnable *mask_enables[SUBMASKS];
+ CWindowMaskSoloTrack *mask_solo_track;
CWindowMaskDelMask *del_mask;
+ CWindowMaskUnclear *unclr_mask;
CWindowMaskClrMask *clr_mask;
CWindowMaskFade *fade;
CWindowMaskFadeSlider *fade_slider;
CWindowCoord *x, *y;
CWindowMaskFocus *focus;
int focused;
+ CWindowMaskHelp *help;
+ int helped, help_y, help_h;
CWindowMaskDrawMarkers *draw_markers;
int markers;
CWindowMaskDrawBoundary *draw_boundary;
~CWindowCameraGUI();
void create_objects();
void update();
- void update_preview();
// Update the keyframe from text boxes
void handle_event();
class CWindowCameraLeft : public BC_Button
{
public:
- CWindowCameraLeft(MWindow *mwindow, CWindowCameraGUI *gui, int x, int y);
+ CWindowCameraLeft(MWindow *mwindow, CWindowCameraGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowCameraGUI *gui;
class CWindowCameraCenter : public BC_Button
{
public:
- CWindowCameraCenter(MWindow *mwindow, CWindowCameraGUI *gui, int x, int y);
+ CWindowCameraCenter(MWindow *mwindow, CWindowCameraGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowCameraGUI *gui;
class CWindowCameraRight : public BC_Button
{
public:
- CWindowCameraRight(MWindow *mwindow, CWindowCameraGUI *gui, int x, int y);
+ CWindowCameraRight(MWindow *mwindow, CWindowCameraGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowCameraGUI *gui;
class CWindowCameraTop : public BC_Button
{
public:
- CWindowCameraTop(MWindow *mwindow, CWindowCameraGUI *gui, int x, int y);
+ CWindowCameraTop(MWindow *mwindow, CWindowCameraGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowCameraGUI *gui;
class CWindowCameraMiddle : public BC_Button
{
public:
- CWindowCameraMiddle(MWindow *mwindow, CWindowCameraGUI *gui, int x, int y);
+ CWindowCameraMiddle(MWindow *mwindow, CWindowCameraGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowCameraGUI *gui;
class CWindowCameraBottom : public BC_Button
{
public:
- CWindowCameraBottom(MWindow *mwindow, CWindowCameraGUI *gui, int x, int y);
+ CWindowCameraBottom(MWindow *mwindow, CWindowCameraGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowCameraGUI *gui;
~CWindowProjectorGUI();
void create_objects();
void update();
- void update_preview();
void handle_event();
// BezierAuto* get_keyframe();
CWindowCoord *x, *y, *z;
class CWindowProjectorLeft : public BC_Button
{
public:
- CWindowProjectorLeft(MWindow *mwindow, CWindowProjectorGUI *gui, int x, int y);
+ CWindowProjectorLeft(MWindow *mwindow, CWindowProjectorGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowProjectorGUI *gui;
class CWindowProjectorCenter : public BC_Button
{
public:
- CWindowProjectorCenter(MWindow *mwindow, CWindowProjectorGUI *gui, int x, int y);
+ CWindowProjectorCenter(MWindow *mwindow, CWindowProjectorGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowProjectorGUI *gui;
class CWindowProjectorRight : public BC_Button
{
public:
- CWindowProjectorRight(MWindow *mwindow, CWindowProjectorGUI *gui, int x, int y);
+ CWindowProjectorRight(MWindow *mwindow, CWindowProjectorGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowProjectorGUI *gui;
class CWindowProjectorTop : public BC_Button
{
public:
- CWindowProjectorTop(MWindow *mwindow, CWindowProjectorGUI *gui, int x, int y);
+ CWindowProjectorTop(MWindow *mwindow, CWindowProjectorGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowProjectorGUI *gui;
class CWindowProjectorMiddle : public BC_Button
{
public:
- CWindowProjectorMiddle(MWindow *mwindow, CWindowProjectorGUI *gui, int x, int y);
+ CWindowProjectorMiddle(MWindow *mwindow, CWindowProjectorGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowProjectorGUI *gui;
class CWindowProjectorBottom : public BC_Button
{
public:
- CWindowProjectorBottom(MWindow *mwindow, CWindowProjectorGUI *gui, int x, int y);
+ CWindowProjectorBottom(MWindow *mwindow, CWindowProjectorGUI *gui,
+ int x, int y);
int handle_event();
MWindow *mwindow;
CWindowProjectorGUI *gui;