From da1c019fd0950bf7f7e7992c5476a50eb019d622 Mon Sep 17 00:00:00 2001 From: kovacsv Date: Mon, 7 Mar 2022 18:17:46 +0100 Subject: [PATCH] Create a separate toolbar button for image export #221 --- source/website/exportdialog.js | 120 ++++++--------------------- source/website/website.js | 5 +- website/css/O3DVIcons/O3DVIcons.woff | Bin 7360 -> 7596 bytes website/css/dialogs.css | 5 +- website/css/icons.css | 19 +++-- website/info/O3DVIcons.woff | Bin 7360 -> 7596 bytes website/info/icons.css | 19 +++-- 7 files changed, 53 insertions(+), 115 deletions(-) diff --git a/source/website/exportdialog.js b/source/website/exportdialog.js index 4af5734..db91e5d 100644 --- a/source/website/exportdialog.js +++ b/source/website/exportdialog.js @@ -13,22 +13,15 @@ import { DownloadArrayBufferAsFile, DownloadUrlAsFile } from './utils.js'; import { CookieGetStringVal, CookieSetStringVal } from './cookiehandler.js'; import { HandleEvent } from './eventhandler.js'; -const ExportType = +class ModelExporterUI { - Model : 0, - Image : 1 -}; - -class ExporterUI -{ - constructor (name) + constructor (name, format, extension) { this.name = name; - } - - GetType () - { - return null; + this.format = format; + this.extension = extension; + this.visibleOnlySelect = null; + this.rotationSelect = null; } GetName () @@ -38,38 +31,16 @@ class ExporterUI GenerateParametersUI (parametersDiv) { + function AddSelectItem (parametersDiv, name, values, defaultIndex) + { + let parameterRow = AddDiv (parametersDiv, 'ov_dialog_row'); + AddDiv (parameterRow, 'ov_dialog_row_name', name); + let parameterValueDiv = AddDiv (parameterRow, 'ov_dialog_row_value'); + return AddSelect (parameterValueDiv, values, defaultIndex); + } - } - - AddSelectItem (parametersDiv, name, values, defaultIndex) - { - let parameterRow = AddDiv (parametersDiv, 'ov_dialog_row'); - AddDiv (parameterRow, 'ov_dialog_row_name', name); - let parameterValueDiv = AddDiv (parameterRow, 'ov_dialog_row_value'); - return AddSelect (parameterValueDiv, values, defaultIndex); - } -} - -class ModelExporterUI extends ExporterUI -{ - constructor (name, format, extension) - { - super (name); - this.format = format; - this.extension = extension; - this.visibleOnlySelect = null; - this.rotationSelect = null; - } - - GetType () - { - return ExportType.Model; - } - - GenerateParametersUI (parametersDiv) - { - this.visibleOnlySelect = this.AddSelectItem (parametersDiv, 'Scope', ['Entire Model', 'Visible Only'], 1); - this.rotationSelect = this.AddSelectItem (parametersDiv, 'Rotation', ['No Rotation', '-90 Degrees', '90 Degrees'], 0); + this.visibleOnlySelect = AddSelectItem (parametersDiv, 'Scope', ['Entire Model', 'Visible Only'], 1); + this.rotationSelect = AddSelectItem (parametersDiv, 'Rotation', ['No Rotation', '-90 Degrees', '90 Degrees'], 0); } ExportModel (model, callbacks) @@ -136,45 +107,6 @@ class ModelExporterUI extends ExporterUI } } -class ImageExporterUI extends ExporterUI -{ - constructor (name, extension) - { - super (name); - this.extension = extension; - this.sizeSelect = null; - this.sizes = [ - { name : 'Current size', value : null }, - { name : '1280 x 720', value : [1280, 720] }, - { name : '1920 x 1080', value : [1920, 1080] } - ]; - } - - GetType () - { - return ExportType.Image; - } - - GenerateParametersUI (parametersDiv) - { - let sizeNames = this.sizes.map (size => size.name); - this.sizeSelect = this.AddSelectItem (parametersDiv, 'Image size', sizeNames, 1); - } - - ExportImage (viewer) - { - let selectedSize = this.sizes[this.sizeSelect.selectedIndex]; - let url = null; - if (selectedSize.value === null) { - let size = viewer.GetImageSize (); - url = viewer.GetImageAsDataUrl (size.width, size.height); - } else { - url = viewer.GetImageAsDataUrl (selectedSize.value[0], selectedSize.value[1]); - } - DownloadUrlAsFile (url, 'model.' + this.extension); - } -} - class ExportDialog { constructor (callbacks) @@ -192,8 +124,7 @@ class ExportDialog new ModelExporterUI ('glTF Text (.gltf)', FileFormat.Text, 'gltf'), new ModelExporterUI ('glTF Binary (.glb)', FileFormat.Binary, 'glb'), new ModelExporterUI ('Object File Format Text (.off)', FileFormat.Text, 'off'), - new ModelExporterUI ('Rhinoceros 3D (.3dm)', FileFormat.Binary, '3dm'), - new ImageExporterUI ('PNG Image (.png)', 'png') + new ModelExporterUI ('Rhinoceros 3D (.3dm)', FileFormat.Binary, '3dm') ]; } @@ -246,16 +177,12 @@ class ExportDialog ExportFormat (model, viewer) { - if (this.selectedExporter.GetType () === ExportType.Model) { - this.selectedExporter.ExportModel (model, { - isMeshVisible : (meshInstanceId) => { - return this.callbacks.isMeshVisible (meshInstanceId); - } - }); - HandleEvent ('model_exported', this.selectedExporter.GetName ()); - } else if (this.selectedExporter.GetType () === ExportType.Image) { - this.selectedExporter.ExportImage (viewer); - } + this.selectedExporter.ExportModel (model, { + isMeshVisible : (meshInstanceId) => { + return this.callbacks.isMeshVisible (meshInstanceId); + } + }); + HandleEvent ('model_exported', this.selectedExporter.GetName ()); } } @@ -318,6 +245,7 @@ export function ShowSnapshotDialog (viewer) name : 'Create', onClick () { dialog.Close (); + HandleEvent ('snapshot_created', sizes[selectedIndex].name); let url = GetImageUrl (viewer, sizes[selectedIndex]); DownloadUrlAsFile (url, 'model.png'); } @@ -327,7 +255,7 @@ export function ShowSnapshotDialog (viewer) let optionsDiv = AddDiv (contentDiv, 'ov_snapshot_dialog_left'); let previewImage = CreateDomElement ('img', 'ov_snapshot_dialog_preview'); - let lastSnapshotSizeName = CookieGetStringVal ('ov_last_snapshot_size', sizes[0].name); + let lastSnapshotSizeName = CookieGetStringVal ('ov_last_snapshot_size', sizes[1].name); for (let i = 0; i < sizes.length; i++) { if (lastSnapshotSizeName === sizes[i].name) { selectedIndex = i; diff --git a/source/website/website.js b/source/website/website.js index ef6d60f..774dc29 100644 --- a/source/website/website.js +++ b/source/website/website.js @@ -11,7 +11,7 @@ import { Sidebar } from './sidebar.js'; import { ThemeHandler } from './themehandler.js'; import { ThreeModelLoaderUI } from './threemodelloaderui.js'; import { Toolbar } from './toolbar.js'; -import { ShowExportDialog } from './exportdialog.js'; +import { ShowExportDialog, ShowSnapshotDialog } from './exportdialog.js'; import { AddSmallWidthChangeEventListener, GetFilesFromDataTransfer, IsSmallWidth } from './utils.js'; import { ShowOpenUrlDialog } from './openurldialog.js'; import { ShowSharingDialog } from './sharingdialog.js'; @@ -565,6 +565,9 @@ export class Website }); this.measureTool.SetButton (measureToolButton); AddSeparator (this.toolbar, ['only_full_width', 'only_on_model']); + AddButton (this.toolbar, 'snapshot', 'Create snapshot', ['only_full_width', 'only_on_model'], () => { + ShowSnapshotDialog (this.viewer); + }); AddButton (this.toolbar, 'export', 'Export model', ['only_full_width', 'only_on_model'], () => { ShowExportDialog (this.model, this.viewer, { isMeshVisible : (meshInstanceId) => { diff --git a/website/css/O3DVIcons/O3DVIcons.woff b/website/css/O3DVIcons/O3DVIcons.woff index 4758d1a22caeaab8c3bab52d8a8e4d41078affd0..ae17c3939924fdd985e2b6e551c76523f78ec142 100644 GIT binary patch delta 7090 zcmV;j8%^ZEIjlPrcTYw}009610014V01E&B001<|krY3FQDbdkZ~y=Sga7~l`v3p~ zy!2c9DranYW&i*JfB*m&umAul@Jnj`6=-E)WB>pfFaQ7mG5`PoHdvUTRA^{rVE_Oc zWB>pF9RL6TBm!IkQ)q2;cmMzzga7~lB>(^burh1^@N92mVE_OctN;K2S^xk5TG5=x zVr^k~Z~y={8wdaZ0384T03ZQC0N`$6ZDjxe8z=w(0W<&r0wM=s&*X4#b94Xz99#eZ z0Z;${0suw)E}xSK0cn3T>HxXYjP48|m5eBgm;fcD3B!1t?b26{gD?O^(Mt(wq?6uz zA?uq3&DU&?6=eK)vy8EHe1&BY!T=2*3En{p(GL+C-(fYX*AqJRddgS5C)IjYem-H2 zG>7Z7p5w4L4NuHy(xM&i>yp!>&wwE##!M)fGGoqyB`el!*s_0P&w(Q+&Rn>1OO>bBA z47G2l14A7e>c~*XhB`6S!ceD%Iy2O{p)L${X{akhT^s7gP`8G#pkV>Zdq zd)6~MJJZMX9^P4O?{3zPP3+ifhre<;ij<5st9$i&k^;Lg;@A16P^M2)#$De=p{=_Rh zZ_VMYS{vuhmzwIk}K^aB%@x7_=yn3uZ z#b~7)%eD=ME9d3vWIDM-D<1QA#PdYbj`xLBM$mK*S4#VjbXSnjc6=a&HncaL?kOvI zw0g`x#+ZK_7}MBe9?}|XsuJU^j!!V~A-$}Klz(e)O2Q~Dp2IEt(Z2pip@j-=P4|RW zQi!`4+#el?^Kp6JIX|ly(8&#|283r6KTR*x6Mft&BjxkzkLdY&nvYw;#tU?I{l9zv z;f?CKR{UHkosV-iwhCH-Jt`eRs9n-4({*o z^OL)W_x{EETQ75WHf2>_quJ_YF`ewws2agEUk}1*PD4ayl1?ZyzlXT!1G$p z3-Eu#3H#Um8P8z}^JPbD32T@`TJS+Wy}-^1@7S+6_p4n!nmlmzdgpdKYYCCHy8KPP z4UYm+|zq2^B zK8ZoQJ9%KgA^mt~gQ}g_mmG_3XB-DY{MdhMPksGMHy*fh!(9kBgw7Wc9e90j?p^U7 z_ul5c%X^RaLGL5pPr)A}nD5vWeJa`m_qceA#SWG z5UG_ZD&Cu)(sVQ(k8pH$@;XNm+^=)Ae4TTb(pVBQ^3^+ElrgfC0wdq`Ex#)S^89~y z@V`*>&S#R(sf_$S0@FUpQL4y1Wk;`fOw$`YNc+-C8J2&T3mf9Lq!RfL(jd5-BpZL$ z;4Bm}|F%~(jc|FQgouO)CCw@QvK>kv*vrm$-~w^)9{eyvPCVp23cIHckcu|Kvtq*o z^I-W?PXBcz*C;RY0UVvcYIZVR z*{VHVR&Bdn&1~gr)p#^ciJ#O#FJA)08&BRVcP~i3J?e@UZ!;VS&#O_MKf1mB*oCb} zf9A1A36QKrtM!?LLq|lPZMA<0cqMiAKrgjHS<`TQZ?1| z((W)&W!oqpp>Cz{VH3Tna@8I9zTDW?j4^S7vLlW3Z($dc2?QS&#`rf){fn{zDJv|E z<#xAP^~ZhHlmkJTQpkuT&^xKG8%?ue9@^HKD&XgjN-ce8Gy zfq%kAV3kA+x{_KK=Lmn5wToKAm9@|16W$fGQ(1@KVtL3`EZB$)ItUX^H+UWhxQ00O z83E^V;an&Q$Kh_e)g)ox!$cwhH`e5BRnvb@BPa~`AF z`bdZ{`8CpQq!9)nwpU9d>{|*^CRCxMCu>dsTM?F=%TFB3{ zoJ5@T9ZILtvD_0|G0|8pR?C_=(*iu8_He=F?o@Cjm@y`dSa=Pjf1Ko)GcOFC)g^@i z*N1J}SI`HKe5;tv=oFhmi6>xU@d2RH_aZ=)cvgRLxbFa21TKE|PV8!b__;9P>N6tw zF+hw`JG7!+k9HI;6u@((;L=Bgc$9!?2(QB$qg~Ga8|q#H#JS+D&QuV{(}H=EeZzZ~ zfh6dT~s;v zMCyN~RQrX0t&8|%HC;@m$CGbD#bUcPQT}2gV5CAx7pCaS_oF_Z??U;^WPKukB%H8d zk756nmm16iT7QYt*+ZxqMVCv>E3Z6w1j#zn>npyY9gwJX7`xwrwYGQ)oaS0_W}T{y4I92IN3`p78js8>}0)m)05 zQe9{d>8C@%gn_z2o@}JC?X?EGx}qH-JKyb`bZpb~nkqnqi%mAGRXTr? zhB2E|!*FQ{G*?fvQN&3DJk)P+-9ldaJ~7Ldja(vqO%$8RZ}Y=L*G#;N(N z;_}9*Mx#TqTu~;vUDewhjawHA-|v6-C3Q9cxmH|;nKt{)ht@|gY8-rTU?TIXh=!?B zTf?gKy(Iu*x*6ib>hxdYVwq12DPP(HYh%Zko_6t*;n){^2a26E0COdQ>M^|n?HjDgD zb9G~DauS-`js&e~81D)5771$h7Hl}pXJ4bgZ+g!={rv{j_nF{cya~a5uCc!c!R<1edj_-Sl_QvjuRAchl(N{#|GeMp()+7mz+ zv9(>6NdM0(diJeDxi$Qe!>S3UF6B;1zXE1yD9g7I?IH;Q#wK9a>^Faa6Mzj+@|}SJ z_)4bG_N9>NY-h-P_NlLr6NPwu0#u?UpLpx)JDJrOtrtHp2T@*SBnp|SpqCgmNGs$C z*`Tu7{dylG-kx1^!h*@_nY?G2HE~9&r+JBv7#*;ciRGbiVdZmWmImhgYI@O@B`BJO881h6V-vvvsvwwbbEz-iXEaU(6ZjEEBD3mtbT z`Vj&v&wsBW9f6>!1o(mzn9ZXsfT%$pF|!w0<0=gFt`@@r+b?FJ7bcfB4A_yjIxOf@ z=h#?K+iL(DzuwK9tI&BpMf!7jnpJb_NG>y1=;HZ(hP**z5%5RsBV2a+$n7MQ^L;pVHn#r_ zUT1{bcCLO#K;y6T-r;?>_sW^72e&}9a5JJ^)U+6G->>B=#C+ZR>4PY`@^W3Atd_11 zIk=6H`-fHL#x(iu3!ERo(6*Y4ykcRJ^l7F#p8ZB z)_KM8ud{zBRZm^0T2aRBw`SI=qOg&0FH9XoNdzgu^(X44txYMzFmCAlS08(fLe(w& z)@TRh319(cqd8xXK%|e4RcEXkvJp4bBVR|V%5|{2V+`dnfU7~NzmZ09qlZ+JCTVP_ zRP}dSDu|jo(~UR^rQB?#-HZ{!Sksr|WPG>fI&uo5mMlb!L8spKQ$SyahWIA#kqn3uflrmYS~BJr{(Ulscw6pt@J+TzrXK7}UIDGOcsQG6JKr zAi*$O+=x*KG#?1G?i7UJ3zs#MaDA=r3|zW&)-9;p2V%&L0;ErxW})ROSmwb-(&z`s z18j$3DBFDjofzelJmL;xzipK38`P)*8mfPN3%#pf({6BhqvT&RzP8s5hct!in#kMq zSlw=TjD#O%ajJ9O?5%IPzC8j4|XD@%z zOYgoPCA788qVko<&`r8cI{rW;)b{pa50_qfcmF#Bx_b30UAcPg`z}-6>tjB7i08WC zJ?;H~_X)=%+VxtDE!O@9rvSxdm%8?f^Z9tP&VG4~PUg(9T_7w@9QnS+Edb!}oEt8P zjCtKUbOWX|PDLGlJY=nhxLM0R8W(?*lj#Wie@{!s{#J{@H8nQL43{C(+qZSo61X=L z^7k7ZrG1q*(mX-xkls-dj4y-*t;=%2rqo&EDTkVRC{&oj&%z`o$Qz1FQquAp75}Wt zhLqd#8jxZ<lpY>-M;7^bxmTtrBzb1zF|oR*-+=*(9qO znMEq~b;49ySaZKHq#^jVPB@e~#D(fKb*dVrq8STWK6t;T*M51w_t7`y6L11WOS-k4KJNZ1<^27h_MM2mj!(+Rsoj4YE#92@ayzuaetxXKcBotry!;C-|A z1@DXAUpQ4&Sf?;E;rO4eT+>9jW__*52iyo;9mDvpzPYxS zR3$a?^E0I%FseeYR>prq0>GVnA|CECc2(NXxoxnNPUlX5;bXbHb>@^!<6|b zYGTE-WzOxgHcrJMrX?!?*$hbKn2kB3qjeQp0{kqx$4r(J_tX1?jN)DuDTm7v zk@XKUQR_8`elL!s>5rcXxwAF1Tutg_SlC2g){@%Sc1?e};YYmCH10%ED+_&XC~Eie zu+a$(AkdFN4N6phqioovuE-I?FpGKN1!)3OvAla%`+)pB6T{RY7;f{MoK7-E3u`MDn00aW12XDa5b{d#iFDMk}6Z*$DF?RtYqkt0sFqSh^-vye1mUe-NXaXg=` z=B_K?CWIsPD=|Y_GM)X{_*#o4KH0~Y{zkZWBME;^-nhDBiUoM7up#swuM?USVTACB zWYLM@WOic1+VykQfjCfQt*{&j8YZJoSVH6FA1J365J+I&4`y(go@)#i7*D_n`Ugxnp5;? z-#dTu?m_{=astWWUim>*vH6bqZ43V9rCk=qju7xV*z#n;Yh>%reZ4NSI^kyOq~;U# zJ4n^YK~no{h2{RMM3dj9ZOnM60j@#NOnnn%vVN<i5tUIJ4DeTdWE zIX64A;|KqL?C4rB6-V{4Yhf|daJt-Cbo75`O>WD`;}rl-*~@MPK$^o7U=7sE|FwTn ziQn0{=@!qqsiEkmfcSo(zYkp50ONhey)$>ev%hZU*Y6j&EU#ZhVXbkMGugqLaErCz zVdYs@-|;6lEt8~AbT?gJ|MnxJv1{cQ4>h~pAWd4Bb91m=v~p$AM*}?ZM%<}#*aImT zB-O@QPv7oNl1Qnt1J?2-5!YS)TT*}IbtAtu@MCad)k;7oHsheXy{Sc(H#@tqdfLgN zG6DknS-EcM3x61fO0{#yRM$uNPdWlW*z_)YZ}q;Z?v$ScTdlTH&n~%2c>W3n|EVR^ zV#PM#C~{Vtt{{&vl(t9`Wjguyg=`%3GI5rZn4ET3M{^a=LZ< z3hvWX?W`RqHtL;YE(Bg!07*f{{Lk(V$=h2IT)Bgq5wo+ z3-JH|c${NkWME*_VPF7}|Ns2|#c0I9$bbrT0B0Zsu#=$~9}BSAg^2-kbr*O50F%cV zOfHTQyb=BqniD<~=oDxa_y7QSoMT{QU|`T;xWd5200K-v%mrru2lE*KB8UPZvppI* z0e_HNQyVc1M)xCo4Go31Kq=P(y~A(Xabh{EsbcTg4h#JHdP#Wcpa=QL_8iI1cCt-O zvbW<7JD4Cxff5yJG?-!+?=Zt2-eVsJ_<)c2ghL$R7@u*1FF3^+&T)ZDT;VIOaf4fY z!*~3^PyE7f{J|aWv#Ijl4Xt*A-J+0*yMG(>yzFAV;dNgu#09DsPDJ&A8ciIWs7RHj zs8~X&olRv)kG-;bT%3=!A<}cT_&YN!^wLP2(#2SXiQzak{Fv;mGp2b(+n6M7g+t7Z za9=JtcI$cBvDRdBw#HT4=FKW4&q~5VrLR8QND zaz&w|sQ5+hobIe?Og-pUQxkUjP6A delta 6852 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 diff --git a/website/css/dialogs.css b/website/css/dialogs.css index 9bb5a6d..2e43567 100644 --- a/website/css/dialogs.css +++ b/website/css/dialogs.css @@ -258,8 +258,9 @@ div.ov_snapshot_dialog_left img.ov_snapshot_dialog_preview { background: var(--ov_border_color); - width: 250px; - height: 140px; + border: 1px solid var(--ov_border_color); + width: 240px; + height: 135px; object-fit: contain; float: right; } diff --git a/website/css/icons.css b/website/css/icons.css index 6794363..2f07294 100644 --- a/website/css/icons.css +++ b/website/css/icons.css @@ -1,6 +1,6 @@ @font-face { font-family: "O3DVIcons"; - src: url("O3DVIcons/O3DVIcons.woff?8e8ff80e3f2f51d21873c070a35e0f3c") format("woff"); + src: url("O3DVIcons/O3DVIcons.woff?3aa6f39e888e50c0858037b7381ba7ac") format("woff"); } i[class^="icon-"]:before, i[class*=" icon-"]:before { @@ -119,24 +119,27 @@ i[class^="icon-"]:before, i[class*=" icon-"]:before { .icon-share:before { content: "\f123"; } -.icon-tree_mesh:before { +.icon-snapshot:before { content: "\f124"; } -.icon-tree_view:before { +.icon-tree_mesh:before { content: "\f125"; } -.icon-twitter:before { +.icon-tree_view:before { content: "\f126"; } -.icon-up_y:before { +.icon-twitter:before { content: "\f127"; } -.icon-up_z:before { +.icon-up_y:before { content: "\f128"; } -.icon-visible:before { +.icon-up_z:before { content: "\f129"; } -.icon-warning:before { +.icon-visible:before { content: "\f12a"; } +.icon-warning:before { + content: "\f12b"; +} diff --git a/website/info/O3DVIcons.woff b/website/info/O3DVIcons.woff index 4758d1a22caeaab8c3bab52d8a8e4d41078affd0..ae17c3939924fdd985e2b6e551c76523f78ec142 100644 GIT binary patch delta 7090 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 delta 6852 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 diff --git a/website/info/icons.css b/website/info/icons.css index a76f10d..d819fc1 100644 --- a/website/info/icons.css +++ b/website/info/icons.css @@ -1,6 +1,6 @@ @font-face { font-family: "O3DVIcons"; - src: url("./O3DVIcons.woff?8e8ff80e3f2f51d21873c070a35e0f3c") format("woff"); + src: url("./O3DVIcons.woff?3aa6f39e888e50c0858037b7381ba7ac") format("woff"); } i[class^="icon-"]:before, i[class*=" icon-"]:before { @@ -119,24 +119,27 @@ i[class^="icon-"]:before, i[class*=" icon-"]:before { .icon-share:before { content: "\f123"; } -.icon-tree_mesh:before { +.icon-snapshot:before { content: "\f124"; } -.icon-tree_view:before { +.icon-tree_mesh:before { content: "\f125"; } -.icon-twitter:before { +.icon-tree_view:before { content: "\f126"; } -.icon-up_y:before { +.icon-twitter:before { content: "\f127"; } -.icon-up_z:before { +.icon-up_y:before { content: "\f128"; } -.icon-visible:before { +.icon-up_z:before { content: "\f129"; } -.icon-warning:before { +.icon-visible:before { content: "\f12a"; } +.icon-warning:before { + content: "\f12b"; +}