From 1c87280357cfa64e5fe3a6b86caddd261bff458d Mon Sep 17 00:00:00 2001 From: Rodrigo Braz Monteiro Date: Thu, 5 Jul 2007 06:13:22 +0000 Subject: [PATCH] Added toolbar for vector clip tool. Not functional yet. Originally committed to SVN as r1367. --- aegisub/bitmaps/visual_move.bmp | Bin 1318 -> 1318 bytes .../bitmaps/visual_vector_clip_bicubic.bmp | Bin 0 -> 1318 bytes .../bitmaps/visual_vector_clip_convert.bmp | Bin 0 -> 1318 bytes aegisub/bitmaps/visual_vector_clip_drag.bmp | Bin 0 -> 1318 bytes .../bitmaps/visual_vector_clip_freehand.bmp | Bin 0 -> 1318 bytes aegisub/bitmaps/visual_vector_clip_insert.bmp | Bin 0 -> 1318 bytes aegisub/bitmaps/visual_vector_clip_line.bmp | Bin 0 -> 1318 bytes aegisub/bitmaps/visual_vector_clip_remove.bmp | Bin 0 -> 1318 bytes aegisub/res.rc | 7 +++ aegisub/video_box.cpp | 1 + aegisub/video_display.cpp | 2 +- aegisub/visual_tool_vector_clip.cpp | 49 +++++++++++++++++- aegisub/visual_tool_vector_clip.h | 2 +- 13 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 aegisub/bitmaps/visual_vector_clip_bicubic.bmp create mode 100644 aegisub/bitmaps/visual_vector_clip_convert.bmp create mode 100644 aegisub/bitmaps/visual_vector_clip_drag.bmp create mode 100644 aegisub/bitmaps/visual_vector_clip_freehand.bmp create mode 100644 aegisub/bitmaps/visual_vector_clip_insert.bmp create mode 100644 aegisub/bitmaps/visual_vector_clip_line.bmp create mode 100644 aegisub/bitmaps/visual_vector_clip_remove.bmp diff --git a/aegisub/bitmaps/visual_move.bmp b/aegisub/bitmaps/visual_move.bmp index 45b68566550b6bda16745cb0b2eb8ab479948226..a0b6b68c1d5e70ded75df9f84050f720c59be80c 100644 GIT binary patch delta 51 ucmZ3+wTx>+77H8ugb5EOOqlGzA~CsxB~XH$ogK&rl5hZ)XP^9$#S{Rb^AB(U delta 65 scmZ3+wTx>+7K_A$2@@UwF*_6h89+XenB2q?E&=Dkr6H;(e`GNQ0JQuSL;wH) diff --git a/aegisub/bitmaps/visual_vector_clip_bicubic.bmp b/aegisub/bitmaps/visual_vector_clip_bicubic.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4cdcb768d21d7cbfc85e301257478eab5ede8114 GIT binary patch literal 1318 zcmaLVv5nk74259|uyM}p5*Qh-z%k+6JutgAUMUO?R|jL);D9A;DmYmG(%b@j3&WB= zz0qiPH6!uI t+`fM>`$p>vK4Y^_XaD6q|LY_(4wF`JrfJ=6{k!e*>($Hy32u0y zF=k~J!W5DJZ1uOyueB!og^*6Wg!frLvQuEDUc8fjaj8oP6iS}p)spW+Q~pdC^Y6QA&rxPgivUVHS2G41QJ5w*k_fN zI~hm_g~qJ13nv2!q0pFBlIdh1Aru<3%2iGV5<;OdtCY*hKtd=qW|et68Au3amp@l~ zVVw9sv+H@-^?J0xespnqdffJXf7i7??b|ckt^2sYG2(W84n8{Wx5w-A7yldZ_=Csm b`#)GuX2jc6_x+gP^R_Y7`)Azlzw7%8@T6y2 literal 0 HcmV?d00001 diff --git a/aegisub/bitmaps/visual_vector_clip_convert.bmp b/aegisub/bitmaps/visual_vector_clip_convert.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7e6936b046b68a583c69db65d7177dbf34117808 GIT binary patch literal 1318 zcmajdL9WwK425Ao2~=jV1dk9aU~DmG4_?YyiU){wc+46YcnO_W49cJSy;7c#$jz5? zokVSJ;xAu6zO~!-`Hk5pW*_h#PxkJ1{(L+B>mW0BlQuXqweGh5*>?W%-OK|CE_k6a zW?^tJiG)ySj9D5S0g4m~jd}iGCj$wg&=@nOR*pbIC^UwLG&lkYq0ksJb{j_^Aru;8 zVLYZej*$=wjoGESlYxX#Xv{7bg{p>T}Z)^aBU z38B!KZM$$XkPr%u*_KQv0|}wfm~B@%8Au3)#%wE>lYxX#Xw0^GI~hm_W#?a4`^J6Z z_sp)h-LBVT2F7uU!|DIq)BTp6-RtMcOZ_Te%F|Bn<<@`7Tm4WT^6 literal 0 HcmV?d00001 diff --git a/aegisub/bitmaps/visual_vector_clip_drag.bmp b/aegisub/bitmaps/visual_vector_clip_drag.bmp new file mode 100644 index 0000000000000000000000000000000000000000..35b6f0fe42d41309e8974c1da42c9244737fbf27 GIT binary patch literal 1318 zcmZwFF^&{55QX8_5(p-OBUFSq0da|Z?@&jnqf~%6N5!0hppGypA{hR*ceJ}Bru*}= z-R^0-+uxtQyx01DdnbLR_8FgW=;P|YuJV6HN}S5vK}l8Jt^VD*{`x7IBfteKG)8j4 zK*a-zLSv*53=SHRC^Y8zxkfqyi9%x}sw#sckSH{UNeTu>AW>+H#Hlej0*OLnVJm4uOwK%&r?{kqafM<7vX%zl++q$7|hG-ki% zHqsGD6dJQWfsc`nK%&qXCF@Ta&XotwqtFA0 zT=IX?ZJoN^&Kfw*E{YHPch7tC@}@(V%bO1AqK5%5&GQP^DOTS(RL5~pu1@~yaykAS hEBDaX*Y|C&?q4%n?dQ1>kI#Rc-+unfc<#72{sF0+O&|aO literal 0 HcmV?d00001 diff --git a/aegisub/bitmaps/visual_vector_clip_freehand.bmp b/aegisub/bitmaps/visual_vector_clip_freehand.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b12e008f2849ae82d9cd138263a9efe9ffb48547 GIT binary patch literal 1318 zcmZwFKho1c42NN5#!UDsID#sM6HsgDxq~{cp`)l^IEQM^K%pa~|BCSL%KS+N+t2=1 z8_zmx@8>Tc-pD>a9U>p;y~jIT37h;T{71T9^uDyg3(w;$g{)ZpL;O%z(h z1PVIl2qX$E;sS+%!UKsypU+j&;0PoNEkajPVQ>Tzh2~ER6b45iQD_k^X@$WNNEBL3 z_?x0wrz4Ok^ej!4G&ll@LeH{INrNMhDD=D%SJL1JBnmyRE0i=i0*OM;t4t*gjzFT& z^O{RZgCmeA^!^0aN*Wx2M4=^Ee~4nO+_BC?p(RwHFgOB1qR{h6T}gu@ zkSO$gZXOb0a0C*Co~@8d8XSQ{p=X%)bEPbykJ| literal 0 HcmV?d00001 diff --git a/aegisub/bitmaps/visual_vector_clip_insert.bmp b/aegisub/bitmaps/visual_vector_clip_insert.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b74a1beb2aeab60133dae311d7f766d9f9864f16 GIT binary patch literal 1318 zcmZ|NF^<$g5QX7d3AAMF5h_BQfVf1?9qK6WC>0>iQ88yAs3UATA{c(VX0*!+-2VK! z+b!GO?yuiIy|?rD^3LotwI_VUgMB#rpU>;RE;8dZX@e_O>u&2`ZO=b{n0X+<4KFmt zEDR1Rkq`=vF-wCZKqG}hV{Y$tGLR4ojWMHYiNC<_->@Q6x0|}wf znEl~@utfrLj!GLR4ojoEG9P6iS}+4JwKeP^6_ zp4s(0?Rq_Gpd4LX9^W1huRCbGZU5DA+U{~!0~-$oom?;igE8GU2c literal 0 HcmV?d00001 diff --git a/aegisub/bitmaps/visual_vector_clip_line.bmp b/aegisub/bitmaps/visual_vector_clip_line.bmp new file mode 100644 index 0000000000000000000000000000000000000000..87dbeef673bdeb0a9c9def868204551704982cb4 GIT binary patch literal 1318 zcmciAF|O1=490Ok3AA)@1XqX?P+Roe!AJRy;sS9F*PMaEN7y!^SpJD$^PZ5PB9q^I zlWeq^$@t6Hk8kZdKEE;h#OMRw?Z&-OK|Ce(*wL z%);Pc5DB5s7_&4u0$ij}Xw36_oeU&|LSxJrS~&sbG*LZLBcoHmX?LMSxG z!kDHx&Xy1gjoGESlYxX#Xv{7=4 literal 0 HcmV?d00001 diff --git a/aegisub/bitmaps/visual_vector_clip_remove.bmp b/aegisub/bitmaps/visual_vector_clip_remove.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7956d20aa4ab4b203efeaeebe301b1694351f788 GIT binary patch literal 1318 zcma*lzir(>499T_a1eL)2&{rkkeYDs9XJX{VG(2w)|nv%M|kZ+3i*3S`^5oVSkmWy z)SYnpcTdmXzR2Ew+=+ardc*?`x!?Vl-G0=B2!}*W&{9fON&P9g{Qf1P1_uM0D71(P z6cpwNBnmC!0)>GS4*3-oHd)a0C)-?^#-^ zq`?tL6nd7ODQR#75`~^6=}HbHmE`Lw? z$#ubeBIiEjJXZzw)kX95GuyE*nwIjou5#L4TyrOQ=k(n; cqvxLEHr>hmYtpxleSbP%w<&I?Z`~i|3&cWm$^ZZW literal 0 HcmV?d00001 diff --git a/aegisub/res.rc b/aegisub/res.rc index 7896d9810..b90d9ee94 100644 --- a/aegisub/res.rc +++ b/aegisub/res.rc @@ -142,6 +142,13 @@ visual_rotatexy BITMAP "bitmaps/visual_rotatexy.bmp" visual_scale BITMAP "bitmaps/visual_scale.bmp" visual_clip BITMAP "bitmaps/visual_clip.bmp" visual_vector_clip BITMAP "bitmaps/visual_vector_clip.bmp" +visual_vector_clip_drag BITMAP "bitmaps/visual_vector_clip_drag.bmp" +visual_vector_clip_line BITMAP "bitmaps/visual_vector_clip_line.bmp" +visual_vector_clip_bicubic BITMAP "bitmaps/visual_vector_clip_bicubic.bmp" +visual_vector_clip_remove BITMAP "bitmaps/visual_vector_clip_remove.bmp" +visual_vector_clip_convert BITMAP "bitmaps/visual_vector_clip_convert.bmp" +visual_vector_clip_insert BITMAP "bitmaps/visual_vector_clip_insert.bmp" +visual_vector_clip_freehand BITMAP "bitmaps/visual_vector_clip_freehand.bmp" visual_realtime BITMAP "bitmaps/visual_realtime.bmp" arrow_up BITMAP "bitmaps/arrow_up.bmp" diff --git a/aegisub/video_box.cpp b/aegisub/video_box.cpp index 58647efed..52aee3fcf 100644 --- a/aegisub/video_box.cpp +++ b/aegisub/video_box.cpp @@ -132,6 +132,7 @@ VideoBox::VideoBox(wxWindow *parent) typeSizer->Add(scale,0,wxEXPAND,0); typeSizer->Add(clip,0,wxEXPAND,0); typeSizer->Add(vectorClip,0,wxEXPAND | wxBOTTOM,5); + typeSizer->Add(new wxStaticLine(videoPage),0,wxEXPAND | wxBOTTOM,5); typeSizer->Add(realtime,0,wxEXPAND,0); typeSizer->AddStretchSpacer(1); diff --git a/aegisub/video_display.cpp b/aegisub/video_display.cpp index ca76f67dc..b196d8d32 100644 --- a/aegisub/video_display.cpp +++ b/aegisub/video_display.cpp @@ -668,7 +668,7 @@ void VideoDisplay::SetVisualMode(int mode) { 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); break; + case 6: visual = new VisualToolVectorClip(this,toolBar,box); break; default: visual = NULL; } diff --git a/aegisub/visual_tool_vector_clip.cpp b/aegisub/visual_tool_vector_clip.cpp index 1063d3157..603c070a5 100644 --- a/aegisub/visual_tool_vector_clip.cpp +++ b/aegisub/visual_tool_vector_clip.cpp @@ -40,12 +40,59 @@ #include "ass_dialogue.h" +/////// +// IDs +enum { + BUTTON_DRAG = 1300, + BUTTON_LINE, + BUTTON_BICUBIC, + BUTTON_INSERT, + BUTTON_REMOVE, + BUTTON_CONVERT, + BUTTON_FREEHAND +}; + + /////////////// // Constructor -VisualToolVectorClip::VisualToolVectorClip(VideoDisplay *parent) +VisualToolVectorClip::VisualToolVectorClip(VideoDisplay *parent,wxSizer *toolbar,wxWindow *toolWindow) : 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); + } diff --git a/aegisub/visual_tool_vector_clip.h b/aegisub/visual_tool_vector_clip.h index ceb4f2dfb..3607e52f5 100644 --- a/aegisub/visual_tool_vector_clip.h +++ b/aegisub/visual_tool_vector_clip.h @@ -57,7 +57,7 @@ private: void DoRefresh(); public: - VisualToolVectorClip(VideoDisplay *parent); + VisualToolVectorClip(VideoDisplay *parent,wxSizer *toolbar,wxWindow *toolWindow); void Update(); void Draw();