1717 ** \n https://www.researchgate.net/profile/WOJCIECH_BORKOWSKI
1818 ** \n https://github.com/borkowsk
1919 **
20- ** \library SYMSHELLLIGHT version 2023b
21- **
22- * */
20+ ** \library SYMSHELLLIGHT version 2026a
21+ **
22+ * @date 2026-01-06 (last modification)
23+ */
2324#include < iostream>
2425#include < fstream>
2526#include < cassert>
@@ -504,8 +505,12 @@ void clear_screen()
504505 GrListPosition = -1 ; // Pusto
505506}
506507
507- // / Czyszczenie optymalizujące. Specjalnie dla tego modułu. W innych nie robi nic.
508- // / Cały ekran/okno zostanie wirtualnie "wymazany/e"
508+ // / Czyszczenie optymalizujące.
509+ // / Cały ekran/okno zostanie wirtualnie "wymazany/e".
510+ // / @note
511+ // / Specjalnie dla tego modułu, bo tu jest bardzo tanie. W innych nie robi nic, bo czyszczenie jest tam
512+ // / kosztowne, i zwykle staramy się go unikać, a tylko zamazywać nową treścią.
513+ // /
509514int invalidate_screen ()
510515{
511516 if (ssh_trace_level) cout <<" SVG: " << _FUNCTION_NAME_ << SEP;
@@ -521,19 +526,19 @@ ssh_mode print_transparently(ssh_mode Yes)
521526{
522527 if (ssh_trace_level>2 ) cout <<" SVG: " << _FUNCTION_NAME_ << SEP;// print_transparently
523528 if (ssh_trace_level>2 ) cout << Yes << endl;
524- int old = GrPrintTransparently;
529+ int old = GrPrintTransparently;
525530 GrPrintTransparently = Yes;
526- return old;
531+ return old;
527532}
528533
529534// / Ustala szerokość linii. Może byc kosztowne (?). Zwraca ustawienie poprzednie.
530535ssh_natural line_width (ssh_natural width)
531536{
532537 if (ssh_trace_level>2 ) cout <<" SVG: " << _FUNCTION_NAME_ << SEP;// line_width
533538 if (ssh_trace_level>2 ) cout << width << endl;
534- int old = GrLineWidth;
539+ int old = GrLineWidth;
535540
536- GrLineWidth = width;
541+ GrLineWidth = width;
537542 if (GrLineWidth<0 )
538543 GrLineWidth=1 ; // WHY NOT 0!!!
539544 if (GrLineWidth>3 )
@@ -546,7 +551,7 @@ ssh_natural line_width(ssh_natural width)
546551 first_time=0 ;
547552 }
548553 }
549- return old;
554+ return old;
550555}
551556
552557// / \brief Ustala styl rysowania linii: `SSH_LINE_SOLID`, `SSH_LINE_DOTTED`, `SSH_LINE_DASHED`
@@ -614,7 +619,7 @@ void set_gray(ssh_color shade,ssh_intensity intensity)
614619// / \param Style
615620// /
616621// / Ustala aktualny kolor linii za pomocą typu ssh_color (koloru indeksowanego)
617- // / ssh_color c - jest jak dotąd zawsze traktowany jako indeks do tabeli kolorów[1]
622+ // / ssh_color c — jest jak dotąd zawsze traktowany jako indeks do tabeli kolorów[1]
618623// / w których pierwsze 256 ustala się wg. jakiejś skali,
619624// / a następne 256 są odcieniami szarości, domyślnie od czarnego do białego
620625// / Kolory indeksowane w _symshwin_ i _symshx11_ korzystają z cache'owania systemowych pisaków,
@@ -653,7 +658,7 @@ void set_pen(ssh_color c,ssh_natural line_width, ssh_mode Style)
653658// / \param width
654659// / \param Style
655660// /
656- // / Poza kolorem linii za pomocą składowych RGB, ustala też od razu styl, żeby nie mnożyć wywołań
661+ // / Poza kolorem linii za pomocą składowych RGB ustala też od razu styl, żeby nie mnożyć wywołań.
657662// / \internal
658663// / Jeżeli kolory indeksowane korzystają z cache'owania tego samego pisaka to
659664// / należy ustalić kolor aktualny na pusty np. curr_color=-1;
@@ -841,7 +846,7 @@ ssh_natural screen_width()
841846 return GrScreenWi;
842847}
843848
844- // / Aktualne rozmiary znaku - wysokość.
849+ // / Aktualne rozmiary znaku — wysokość.
845850// / ...potrzebne do pozycjonowania tekstu
846851ssh_natural char_height (char znak)
847852{
@@ -850,7 +855,7 @@ ssh_natural char_height(char znak)
850855 return GrFontHi;
851856}
852857
853- // / Aktualne rozmiary znaku - szerokość.
858+ // / Aktualne rozmiary znaku — szerokość.
854859// / ...potrzebne do pozycjonowania tekstu
855860ssh_natural char_width (char znak)
856861{
@@ -859,7 +864,7 @@ ssh_natural char_width(char znak)
859864 return GrFontWi;
860865}
861866
862- // / Aktualne rozmiary wyświetlania całego łańcucha znaków - wysokość.
867+ // / Aktualne rozmiary wyświetlania całego łańcucha znaków — wysokość.
863868// / Tu zazwyczaj może być to samo co char_height.
864869ssh_natural string_height (const char * str)
865870{
@@ -868,7 +873,7 @@ ssh_natural string_height(const char* str)
868873 return GrFontHi;
869874}
870875
871- // / Aktualne rozmiary wyświetlania całego łańcucha znaków - szerokość.
876+ // / Aktualne rozmiary wyświetlania całego łańcucha znaków — szerokość.
872877// / W najgorszym razie odpowiednia wielokrotność char_width
873878// / ...potrzebne do jego pozycjonowania */
874879ssh_natural string_width (const char * str)
@@ -992,7 +997,7 @@ void print_d(ssh_coordinate x,ssh_coordinate y,const char* format,...)
992997 char target[2048 ];
993998 va_list marker;
994999 va_start (marker, format); /* Initialize variable arguments. */
995- vsprintf (target, format, marker); assert (strlen (target) < 2046 );
1000+ vsprintf (target, format, marker); assert (strlen (target) < 2046 );
9961001 va_end (marker); /* Reset variable arguments. */
9971002 // Op.text.txt.take(clone_str(target));
9981003 // if(Op.text.txt != NULL)
@@ -1177,7 +1182,7 @@ void fill_flood_rgb(int x,int y,int rf,int gf,int bf,int rb,int gb,int bb)
11771182
11781183/* RYSOWANIE */
11791184
1180- // / \brief Wyświetlenie linii w aktualnym kolorze domyślnym - także RGB.
1185+ // / \brief Wyświetlenie linii w aktualnym kolorze domyślnym — także RGB.
11811186// / \param x1 : pozioma współrzędna startowa
11821187// / \param y1 : pionowa współrzędna startowa
11831188// / \param x2 : pozioma współrzędna końcowa
@@ -1331,7 +1336,7 @@ void circle(ssh_coordinate x,ssh_coordinate y,ssh_natural r,ssh_color c)
13311336 Op.circle .ry = r;
13321337}
13331338
1334- // / Wyświetlenie koła w kolorach domyślnych (pen & fill - także rgb).
1339+ // / Wyświetlenie koła w kolorach domyślnych (pen & fill — także rgb).
13351340// / \param x
13361341// / \param y
13371342// / \param r : promień okręgu
@@ -1754,7 +1759,7 @@ elastyczny byłby "named pipe" o nazwie zależnej od PID
17541759i nazwy pliku wykonywalnego
17551760 **/
17561761
1757- // / \brief Funkcja sprawdza czy jest do odczytania jakieś zdarzenie wejściowe
1762+ // / \brief Funkcja sprawdza, czy jest do odczytania jakieś zdarzenie wejściowe
17581763// / \return SSH_YES or SSH_NO
17591764ssh_mode input_ready ()
17601765{
@@ -1768,7 +1773,7 @@ ssh_mode input_ready()
17681773// / Funkcja odczytywania znaków sterowania i zdarzeń.
17691774// / \return znak, jak nie ma czego zwrócić to zwraca neutralne 0.
17701775// / \details
1771- // / W module SVG nigdy nie staje na tej funkcji, jak przy zwykłym oknie
1776+ // / W tym module SVG nigdy nie staje na tej funkcji jak przy zwykłym oknie
17721777ssh_msg get_char ()
17731778{
17741779 if (ssh_trace_level>2 ) cout <<" SVG: " << _FUNCTION_NAME_ << SEP << GrCharMessage << endl;// get_char
@@ -1780,12 +1785,12 @@ ssh_msg get_char()
17801785 }
17811786 else
17821787 return 0 ;// Nigdy nie staje na tej funkcji, jak przy zwykłym oknie
1783- // return -1;//-1 oznacza koniec wejścia - np. kliknięcie w "zamykacz okna" - co się tu normalnie nie zdarza
1788+ // return -1;//-1 oznacza koniec wejścia — np. kliknięcie w "zamykacz okna" - co się tu normalnie nie zdarza
17841789}
17851790
17861791// / Odesłanie znaku na wejście
17871792// / \param c : znak
1788- // / \return Zwraca 0 jeśli nie ma miejsca
1793+ // / \return Zwraca 0, jeśli nie ma miejsca
17891794// / \details Pewne jest tylko odesłanie jednego znaku
17901795ssh_stat set_char (ssh_msg c)
17911796{
@@ -2101,15 +2106,15 @@ static int _writeSVG(ostream& o)
21012106 // o << "<line x1 =\"0\" y1=\"0\" x2=\"100\" y2=\"50\" stroke=\"blue\" stroke-width=\"6\" />" << endl;
21022107 o << " <line x1=\" " << pr.x1 << " px\" y1=\" " << pr.y1 << " px\" x2=\" " << pr.x2 << " px\" y2=\" " << pr.y2 << " px\" " ;
21032108 if (pr.wi >0 ) o << " stroke-width=\" " << pr.wi << " px\" " ;
2104- o << " stroke=\" rgb(" << pr.r << ' ,' << pr.g << ' ,' << pr.b << " )\" " ;// COLOR
2109+ o << " stroke=\" rgb(" << pr.r << ' ,' << pr.g << ' ,' << pr.b << " )\" " ; // COLOR
21052110 // << "; 0x" << hex << pr.mode << dec << "; ";
21062111 o << " />" << endl;
21072112 }; break ;
21082113 case GrType::Circle: {
21092114 struct Circle &pr = (GrList[i].circle );
21102115 // o << "<circle cx=\"120\" cy=\"120\" r=\"80\" fill=\"red\" stroke=\"black\" stroke-width=\"5\" />" << endl;
21112116 // o << "<ellipse cx=\"200\" cy=\"200\" rx=\"20\" ry=\"7\" fill=\"none\" stroke=\"black\" stroke-width=\"6\" />" << endl;
2112- if (pr.rx == pr.ry )// Koło - circle
2117+ if (pr.rx == pr.ry ) // Koło — circle
21132118 o << " <circle r=\" " << pr.ry << " px\" " ;
21142119 else
21152120 o << " <ellipse rx=" << pr.rx << " px\" ry=\" " << pr.ry << " px\" " ;
@@ -2149,10 +2154,10 @@ static int _writeSVG(ostream& o)
21492154 struct Text & pr = (GrList[i].text ); // assert(pr.txt != NULL);
21502155 // cerr << '\t' << i << '\t' << pr.type << ' ' << pr.x << ' ' << pr.y;
21512156 // cerr << ' ' << (pr.txt?pr.txt:"NULL") << endl;
2152- if (pr.txt == NULL ) // TO SIĘ NIE POWINNO ZDAŻAĆ ALE JEDNAK SIĘ ZDAŻAŁO!!!
2157+ if (pr.txt == nullptr ) // TO SIĘ NIE POWINNO ZDAŻAĆ ALE JEDNAK SIĘ ZDAŻAŁO!!!
21532158 {
21542159 cerr << ' \t ' << i << ' \t ' << pr.type << ' ' << pr.x << ' ' << pr.y << " NULL" << endl;
2155- pr.txt = clone_str (" @?@-NULL-@?@" ); assert (pr.txt != NULL );
2160+ pr.txt = clone_str (" @?@-NULL-@?@" ); assert (pr.txt != nullptr );
21562161 // exit(-1);
21572162 }
21582163
@@ -2210,7 +2215,7 @@ void flush_plot()
22102215{
22112216 if (GrClosed)
22122217 {
2213- cerr<<" SYMSHELL graphics not initialised " <<endl;
2218+ cerr<<" SYMSHELL graphic is not initialized " <<endl;
22142219 return ;
22152220 }
22162221
@@ -2274,7 +2279,7 @@ ssh_stat dump_screen(const char* Filename)
22742279}
22752280
22762281/* *******************************************************************/
2277- /* SYMSHELLLIGHT version 2023-03-14 */
2282+ /* SYMSHELLLIGHT version 2026-01-o5 */
22782283/* *******************************************************************/
22792284/* THIS CODE IS DESIGNED & COPYRIGHT BY: */
22802285/* W O J C I E C H B O R K O W S K I */
0 commit comments