1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// Copyright (c) 2008 GeometryFactory Sarl (France). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v6.1/GraphicsView/include/CGAL/Qt/DemosMainWindow_impl.h $ // $Id: include/CGAL/Qt/DemosMainWindow_impl.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Andreas Fabri // Laurent Rineau #ifdef CGAL_HEADER_ONLY #define CGAL_INLINE_FUNCTION inline #include #else #define CGAL_INLINE_FUNCTION #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if QT_SVG_LIB # include #endif #include #include // needed to get CGAL_VERSION_STR #include #include namespace CGAL { namespace Qt { CGAL_INLINE_FUNCTION DemosMainWindow::DemosMainWindow(QWidget * parent, ::Qt::WindowFlags flags) : QMainWindow(parent, flags), maxNumRecentFiles(10), recentFileActs(maxNumRecentFiles) { // prepare the QLabel xycoord for inclusion in the statusBar() xycoord = new QLabel(" -0.00000 , -0.00000 ", this); xycoord->setAlignment(::Qt::AlignHCenter); xycoord->setMinimumSize(xycoord->sizeHint()); xycoord->clear(); actionUse_Antialiasing = new QAction(this); actionUse_Antialiasing->setObjectName("actionUse_Antialiasing"); actionUse_Antialiasing->setCheckable(true); actionUse_Antialiasing->setText(tr("Use &anti-aliasing")); actionUse_Antialiasing->setStatusTip(tr("Make Qt use anti-aliasing when displaying the graphical items.")); actionUse_Antialiasing->setShortcut(tr("Ctrl+A")); actionAboutCGAL = new QAction(this); actionAboutCGAL->setObjectName("actionAboutCGAL"); actionAboutCGAL->setText(tr("About &CGAL...")); actionAbout = new QAction(this); actionAbout->setObjectName("actionAbout"); actionAbout->setText(tr("&About...")); setAcceptDrops(true); } CGAL_INLINE_FUNCTION DemosMainWindow::~DemosMainWindow() { } CGAL_INLINE_FUNCTION void DemosMainWindow::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasFormat("text/uri-list")) event->acceptProposedAction(); } CGAL_INLINE_FUNCTION void DemosMainWindow::dropEvent(QDropEvent *event) { Q_FOREACH(QUrl url, event->mimeData()->urls()) { QString filename = url.toLocalFile(); this->open(filename); } event->acceptProposedAction(); } CGAL_INLINE_FUNCTION void DemosMainWindow::addNavigation(QGraphicsView* graphicsView) { navigation = new CGAL::Qt::GraphicsViewNavigation(); graphicsView->viewport()->installEventFilter(navigation); graphicsView->installEventFilter(navigation); QObject::connect(navigation, SIGNAL(mouseCoordinates(QString)), xycoord, SLOT(setText(QString))); view = graphicsView; } CGAL_INLINE_FUNCTION void DemosMainWindow::setupStatusBar() { this->statusBar()->addWidget(new QLabel(this), 1); this->statusBar()->addWidget(xycoord, 0); } CGAL_INLINE_FUNCTION void DemosMainWindow::setupOptionsMenu(QMenu* menuOptions) { // search for the Options menu if(!menuOptions) { menuOptions = getMenu("menuOptions", tr("&Options")); } // if not found, then create it if(!menuOptions) { menuOptions = new QMenu(this->menuBar()); menuOptions->setTitle(tr("&Options")); this->menuBar()->addAction(menuOptions->menuAction()); menuOptions->setObjectName("menuOptions"); } if(!menuOptions->isEmpty()) { menuOptions->addSeparator(); } menuOptions->addAction(actionUse_Antialiasing); connect(actionUse_Antialiasing, SIGNAL(toggled(bool)), this, SLOT(setUseAntialiasing(bool))); actionUse_Antialiasing->setChecked(true); } #if QT_SVG_LIB CGAL_INLINE_FUNCTION void DemosMainWindow::setupExportSVG(QAction* action, QGraphicsView* view) { this->view = view; connect(action, SIGNAL(triggered(bool)), this, SLOT(exportSVG())); } CGAL_INLINE_FUNCTION void DemosMainWindow::exportSVG() { QString fileName = QFileDialog::getSaveFileName(this, tr("Export to SVG"), ".", tr("SVG (*.svg)\n")); QSvgGenerator svg; svg.setFileName(fileName); svg.setSize(this->view->size()); svg.setViewBox(this->view->sceneRect()); svg.setTitle(tr("%1 drawing").arg(qApp->applicationName())); svg.setDescription(tr("Generated using %1").arg(qApp->applicationName())); QPainter painter; painter.begin(&svg); this->view->render(&painter); painter.end(); } #endif // QT_SVG_LIB CGAL_INLINE_FUNCTION void DemosMainWindow::setUseAntialiasing(bool checked) { view->setRenderHint(QPainter::Antialiasing, checked); statusBar()->showMessage(tr("Antialiasing %1activated").arg(checked?"":"de-"), 1000); } CGAL_INLINE_FUNCTION QMenu* DemosMainWindow::getMenu(QString objectName, QString title) { QMenu* menu = nullptr; QString title2 = title; title2.remove('&'); // search if a menu has objectName()==objectName menu = this->findChild(objectName); // then search if a menu has title()==title if(menu) { return menu; } else { Q_FOREACH(menu, this->findChildren()) { if(menu->title() == title || menu->title() == title2) { return menu; } } } return nullptr; } CGAL_INLINE_FUNCTION void DemosMainWindow::popupAboutBox(QString title, QString html_resource_name) { QFile about_CGAL(html_resource_name); about_CGAL.open(QIODevice::ReadOnly); QString about_CGAL_txt = QTextStream(&about_CGAL).readAll(); #ifdef CGAL_VERSION_STR QString cgal_version(CGAL_VERSION_STR); # ifdef CGAL_FAKE_PUBLIC_RELEASE cgal_version.replace(QRegExp("-Ic?.*"), ""); # endif about_CGAL_txt.replace("", QString(" (version %1)") .arg(cgal_version)); #endif QMessageBox mb(QMessageBox::NoIcon, title, about_CGAL_txt, QMessageBox::Ok, this); QLabel* mb_label = mb.findChild("qt_msgbox_label"); if(mb_label) { mb_label->setTextInteractionFlags(mb_label->textInteractionFlags() | ::Qt::LinksAccessibleByMouse | ::Qt::LinksAccessibleByKeyboard); } else { std::cerr << "Cannot find child \"qt_msgbox_label\" in QMessageBox\n" << " with Qt version " << QT_VERSION_STR << "!\n"; } mb.exec(); } CGAL_INLINE_FUNCTION QMenu* DemosMainWindow::getHelpMenu() { QMenu* menuHelp = getMenu("menuHelp", tr("&Help")); if(!menuHelp) { menuHelp = new QMenu(this->menuBar()); menuHelp->setTitle(tr("&Help")); this->menuBar()->addAction(menuHelp->menuAction()); menuHelp->setObjectName("menuHelp"); } return menuHelp; } CGAL_INLINE_FUNCTION void DemosMainWindow::addAboutCGAL(QMenu* menuHelp) { if(!menuHelp) { menuHelp = getHelpMenu(); } menuHelp->addAction(actionAboutCGAL); connect(actionAboutCGAL, SIGNAL(triggered()), this, SLOT(popupAboutCGAL())); } CGAL_INLINE_FUNCTION void DemosMainWindow::addAboutDemo(QString htmlResourceName, QMenu* menuHelp) { if(!menuHelp) { menuHelp = getHelpMenu(); } menuHelp->addAction(actionAbout); aboutHtmlResource = htmlResourceName; connect(actionAbout, SIGNAL(triggered()), this, SLOT(popupAboutDemo())); } CGAL_INLINE_FUNCTION void DemosMainWindow::popupAboutCGAL() { popupAboutBox(tr("About CGAL..."), ":/cgal/help/about_CGAL.html"); } CGAL_INLINE_FUNCTION void DemosMainWindow::popupAboutDemo() { popupAboutBox(tr("About the demo..."), aboutHtmlResource); } CGAL_INLINE_FUNCTION void DemosMainWindow::setMaxNumberOfRecentFiles(const unsigned int i) { maxNumRecentFiles = i; recentFileActs.resize(maxNumRecentFiles); } CGAL_INLINE_FUNCTION unsigned int DemosMainWindow::maxNumberOfRecentFiles() const { return maxNumRecentFiles; } CGAL_INLINE_FUNCTION void DemosMainWindow::openRecentFile_aux() { QAction *action = qobject_cast(sender()); if (action) Q_EMIT openRecentFile(action->data().toString()); } CGAL_INLINE_FUNCTION void DemosMainWindow::addToRecentFiles(QString fileName) { QStringList files = settings.value("recentFileList").toStringList(); files.removeAll(fileName); files.prepend(fileName); while (files.size() > (int)maxNumberOfRecentFiles()) files.removeLast(); settings.setValue("recentFileList", files); updateRecentFileActions(); } CGAL_INLINE_FUNCTION void DemosMainWindow::addRecentFiles(QMenu* menu, QAction* insertBeforeAction) { if(!insertBeforeAction) { recentFilesSeparator = menu->addSeparator(); } for (unsigned int i = 0; i < maxNumberOfRecentFiles(); ++i) { recentFileActs[i] = new QAction(this); recentFileActs[i]->setVisible(false); connect(recentFileActs[i], SIGNAL(triggered()), this, SLOT(openRecentFile_aux())); if(insertBeforeAction) menu->insertAction(insertBeforeAction, recentFileActs[i]); else menu->addAction(recentFileActs[i]); } if(insertBeforeAction) { recentFilesSeparator = menu->insertSeparator(insertBeforeAction); } recentFilesSeparator->setVisible(false); updateRecentFileActions(); } CGAL_INLINE_FUNCTION void DemosMainWindow::updateRecentFileActions() { QStringList files = settings.value("recentFileList").toStringList(); int numRecentFiles = qMin(files.size(), (int)this->maxNumberOfRecentFiles()); for (int i = 0; i < numRecentFiles; ++i) { QString strippedName = QFileInfo(files[i]).fileName(); QString text = tr("&%1 %2").arg(i).arg(strippedName); recentFileActs[i]->setText(text); recentFileActs[i]->setData(files[i]); recentFileActs[i]->setVisible(true); } for (unsigned int j = numRecentFiles; j < maxNumberOfRecentFiles(); ++j) recentFileActs[j]->setVisible(false); recentFilesSeparator->setVisible(numRecentFiles > 0); } CGAL_INLINE_FUNCTION void DemosMainWindow::writeState(QString groupname) { settings.beginGroup(groupname); settings.setValue("size", size()); settings.setValue("pos", pos()); settings.setValue("state", saveState()); settings.endGroup(); } CGAL_INLINE_FUNCTION void DemosMainWindow::readState(QString groupname, Options /*what_to_save*/) { settings.beginGroup(groupname); resize(settings.value("size", this->size()).toSize()); QPoint pos = settings.value("pos", this->pos()).toPoint(); if(QGuiApplication::screenAt(pos)) { move(pos); } settings.endGroup(); } } // namespace Qt } // namespace CGAL