update banners
[scilab.git] / scilab / modules / core / src / cpp / banner.cpp
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #include "banner.hxx"
17 #include "scilabWrite.hxx"
18 #include "localization.hxx"
19
20 extern "C"
21 {
22 #include <string.h>
23 #include <math.h>
24 #include "version.h"
25 #include "charEncoding.h"
26 }
27 /*--------------------------------------------------------------------------*/
28 static const wchar_t *line = L"        ___________________________________________        ";
29 /*--------------------------------------------------------------------------*/
30 static void centerPrint(const wchar_t *str);
31
32 void banner(void)
33 {
34     scilabForcedWriteW(line);
35     scilabForcedWriteW(L"\n");
36
37     centerPrint(SCI_VERSION_WIDE_STRING);
38     scilabForcedWriteW(L"\n\n");
39
40     centerPrint(_W("ESI Group\n").c_str());
41     centerPrint(_W("Copyright (c) 2017-2018 (ESI Group)\n").c_str());
42     centerPrint(_W("Copyright (c) 2011-2017 (Scilab Enterprises)\n").c_str());
43     centerPrint(_W("Copyright (c) 1989-2012 (INRIA)\n").c_str());
44     centerPrint(_W("Copyright (c) 1989-2007 (ENPC)\n").c_str());
45
46     scilabForcedWriteW(line);
47     scilabForcedWriteW(L"\n");
48 }
49
50 /*--------------------------------------------------------------------------*/
51 static void centerPrint(const wchar_t *str)
52 {
53     int i = 0;
54     int startVersion = (int)(floor((double)(wcslen(line) / 2)) - floor((double)(wcslen(str) / 2)));
55
56     /* To center the version name */
57     for (i = 0 ; i < startVersion ; i++ )
58     {
59         scilabForcedWriteW(L" ");
60     }
61     scilabForcedWriteW(str);
62 }