#include "bcdisplayinfo.h"
#include "bchash.h"
#include "bcsignals.h"
+#include "clip.h"
#include "cwindowgui.h"
#include "cwindow.h"
#include "channelinfo.h"
#include "vwindow.h"
#include "zoombar.h"
-#define PANE_DRAG_MARGIN 50
+#define PANE_DRAG_MARGIN MAX(mwindow->theme->pane_w, mwindow->theme->pane_h)
// the main window uses its own private colormap for video
mwindow->session->mwindow_h = h;
mwindow->theme->get_mwindow_sizes(this, w, h);
mwindow->theme->draw_mwindow_bg(this);
-// mainmenu->reposition_window(0, 0, w, mainmenu->get_h());
mbuttons->resize_event();
statusbar->resize_event();
resource_thread->stop_draw(1);
+ if(total_panes() > 1)
+ {
+ if(horizontal_panes())
+ {
+// printf("MWindowGUI::resize_event %d %d %d\n",
+// __LINE__,
+// pane[TOP_RIGHT_PANE]->x,
+// mwindow->theme->mcanvas_w -
+// BC_ScrollBar::get_span(SCROLL_VERT) -
+// PANE_DRAG_MARGIN);
+ if(pane[TOP_RIGHT_PANE]->x >= mwindow->theme->mcanvas_w -
+ BC_ScrollBar::get_span(SCROLL_VERT) -
+ PANE_DRAG_MARGIN)
+ {
+ delete_x_pane(pane[TOP_RIGHT_PANE]->x);
+ mwindow->edl->local_session->x_pane = -1;
+ }
+ }
+ else
+ if(vertical_panes())
+ {
+ if(pane[BOTTOM_LEFT_PANE]->y >= mwindow->theme->mzoom_y -
+ BC_ScrollBar::get_span(SCROLL_HORIZ) -
+ PANE_DRAG_MARGIN)
+ {
+ delete_y_pane(pane[BOTTOM_LEFT_PANE]->y);
+ mwindow->edl->local_session->y_pane = -1;
+ }
+ }
+ else
+ {
+ if(pane[TOP_RIGHT_PANE]->x >= mwindow->theme->mcanvas_w -
+ BC_ScrollBar::get_span(SCROLL_VERT) -
+ PANE_DRAG_MARGIN)
+ {
+ delete_x_pane(pane[TOP_RIGHT_PANE]->x);
+ mwindow->edl->local_session->x_pane = -1;
+ }
+
+ if(pane[BOTTOM_LEFT_PANE]->y >= mwindow->theme->mzoom_y -
+ BC_ScrollBar::get_span(SCROLL_HORIZ) -
+ PANE_DRAG_MARGIN)
+ {
+ delete_y_pane(pane[BOTTOM_LEFT_PANE]->y);
+ mwindow->edl->local_session->y_pane = -1;
+ }
+ }
+ }
if(total_panes() == 1)
{
zoombar->resize_event();
pane_button->reposition_window(w - mwindow->theme->get_image_set("pane")[0]->get_w(),
mwindow->theme->mzoom_y + 1 - mwindow->theme->get_image_set("pane")[0]->get_h());
+ int x = get_w() - MainShBtns::calculate_w(0);
+ mainmenu->resize_event(x, mainmenu->get_h());
+ mainshbtns->reposition_window(x, 0);
// get_scrollbars(0);
// canvas->resize_event();
//printf("MWindowGUI::resize_event %d\n", __LINE__);
- flash(0);
+// required to get new widgets to appear after a pane deletion
+ show_window();
return 0;
}