Finished some clean up on visual typesetting

Originally committed to SVN as r1385.
This commit is contained in:
Rodrigo Braz Monteiro 2007-07-07 03:21:52 +00:00
parent 9eb5ab4e25
commit 5f2508ee70
8 changed files with 42 additions and 58 deletions

View File

@ -75,8 +75,7 @@
// FrameMain constructor
FrameMain::FrameMain (wxArrayString args)
// FIXME: 860x600 default window size is tiny on high-res monitors, but maximised is not always desirable either
: wxFrame ((wxFrame*)NULL,-1,_T(""),wxDefaultPosition,wxSize(860,600),wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN)
: wxFrame ((wxFrame*)NULL,-1,_T(""),wxDefaultPosition,wxSize(920,700),wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN)
{
#ifdef __WXGTK__
/* XXX HACK XXX
@ -495,6 +494,7 @@ void FrameMain::InitContents() {
TopSizer->Add(ToolSizer,1,wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM,5);
// Set sizers/hints
MainSizer->Add(new wxStaticLine(Panel),0,wxEXPAND | wxALL,0);
MainSizer->Add(TopSizer,0,wxEXPAND | wxALL,0);
MainSizer->Add(BottomSizer,1,wxEXPAND | wxALL,0);
Panel->SetSizer(MainSizer);

View File

@ -68,7 +68,7 @@ VideoBox::VideoBox(wxWindow *parent)
frame = AegisubApp::Get()->frame;
// Visual controls sub-toolbar
visualSubToolBar = new wxBoxSizer(wxHORIZONTAL);
visualSubToolBar = new wxToolBar(videoPage,-1,wxDefaultPosition,wxDefaultSize,wxTB_HORIZONTAL | wxTB_BOTTOM | wxTB_FLAT);
// Buttons
wxBitmapButton *VideoPlayButton = new wxBitmapButton(videoPage,Video_Play,wxBITMAP(button_play),wxDefaultPosition,wxSize(25,-1));
@ -120,13 +120,14 @@ VideoBox::VideoBox(wxWindow *parent)
visualToolBar->Realize();
// Top sizer
wxFlexGridSizer *topSizer = new wxFlexGridSizer(2,2,0,0);
topSizer->Add(visualToolBar,0,wxEXPAND,0);
topSizer->Add(videoDisplay,1,wxEXPAND,0);
topSizer->AddSpacer(0);
topSizer->Add(visualSubToolBar,1,wxEXPAND,0);
topSizer->AddGrowableCol(1);
topSizer->AddGrowableRow(0);
wxSizer *topTopSizer = new wxBoxSizer(wxHORIZONTAL);
wxSizer *topSizer = new wxBoxSizer(wxVERTICAL);
visualSubToolBar->Show(false);
topTopSizer->Add(visualToolBar,0,wxEXPAND,0);
topTopSizer->Add(videoDisplay,1,wxEXPAND,0);
topSizer->Add(topTopSizer,1,wxEXPAND,0);
topSizer->Add(visualSubToolBar,0,wxEXPAND | wxBOTTOM,4);
topSizer->Add(new wxStaticLine(videoPage),0,wxEXPAND,0);
// Sizers
videoSliderSizer = new wxBoxSizer(wxHORIZONTAL);
@ -141,7 +142,6 @@ VideoBox::VideoBox(wxWindow *parent)
videoBottomSizer->Add(VideoSubsPos,1,wxALIGN_CENTER,0);
VideoSizer = new wxBoxSizer(wxVERTICAL);
VideoSizer->Add(topSizer,1,wxEXPAND,0);
VideoSizer->Add(new wxStaticLine(videoPage),0,wxEXPAND,0);
VideoSizer->Add(videoSliderSizer,0,wxEXPAND,0);
VideoSizer->Add(videoBottomSizer,0,wxEXPAND,0);
SetSizer(VideoSizer);

View File

@ -66,7 +66,8 @@ private:
public:
wxToolBar *visualToolBar;
wxSizer *visualSubToolBar;
wxToolBar *visualSubToolBar;
//wxSizer *visualSubToolBar;
ToggleBitmap *AutoScroll;
wxBoxSizer *VideoSizer;

View File

@ -652,10 +652,12 @@ void VideoDisplay::SetVisualMode(int mode) {
// Set visual
if (visualMode != mode) {
// Get toolbar
wxSizer *toolBar = NULL;
wxToolBar *toolBar = NULL;
if (box) {
toolBar = box->visualSubToolBar;
toolBar->Clear(true);
toolBar->ClearTools();
toolBar->Realize();
toolBar->Show(false);
if (!box->visualToolBar->GetToolState(mode + Video_Mode_Standard)) box->visualToolBar->ToggleTool(mode + Video_Mode_Standard,true);
}
@ -664,12 +666,12 @@ void VideoDisplay::SetVisualMode(int mode) {
delete visual;
switch (mode) {
case 0: visual = new VisualToolCross(this); break;
case 1: visual = new VisualToolDrag(this,toolBar,box); break;
case 1: visual = new VisualToolDrag(this,toolBar); break;
case 2: visual = new VisualToolRotateZ(this); break;
case 3: visual = new VisualToolRotateXY(this); break;
case 4: visual = new VisualToolScale(this); break;
case 5: visual = new VisualToolClip(this); break;
case 6: visual = new VisualToolVectorClip(this,toolBar,box); break;
case 6: visual = new VisualToolVectorClip(this,toolBar); break;
default: visual = NULL;
}

View File

@ -57,16 +57,18 @@ enum {
///////////////
// Constructor
VisualToolDrag::VisualToolDrag(VideoDisplay *_parent,wxSizer *toolbar,wxWindow *toolWindow)
VisualToolDrag::VisualToolDrag(VideoDisplay *_parent,wxToolBar *toolBar)
: VisualTool(_parent)
{
_parent->ShowCursor(false);
toggleMove = new wxBitmapButton(toolWindow,BUTTON_TOGGLE_MOVE,wxBITMAP(visual_move_conv_move),wxDefaultPosition);
//toolBar->AddTool(BUTTON_TOGGLE_MOVE,_T("Toggle Move/Pos"),wxBITMAP(visual_move_conv_move));
toggleMove = new wxBitmapButton(toolBar,BUTTON_TOGGLE_MOVE,wxBITMAP(visual_move_conv_move),wxDefaultPosition);
ConnectButton(toggleMove);
toolbar->Add(toggleMove,0,wxEXPAND);
toolbar->AddStretchSpacer(1);
toolBar->AddControl(toggleMove);
toggleMoveOnMove = true;
UpdateToggleButtons();
//UpdateToggleButtons();
toolBar->Realize();
toolBar->Show(true);
}

View File

@ -60,7 +60,7 @@ private:
void DoRefresh();
public:
VisualToolDrag(VideoDisplay *parent,wxSizer *toolbar,wxWindow *toolWindow);
VisualToolDrag(VideoDisplay *parent,wxToolBar *toolbar);
void Update();
void Draw();

View File

@ -55,44 +55,23 @@ enum {
///////////////
// Constructor
VisualToolVectorClip::VisualToolVectorClip(VideoDisplay *parent,wxSizer *toolbar,wxWindow *toolWindow)
VisualToolVectorClip::VisualToolVectorClip(VideoDisplay *parent,wxToolBar *toolBar)
: VisualTool(parent)
{
DoRefresh();
// Create toolbar
wxButton *drag = new wxBitmapButton(toolWindow,BUTTON_DRAG,wxBITMAP(visual_vector_clip_drag));
wxButton *line = new wxBitmapButton(toolWindow,BUTTON_LINE,wxBITMAP(visual_vector_clip_line));
wxButton *bicubic = new wxBitmapButton(toolWindow,BUTTON_BICUBIC,wxBITMAP(visual_vector_clip_bicubic));
wxButton *convert = new wxBitmapButton(toolWindow,BUTTON_CONVERT,wxBITMAP(visual_vector_clip_convert));
wxButton *insert = new wxBitmapButton(toolWindow,BUTTON_INSERT,wxBITMAP(visual_vector_clip_insert));
wxButton *remove = new wxBitmapButton(toolWindow,BUTTON_REMOVE,wxBITMAP(visual_vector_clip_remove));
wxButton *freehand = new wxBitmapButton(toolWindow,BUTTON_FREEHAND,wxBITMAP(visual_vector_clip_freehand));
drag->SetToolTip(_("Drag control points."));
line->SetToolTip(_("Appends a line."));
bicubic->SetToolTip(_("Appends a bezier bicubic curve."));
convert->SetToolTip(_("Converts a segment between line and bicubic."));
insert->SetToolTip(_("Inserts a control point."));
remove->SetToolTip(_("Removes a control point."));
freehand->SetToolTip(_("Draws a freehand shape."));
ConnectButton(drag);
ConnectButton(line);
ConnectButton(bicubic);
ConnectButton(convert);
ConnectButton(insert);
ConnectButton(remove);
ConnectButton(freehand);
toolbar->Add(drag,0,wxEXPAND);
toolbar->Add(line,0,wxEXPAND);
toolbar->Add(bicubic,0,wxEXPAND | wxRIGHT,5);
toolbar->Add(new wxStaticLine(toolWindow,-1,wxDefaultPosition,wxDefaultSize,wxLI_VERTICAL),0,wxEXPAND | wxRIGHT,5);
toolbar->Add(convert,0,wxEXPAND);
toolbar->Add(insert,0,wxEXPAND);
toolbar->Add(remove,0,wxEXPAND | wxRIGHT,5);
toolbar->Add(new wxStaticLine(toolWindow,-1,wxDefaultPosition,wxDefaultSize,wxLI_VERTICAL),0,wxEXPAND | wxRIGHT,5);
toolbar->Add(freehand,0,wxEXPAND);
toolbar->AddStretchSpacer(1);
toolBar->AddTool(BUTTON_DRAG,_("Drag"),wxBITMAP(visual_vector_clip_drag),_("Drag control points."),wxITEM_CHECK);
toolBar->AddTool(BUTTON_LINE,_("Line"),wxBITMAP(visual_vector_clip_line),_("Appends a line."),wxITEM_CHECK);
toolBar->AddTool(BUTTON_BICUBIC,_("Bicubic"),wxBITMAP(visual_vector_clip_bicubic),_("Appends a bezier bicubic curve."),wxITEM_CHECK);
toolBar->AddSeparator();
toolBar->AddTool(BUTTON_CONVERT,_("Convert"),wxBITMAP(visual_vector_clip_convert),_("Converts a segment between line and bicubic."),wxITEM_CHECK);
toolBar->AddTool(BUTTON_INSERT,_("Insert"),wxBITMAP(visual_vector_clip_insert),_("Inserts a control point."),wxITEM_CHECK);
toolBar->AddTool(BUTTON_REMOVE,_("Remove"),wxBITMAP(visual_vector_clip_remove),_("Removes a control point."),wxITEM_CHECK);
toolBar->AddSeparator();
toolBar->AddTool(BUTTON_FREEHAND,_("Freehand"),wxBITMAP(visual_vector_clip_freehand),_("Draws a freehand shape."),wxITEM_CHECK);
toolBar->Realize();
toolBar->Show(true);
}
@ -117,7 +96,7 @@ void VisualToolVectorClip::Draw() {
// Draw lines
SetLineColour(colour[3],1.0f,2);
SetFillColour(colour[3],0.0f);
for (size_t i=0;i<points.size()-1;i++) {
for (int i=0;i<((signed)points.size())-1;i++) {
DrawLine(points[i].x,points[i].y,points[i+1].x,points[i+1].y);
}
@ -126,7 +105,7 @@ void VisualToolVectorClip::Draw() {
glColorMask(0,0,0,0);
glStencilFunc(GL_NEVER,1,1);
glStencilOp(GL_INVERT,GL_INVERT,GL_INVERT);
for (size_t i=1;i<points.size()-1;i++) {
for (int i=0;i<((signed)points.size())-1;i++) {
glBegin(GL_TRIANGLES);
glVertex2f(points[0].x,points[0].y);
glVertex2f(points[i].x,points[i].y);

View File

@ -57,7 +57,7 @@ private:
void DoRefresh();
public:
VisualToolVectorClip(VideoDisplay *parent,wxSizer *toolbar,wxWindow *toolWindow);
VisualToolVectorClip(VideoDisplay *parent,wxToolBar *toolbar);
void Update();
void Draw();