mirror of https://github.com/CGAL/cgal
1st revision
This commit is contained in:
parent
2159476dc4
commit
f08da8489f
|
|
@ -0,0 +1,98 @@
|
|||
# This is the CMake script for compiling a CGAL application.
|
||||
|
||||
cmake_minimum_required(VERSION 3.1...3.23)
|
||||
project(Globus_demo)
|
||||
|
||||
if(NOT POLICY CMP0070 AND POLICY CMP0053)
|
||||
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
|
||||
cmake_policy(SET CMP0053 OLD)
|
||||
endif()
|
||||
|
||||
if(POLICY CMP0071)
|
||||
cmake_policy(SET CMP0071 NEW)
|
||||
endif()
|
||||
|
||||
# General
|
||||
set(GLOBUS_MODULES_REL_DIR cmake/modules)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/${GLOBUS_MODULES_REL_DIR})
|
||||
|
||||
find_package(CGAL QUIET COMPONENTS Qt5 OPTIONAL_COMPONENTS Core)
|
||||
find_package(Qt5 QUIET COMPONENTS Gui Widgets)
|
||||
find_package(FileGDBAPI REQUIRED)
|
||||
|
||||
if (CGAL_FOUND AND CGAL_Qt5_FOUND AND Qt5_FOUND)
|
||||
include(${CGAL_USE_FILE})
|
||||
add_compile_definitions(QT_NO_KEYWORDS)
|
||||
include_directories( BEFORE ./ )
|
||||
include_directories(${FileGDBAPI_INCLUDE_DIR})
|
||||
|
||||
# Arrangement package includes
|
||||
add_definitions(-DQT_NO_KEYWORDS)
|
||||
option(COMPILE_UTILS_INCREMENTALLY
|
||||
"Compile files in Utils directory incrementally, or compile them all as a unit. \
|
||||
Incremental compilation will be better for development and consume less \
|
||||
memory while compiling but will take longer to compile."
|
||||
OFF)
|
||||
|
||||
set(UTILS_SOURCE_FILES "")
|
||||
|
||||
if (COMPILE_UTILS_INCREMENTALLY)
|
||||
set(UTILS_COMPILE_FILES ${UTILS_SOURCE_FILES})
|
||||
else()
|
||||
set(UTILS_CPP_FILES_INCLUDES "")
|
||||
foreach(utils_src IN LISTS UTILS_SOURCE_FILES)
|
||||
string(APPEND UTILS_CPP_FILES_INCLUDES "#include \"${utils_src}\"\n")
|
||||
endforeach()
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/CombinedUtils.cpp" ${UTILS_CPP_FILES_INCLUDES})
|
||||
set(UTILS_COMPILE_FILES "${CMAKE_BINARY_DIR}/CombinedUtils.cpp")
|
||||
endif()
|
||||
|
||||
|
||||
qt5_wrap_ui(globus_uis
|
||||
Globus_window.ui)
|
||||
|
||||
qt5_wrap_cpp(CGAL_Qt5_MOC_FILES
|
||||
Globus_window.h)
|
||||
|
||||
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES Globus.qrc)
|
||||
|
||||
add_executable(globus
|
||||
globus.cpp
|
||||
Globus_window.cpp
|
||||
${UTILS_COMPILE_FILES}
|
||||
${globus_uis}
|
||||
${CGAL_Qt5_RESOURCE_FILES}
|
||||
${CGAL_Qt5_MOC_FILES})
|
||||
|
||||
target_link_libraries(globus ${FileGDBAPI_LIBRARY})
|
||||
target_link_libraries(globus Qt5::Core Qt5::Gui Qt5::Widgets)
|
||||
target_link_libraries(globus CGAL::CGAL CGAL::CGAL_Qt5)
|
||||
if(CGAL_Core_FOUND)
|
||||
target_link_libraries(globus CGAL::CGAL_Core)
|
||||
endif()
|
||||
|
||||
add_to_cached_list(CGAL_EXECUTABLE_TARGETS globus)
|
||||
|
||||
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
||||
cgal_add_compilation_test(globus)
|
||||
|
||||
set_property(TARGET globus PROPERTY INSTALL_RPATH "${FileGDBAPI_LIBRARY_DIR}")
|
||||
set_property(TARGET globus PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
|
||||
set_target_properties(globus PROPERTIES LINK_FLAGS "-Wl,--disable-new-dtags")
|
||||
|
||||
else()
|
||||
set(MISSING_DEPS "")
|
||||
|
||||
if(NOT CGAL_FOUND)
|
||||
set(MISSING_DEPS "CGAL, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if(NOT CGAL_Qt5_FOUND)
|
||||
set(MISSING_DEPS "the CGAL Qt5 library, ${MISSING_DEPS}")
|
||||
endif()
|
||||
if(NOT Qt5_FOUND)
|
||||
set(MISSING_DEPS "Qt5, ${MISSING_DEPS}")
|
||||
endif()
|
||||
message(STATUS
|
||||
"NOTICE: This demo requires ${MISSING_DEPS} and will not be compiled.")
|
||||
endif()
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<RCC>
|
||||
<qresource prefix="/cgal/icons">
|
||||
<file alias="zoomin.xpm">resources/icons/zoomin.xpm</file>
|
||||
<file alias="zoomout.xpm">resources/icons/zoomout.xpm</file>
|
||||
<file alias="zoomreset.xpm">resources/icons/zoomreset.xpm</file>
|
||||
<file alias="yellow_icon.xpm">resources/icons/yellow_icon.xpm</file>
|
||||
<file alias="red_icon.xpm">resources/icons/red_icon.xpm</file>
|
||||
<file alias="green_icon.xpm">resources/icons/green_icon.xpm</file>
|
||||
<file alias="blue_icon.xpm">resources/icons/blue_icon.xpm</file>
|
||||
<file alias="pink_icon.xpm">resources/icons/pink_icon.xpm</file>
|
||||
<file alias="hand.xpm">resources/icons/hand.xpm</file>
|
||||
|
||||
<file alias="delete.xpm">resources/icons/delete.xpm</file>
|
||||
</qresource>
|
||||
<qresource prefix="/cgal/Globus">
|
||||
<file alias="about.html">resources/about.html</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
// Copyright (c) 2022 Tel-Aviv University (Israel).
|
||||
// All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org).
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
|
||||
//
|
||||
// Author(s): Efi Fogel <efifogel@gmail.com>
|
||||
|
||||
#include <QActionGroup>
|
||||
#include <QColorDialog>
|
||||
#include <QFileDialog>
|
||||
#include <QInputDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QString>
|
||||
#include <QGraphicsView>
|
||||
#include <QLabel>
|
||||
|
||||
#include <CGAL/Qt/GraphicsViewNavigation.h>
|
||||
|
||||
#include "Globus_window.h"
|
||||
#include "ui_Globus_window.h"
|
||||
|
||||
//! \brief constructs
|
||||
Globus_window::Globus_window(QWidget* parent) :
|
||||
CGAL::Qt::DemosMainWindow(parent), ui(new Ui::Globus_window) {
|
||||
this->setup_ui();
|
||||
// this->setupStatusBar();
|
||||
// this->setupOptionsMenu();
|
||||
this->addAboutDemo(":/cgal/Arrangement_on_surface_2/about.html");
|
||||
this->addAboutCGAL();
|
||||
}
|
||||
|
||||
//! \brief destructs
|
||||
Globus_window::~Globus_window() {}
|
||||
|
||||
//! \brief
|
||||
void Globus_window::setup_ui() {
|
||||
this->ui->setupUi(this);
|
||||
|
||||
this->mode_group = new QActionGroup(this);
|
||||
this->mode_group->addAction(this->ui->action_drag);
|
||||
}
|
||||
|
||||
//! \brief
|
||||
// void Globus_window::resetActionGroups(ArrangementDemoTab* tab, TraitsType tt) {
|
||||
// this->hideInsertMethods();
|
||||
// this->ui->actionInsert->setChecked(false);
|
||||
// this->ui->actionDrag->setChecked(false);
|
||||
// this->ui->actionLowerEnvelope->setChecked(false);
|
||||
// this->ui->actionUpperEnvelope->setChecked(false);
|
||||
// this->ui->actionShowGrid->setChecked(tab->isGridVisible());
|
||||
// this->ui->actionGridSnapMode->setChecked(tab->isSnapToGridEnabled());
|
||||
// this->ui->actionArrangementSnapMode->setChecked(
|
||||
// tab->isSnapToArrangementEnabled());
|
||||
// this->ui->actionLowerEnvelope->setChecked(tab->isLowerEnvelopeShown());
|
||||
// this->ui->actionUpperEnvelope->setChecked(tab->isUpperEnvelopeShown());
|
||||
|
||||
// if (
|
||||
// tt != TraitsType::SEGMENT_TRAITS && tt != TraitsType::POLYLINE_TRAITS &&
|
||||
// tt != TraitsType::LINEAR_TRAITS)
|
||||
// this->ui->actionArrangementSnapMode->setVisible(false);
|
||||
// else
|
||||
// this->ui->actionArrangementSnapMode->setVisible(true);
|
||||
|
||||
// // default action group is scrolling
|
||||
// this->ui->actionDrag->activate(QAction::Trigger);
|
||||
// }
|
||||
|
||||
//! \brief
|
||||
// void Globus_window::reset_callback_state(ArrangementDemoTab* tab) {
|
||||
// if (tab) {
|
||||
// tab->getView()->setDragMode(QGraphicsView::NoDrag);
|
||||
// tab->unhookCallbacks();
|
||||
// }
|
||||
// }
|
||||
|
||||
//! \brief
|
||||
void Globus_window::on_action_quit_triggered() { qApp->exit(); }
|
||||
|
||||
//! \brief
|
||||
void Globus_window::on_action_open_triggered() {
|
||||
const QString filename =
|
||||
QFileDialog::getOpenFileName(this, tr("Open file"), "",
|
||||
"Globus files (*.gdb)");
|
||||
if (filename.isNull()) return;
|
||||
|
||||
if (filename.endsWith(".gdb")) {
|
||||
QMessageBox::information(this, "Oops", "Not implemented yet");
|
||||
// auto tab = this->openArrFile(filename);
|
||||
// if (tab) {
|
||||
// tab->setParent(this);
|
||||
// this->addTab(tab, this->makeTabLabel(tab->traitsType()));
|
||||
// tab->adjustViewport();
|
||||
// }
|
||||
}
|
||||
else {
|
||||
QMessageBox::information(this, "Oops", "Unsupported file format");
|
||||
}
|
||||
}
|
||||
|
||||
//! \brief
|
||||
void Globus_window::on_action_preferences_triggered() {
|
||||
// ArrangementDemoPropertiesDialog dialog{this};
|
||||
|
||||
// if (dialog.exec() == QDialog::Accepted) {
|
||||
// typedef ArrangementDemoPropertiesDialog Dialog;
|
||||
// ArrangementDemoTab::Preferences pref;
|
||||
|
||||
// pref.edgeColor = dialog.property(Dialog::EDGE_COLOR_KEY).value<QColor>();
|
||||
// pref.edgeWidth =
|
||||
// dialog.property(Dialog::EDGE_WIDTH_KEY).value<unsigned int>();
|
||||
// pref.vertexColor =
|
||||
// dialog.property(Dialog::VERTEX_COLOR_KEY).value<QColor>();
|
||||
// pref.vertexRadius =
|
||||
// dialog.property(Dialog::VERTEX_RADIUS_KEY).value<unsigned int>();
|
||||
// pref.envelopeEdgeColor =
|
||||
// dialog.property(Dialog::ENVELOPE_EDGE_COLOR_KEY).value<QColor>();
|
||||
// pref.envelopeEdgeWidth =
|
||||
// dialog.property(Dialog::ENVELOPE_EDGE_WIDTH_KEY).value<unsigned int>();
|
||||
// pref.envelopeVertexColor =
|
||||
// dialog.property(Dialog::ENVELOPE_VERTEX_COLOR_KEY).value<QColor>();
|
||||
// pref.envelopeVertexRadius =
|
||||
// dialog.property(Dialog::ENVELOPE_VERTEX_RADIUS_KEY).value<unsigned int>();
|
||||
// pref.verticalRayEdgeColor =
|
||||
// dialog.property(Dialog::VERTICAL_RAY_EDGE_COLOR_KEY).value<QColor>();
|
||||
// pref.verticalRayEdgeWidth =
|
||||
// dialog.property(Dialog::VERTICAL_RAY_EDGE_WIDTH_KEY)
|
||||
// .value<unsigned int>();
|
||||
// pref.axesColor = dialog.property(Dialog::GRID_COLOR_KEY).value<QColor>();
|
||||
// pref.gridColor = pref.axesColor;
|
||||
// pref.gridColor.setAlphaF(0.5);
|
||||
// currentTab->updatePreferences(pref);
|
||||
// }
|
||||
}
|
||||
|
||||
//! \brief
|
||||
void Globus_window::on_action_save_as_triggered() {
|
||||
QMessageBox::information(this, "Save as", "Not implemented yet");
|
||||
}
|
||||
|
||||
//! \brief
|
||||
void Globus_window::on_action_zoom_in_triggered() {
|
||||
// QGraphicsView* view = currentTab->getView();
|
||||
// view->scale(2.0, 2.0);
|
||||
}
|
||||
|
||||
//! \brief
|
||||
void Globus_window::on_action_zoom_out_triggered() {
|
||||
// QGraphicsView* view = currentTab->getView();
|
||||
// view->scale(0.5, 0.5);
|
||||
}
|
||||
|
||||
//! \brief
|
||||
void Globus_window::on_action_zoom_reset_triggered() {
|
||||
// currentTab->adjustViewport();
|
||||
}
|
||||
|
||||
void Globus_window::on_action_drag_toggled(bool checked) {
|
||||
// TODO: Move this to DemoTab
|
||||
// QGraphicsView* activeView = currentTab->getView();
|
||||
// if (!checked)
|
||||
// activeView->setDragMode(QGraphicsView::NoDrag);
|
||||
// else
|
||||
// activeView->setDragMode(QGraphicsView::ScrollHandDrag);
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
// Copyright (c) 2022 Tel-Aviv University (Israel).
|
||||
// All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org).
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
|
||||
//
|
||||
// Author(s): Efi Fogel <efifogel@gmail.com>
|
||||
|
||||
#ifndef GLOBUS_WINDOW_H
|
||||
#define GLOBUS_WINDOW_H
|
||||
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include <Qt>
|
||||
|
||||
#include <CGAL/Object.h>
|
||||
#include <CGAL/Qt/DemosMainWindow.h>
|
||||
|
||||
namespace Ui { class Globus_window; }
|
||||
|
||||
namespace CGAL {
|
||||
class Object;
|
||||
namespace Qt {
|
||||
class GraphicsViewNavigation;
|
||||
}
|
||||
}
|
||||
|
||||
class QActionGroup;
|
||||
|
||||
class Globus_window : public CGAL::Qt::DemosMainWindow {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Globus_window(QWidget* parent = nullptr);
|
||||
~Globus_window();
|
||||
|
||||
public Q_SLOTS:
|
||||
void on_action_quit_triggered();
|
||||
void on_action_open_triggered();
|
||||
void on_action_save_as_triggered();
|
||||
void on_action_preferences_triggered();
|
||||
void on_action_zoom_in_triggered();
|
||||
void on_action_zoom_out_triggered();
|
||||
void on_action_zoom_reset_triggered();
|
||||
void on_action_drag_toggled(bool);
|
||||
|
||||
Q_SIGNALS:
|
||||
|
||||
protected:
|
||||
void setup_ui();
|
||||
|
||||
private:
|
||||
Ui::Globus_window* ui;
|
||||
QActionGroup* mode_group;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Globus_window</class>
|
||||
<widget class="QMainWindow" name="Globus_window">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>946</width>
|
||||
<height>600</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Globus</string>
|
||||
</property>
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
<widget class="QToolBar" name="toolbar">
|
||||
<property name="windowTitle">
|
||||
<string>toolBar</string>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<addaction name="action_drag"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_zoom_in"/>
|
||||
<addaction name="action_zoom_out"/>
|
||||
<addaction name="action_zoom_reset"/>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menubar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>946</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menu_file">
|
||||
<property name="title">
|
||||
<string>&File</string>
|
||||
</property>
|
||||
<addaction name="action_open"/>
|
||||
<addaction name="action_save_as"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_quit"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menu_mode">
|
||||
<property name="title">
|
||||
<string>&Mode</string>
|
||||
</property>
|
||||
<addaction name="action_drag"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menu_edit">
|
||||
<property name="title">
|
||||
<string>&Edit</string>
|
||||
</property>
|
||||
<addaction name="action_preferences"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menu_tools">
|
||||
<property name="title">
|
||||
<string>&Tools</string>
|
||||
</property>
|
||||
</widget>
|
||||
<addaction name="menu_file"/>
|
||||
<addaction name="menu_edit"/>
|
||||
<addaction name="menu_mode"/>
|
||||
<addaction name="menu_tools"/>
|
||||
</widget>
|
||||
<action name="action_quit">
|
||||
<property name="text">
|
||||
<string>&Quit</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_drag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="Globus.qrc">
|
||||
<normaloff>:/cgal/icons/hand.xpm</normaloff>:/cgal/icons/hand.xpm</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Drag</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_preferences">
|
||||
<property name="text">
|
||||
<string>&Preferences...</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_save_as">
|
||||
<property name="text">
|
||||
<string>Save As...</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+S</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_open">
|
||||
<property name="text">
|
||||
<string>Open...</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+O</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_zoom_in">
|
||||
<property name="icon">
|
||||
<iconset resource="Globus.qrc">
|
||||
<normaloff>:/cgal/icons/zoomin.xpm</normaloff>:/cgal/icons/zoomin.xpm</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Zoom In</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Zoom In</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_zoom_out">
|
||||
<property name="icon">
|
||||
<iconset resource="Globus.qrc">
|
||||
<normaloff>:/cgal/icons/zoomout.xpm</normaloff>:/cgal/icons/zoomout.xpm</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Zoom Out</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Zoom Out</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_zoom_reset">
|
||||
<property name="icon">
|
||||
<iconset resource="Globus.qrc">
|
||||
<normaloff>:/cgal/icons/zoomreset.xpm</normaloff>:/cgal/icons/zoomreset.xpm</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Zoom Reset</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Zoom Reset</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="Globus.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
# - Try to find FileGDBAPI (FileGDBAPI.lib on Windows and v8_base.x64.a on Linux)
|
||||
# Once done this will define
|
||||
# FileGDBAPI_FOUND - System has FileGDBAPI
|
||||
# FileGDBAPI_INCLUDE_DIR - The FileGDBAPI include directories
|
||||
# FileGDBAPI_LIBRARY - The library needed to use FileGDBAPI
|
||||
# FileGDBAPI_LIBRARY_DIR - The directory where lib files are.
|
||||
|
||||
set(FileGDBAPI_NAMES_RELEASE FileGDBAPI)
|
||||
set(FileGDBAPI_NAMES_DEBUG FileGDBAPId ${FileGDBAPI_NAMES_RELEASE})
|
||||
|
||||
find_path(FileGDBAPI_INCLUDE_DIR NAMES FileGDBAPI.h
|
||||
PATH_SUFFIXES include FileGDBAPI include/FileGDBAPI
|
||||
PATHS /opt/libvFileGDBAPI-$ENV{FileGDBAPI_VER}
|
||||
HINTS ENV FileGDBAPI_INC_DIR ENV FileGDBAPI_DIR)
|
||||
|
||||
# CMake>=2.6 supports the notation "debug XXd optimized XX"
|
||||
set(FileGDBAPI_HINTS ENV FileGDBAPI_LIB_DIR ENV FileGDBAPI_DIR)
|
||||
if (UNIX)
|
||||
set(FileGDBAPI_HINTS_DEBUG ${FileGDBAPI_DIR}/out/x64.debug $ENV{FileGDBAPI_DIR}/out/x64.debug)
|
||||
set(FileGDBAPI_HINTS_RELEASE ${FileGDBAPI_DIR}/out/x64.release $ENV{FileGDBAPI_DIR}/out/x64.release)
|
||||
set(FileGDBAPI_PATHS /opt/libFileGDBAPI-$ENV{FileGDBAPI_VER})
|
||||
elseif(WIN32)
|
||||
set(FileGDBAPI_HINTS_DEBUG ${FileGDBAPI_DIR}/build/Debug $ENV{FileGDBAPI_DIR}/build/Debug)
|
||||
set(FileGDBAPI_HINTS_RELEASE ${FileGDBAPI_DIR}/out/build/Release $ENV{FileGDBAPI_DIR}/build/Release)
|
||||
else()
|
||||
endif()
|
||||
|
||||
find_library(FileGDBAPI_LIBRARY_RELEASE
|
||||
NAMES ${FileGDBAPI_NAMES_RELEASE}
|
||||
PATH_SUFFIXES lib
|
||||
HINTS ${FileGDBAPI_HINTS} ${FileGDBAPI_HINTS_RELEASE}
|
||||
PATHS ${FileGDBAPI_PATHS}
|
||||
DOC "Google FileGDBAPI JavaScript Engine Library (Release)")
|
||||
|
||||
find_library(FileGDBAPI_LIBRARY_DEBUG
|
||||
NAMES ${FileGDBAPI_NAMES_DEBUG}
|
||||
PATH_SUFFIXES lib
|
||||
HINTS ${FileGDBAPI_HINTS} ${FileGDBAPI_HINTS_DEBUG}
|
||||
PATHS ${FileGDBAPI_PATHS}
|
||||
DOC "Google FileGDBAPI JavaScript Engine Library (Debug)")
|
||||
|
||||
if(CMAKE_BUILD_TYPE EQUAL "Release")
|
||||
get_filename_component(FileGDBAPI_LIBRARY_DIR ${FileGDBAPI_LIBRARY_RELEASE} PATH)
|
||||
set(FileGDBAPI_LIBRARY ${FileGDBAPI_LIBRARY_RELEASE})
|
||||
else()
|
||||
get_filename_component(FileGDBAPI_LIBRARY_DIR ${FileGDBAPI_LIBRARY_DEBUG} PATH)
|
||||
set(FileGDBAPI_LIBRARY_DEBUG ${FileGDBAPI_LIBRARY_RELEASE})
|
||||
endif()
|
||||
|
||||
set(FileGDBAPI_LIBRARY
|
||||
optimized ${FileGDBAPI_LIBRARY_RELEASE} debug ${FileGDBAPI_LIBRARY_DEBUG})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set FileGDBAPI_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
find_package_handle_standard_args(FileGDBAPI DEFAULT_MSG
|
||||
FileGDBAPI_LIBRARY
|
||||
FileGDBAPI_INCLUDE_DIR)
|
||||
|
||||
# Detect FileGDBAPI version
|
||||
set(FileGDBAPI_VERSION_MAJOR "1")
|
||||
set(FileGDBAPI_VERSION_MINOR "5")
|
||||
set(FileGDBAPI_VERSION_PATCH "2")
|
||||
set(FileGDBAPI_VERSION_TWEAK "")
|
||||
set(FileGDBAPI_VERSION "${FileGDBAPI_VERSION_MAJOR}.${FileGDBAPI_VERSION_MINOR}.${FileGDBAPI_VERSION_PATCH}.${FileGDBAPI_VERSION_TWEAK}")
|
||||
|
||||
set(FileGDBAPI_VERSION_HEX 0x0${FileGDBAPI_VERSION_MAJOR}${FileGDBAPI_VERSION_MINOR}${FileGDBAPI_VERSION_PATCH}${FileGDBAPI_VERSION_TWEAK})
|
||||
string(LENGTH "${FileGDBAPI_VERSION_HEX}" FileGDBAPI_VERSION_HEX_LENGTH)
|
||||
|
||||
while(FileGDBAPI_VERSION_HEX_LENGTH LESS 8)
|
||||
set(FileGDBAPI_VERSION_HEX "${FileGDBAPI_VERSION_HEX}0")
|
||||
string(LENGTH "${FileGDBAPI_VERSION_HEX}" FileGDBAPI_VERSION_HEX_LENGTH)
|
||||
endwhile()
|
||||
|
||||
mark_as_advanced(FileGDBAPI_INCLUDE_DIR FileGDBAPI_LIBRARY FileGDBAPI_LIBRARY_DIR)
|
||||
|
||||
if(FileGDBAPI_CMAKE_DEBUG)
|
||||
message(STATUS "FileGDBAPI_INCLUDE_DIR: ${FileGDBAPI_INCLUDE_DIR}")
|
||||
message(STATUS "FileGDBAPI_LIBRARY: ${FileGDBAPI_LIBRARY}")
|
||||
message(STATUS "FileGDBAPI_LIBRARY_DEPENDS: ${FileGDBAPI_LIBRARY_DEPENDS}")
|
||||
message(STATUS "FileGDBAPI_VERSION: ${FileGDBAPI_VERSION}")
|
||||
message(STATUS "FileGDBAPI_VERSION_HEX: ${FileGDBAPI_VERSION_HEX}")
|
||||
endif()
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
// Copyright (c) 2022, 2020 Tel-Aviv University (Israel).
|
||||
// All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org).
|
||||
//
|
||||
// $URL$
|
||||
// $Id$
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
|
||||
//
|
||||
// Author(s): Efi Fogel <efifogel@gmail.com>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
#include <FileGDBAPI.h>
|
||||
|
||||
#include "Globus_window.h"
|
||||
|
||||
//
|
||||
struct country {
|
||||
//! Constructor
|
||||
country(std::string& name) :
|
||||
m_name(std::move(name))
|
||||
{}
|
||||
|
||||
std::string m_name;
|
||||
};
|
||||
|
||||
namespace FGA = FileGDBAPI;
|
||||
|
||||
/*!
|
||||
*/
|
||||
int load_countries(std::vector<country>& countries) {
|
||||
// Open the geodatabase and the table.
|
||||
fgdbError hr;
|
||||
FGA::Geodatabase geodatabase;
|
||||
hr = FGA::OpenGeodatabase(L"/home/efif/tmp/esri/19113835-45b5-40b9-989b-fd04aad324da.gdb", geodatabase);
|
||||
if (hr != S_OK) return hr;
|
||||
|
||||
// std::vector<std::wstring> types;
|
||||
// hr = geodatabase.GetDatasetTypes(types);
|
||||
// if (hr != S_OK) return hr;
|
||||
// std::cout << "Types:\n";
|
||||
// for (const auto& type : types)
|
||||
// std::wcout << type << std::endl;
|
||||
|
||||
FGA::Table table;
|
||||
hr = geodatabase.OpenTable(L"World_Countries", table);
|
||||
if (hr != S_OK) {
|
||||
std::cerr << "Cannot open table!\n";
|
||||
return hr;
|
||||
}
|
||||
|
||||
// std::string doc;
|
||||
// hr = table.GetDocumentation(doc);
|
||||
// if (hr != S_OK) return hr;
|
||||
// std::cout << "Table Information:\n";
|
||||
// std::cout << doc << std::endl;
|
||||
|
||||
// FGA::fieldDefs field_defs;
|
||||
// hr = table.GetFields(fields_defs);
|
||||
// if (hr != S_OK) return hr;
|
||||
// std::cout << "Fields:\n";
|
||||
// for (const auto& field : Fields)
|
||||
// std::wcout << field << std::endl;
|
||||
FGA::FieldInfo field_info;
|
||||
hr = table.GetFieldInformation(field_info);
|
||||
if (hr != S_OK) return hr;
|
||||
int count;
|
||||
hr = field_info.GetFieldCount(count);
|
||||
std::cout << "Number of fileds: " << count << std::endl;
|
||||
for (auto i = 0; i < count; ++i) {
|
||||
std::wstring name;
|
||||
hr = field_info.GetFieldName(i, name);
|
||||
if (hr != S_OK) return hr;
|
||||
std::wcout << "Name: " << name << std::endl;
|
||||
}
|
||||
|
||||
FGA::Envelope envelope;
|
||||
FGA::EnumRows rows;
|
||||
hr = table.Search(L"SHAPE, COUNTRY", L"", envelope, true, rows);
|
||||
if (hr != S_OK) {
|
||||
std::cerr << "Cannot find rows!\n";
|
||||
return hr;
|
||||
}
|
||||
|
||||
countries.clear();
|
||||
FGA::Row row;
|
||||
while (rows.Next(row) == S_OK) {
|
||||
std::wstring name;
|
||||
row.GetString(L"COUNTRY", name);
|
||||
std::string simple_name;
|
||||
simple_name.assign(name.begin(), name.end());
|
||||
countries.emplace_back(simple_name);
|
||||
}
|
||||
|
||||
// Close the table
|
||||
hr = geodatabase.CloseTable(table);
|
||||
if (hr != S_OK) {
|
||||
std::wcout << "An error occurred while closing Cities." << endl;
|
||||
std::wcout << "Error code: " << hr << endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Close the geodatabase
|
||||
hr = FGA::CloseGeodatabase(geodatabase);
|
||||
if (hr != S_OK) {
|
||||
std::wcout << "An error occurred while closing the geodatabase." << endl;
|
||||
std::wcout << "Error code: " << hr << endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//
|
||||
int main(int argc, char* argv[]) {
|
||||
// Load the countries based on a search extent.
|
||||
std::vector<country> countries;
|
||||
size_t hr = load_countries(countries);
|
||||
if (hr != S_OK) {
|
||||
std::cerr << "Failed to load database!\n";
|
||||
return -1;
|
||||
}
|
||||
for (const auto& country : countries) {
|
||||
std::cout << country.m_name << std::endl;
|
||||
}
|
||||
|
||||
QApplication app(argc, argv);
|
||||
QCoreApplication::setOrganizationName("CGAL");
|
||||
QCoreApplication::setApplicationName("globus");
|
||||
|
||||
// Import resources from libCGAL (Qt5).
|
||||
CGAL_QT_INIT_RESOURCES;
|
||||
|
||||
Globus_window window;
|
||||
window.show();
|
||||
return app.exec();
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Globus</title>
|
||||
</head>
|
||||
<body>
|
||||
<P align="center"><FONT size="5">Globus</FONT></P>
|
||||
<br>
|
||||
This program demonstrates the use of the geodesic traits if of the CGAL 2D Arrangements package.
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/* XPM */
|
||||
static const char *demo_arrow_down_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"32 32 3 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXX.XXX. .XXX.XXXXXXXXXX",
|
||||
"XXXXXXXXXX..XX. .XX..XXXXXXXXXX",
|
||||
"XXXXXXXXXXX. .. .. .XXXXXXXXXXX",
|
||||
"XXXXXXXXXXXX.. .XXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX. .XXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX. .XXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
||||
};
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/* XPM */
|
||||
static const char *demo_arrow_up_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"32 32 3 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #808080",
|
||||
"X c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX. .XXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXX. .XXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXX. . . .XXXXXXXXXXXX",
|
||||
"XXXXXXXXXXX. .. .. .XXXXXXXXXXX",
|
||||
"XXXXXXXXXX..XX. .XX..XXXXXXXXXX",
|
||||
"XXXXXXXXXX.XXX. .XXX.XXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX. .XXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
||||
};
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* XPM */
|
||||
const char* blue_icon[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
"g c blue",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"................",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"................",
|
||||
"................"};
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/* XPM */
|
||||
static const char *demo_colors_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"32 32 12 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #800000",
|
||||
"X c #C0C0C0",
|
||||
"o c #008080",
|
||||
"O c #FF00FF",
|
||||
"+ c #FF0000",
|
||||
"@ c #808080",
|
||||
"# c #000080",
|
||||
"% c #008000",
|
||||
"& c #808000",
|
||||
"* c #0000FF",
|
||||
"$ c None",
|
||||
/* pixels */
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||
"$$ $$",
|
||||
"$$ *******************ooooooo $$",
|
||||
"$$ *******************o@@o@@o $$",
|
||||
"$$ *******************o@@o@@o $$",
|
||||
"$$ *******************ooooooo $$",
|
||||
"$$ $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XX XX####XX****XXOOOOXX $$",
|
||||
"$$ XX XX####XX****XXOOOOXX $$",
|
||||
"$$ XX XX####XX****XXOOOOXX $$",
|
||||
"$$ XX XX####XX****XXOOOOXX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XX....XX++++XX%%%%XX&&&&XX $$",
|
||||
"$$ XX....XX++++XX%%%%XX&&&&XX $$",
|
||||
"$$ XX....XX++++XX%%%%XX&&&&XX $$",
|
||||
"$$ XX....XX++++XX%%%%XX&&&&XX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ XXXXXXXXXXXXXXXXXXXXXXXXXX $$",
|
||||
"$$ $$",
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
|
||||
};
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 630 B |
|
|
@ -0,0 +1,45 @@
|
|||
/* XPM */
|
||||
static const char *delete_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"32 32 6 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #C0C0C0",
|
||||
"X c #808080",
|
||||
"o c #FFFFFF",
|
||||
"O c #FFFF00",
|
||||
"+ c None",
|
||||
/* pixels */
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"+++++++++++++++ +++++",
|
||||
"+++++++++++++ oOoOoOoOoOoO ++++",
|
||||
"++++++++++++ OoOoOoOoOoOoO O +++",
|
||||
"+++++++++++ OoOoOoOoOoOoO O. +++",
|
||||
"++++++++++ OoOoOoOoOoOoO O.O +++",
|
||||
"+++++++++ OoOoOoOoOoOoO O.O. +++",
|
||||
"++++++++ OoOoOoOoOoOoO O.O.O +++",
|
||||
"+++++++ OoOoOoOoOoOoO O.O.O ++++",
|
||||
"++++++ OoOoOoOoOoOoO O.O.O. ++++",
|
||||
"+++++ OoOoOoOoOoOoO O.O.O. +X+++",
|
||||
"++++ OoOoOoOoOoOoO O.O.O. +X.+++",
|
||||
"+++ XO.O.O. +X.++++",
|
||||
"++ .OOOOOOOOOOOO. .O.O. +X.+++++",
|
||||
"++ OOOOOOOOOOOOOO O.O. +X.++++++",
|
||||
"++ OOOOOOOOOOOOOO .O. +X.+++++++",
|
||||
"++ OOOOOOOOOOOOOO O. +X.++++++++",
|
||||
"++ OOOOOOOOOOOOOO . +X.+++++++++",
|
||||
"++ OOOOOOOOOOOOOO +X.++++++++++",
|
||||
"++ .OOOOOOOOOOOO. +X.+++++++++++",
|
||||
"+++ +X.++++++++++++",
|
||||
"++++XXXXXXXXXXXXXX.+++++++++++++",
|
||||
"++++..............++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++"
|
||||
};
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/* XPM */
|
||||
/*static const char * draw_xpm[] = {
|
||||
"32 32 3 1",
|
||||
" c None",
|
||||
". c #FFFFFF",
|
||||
"x c #000000",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ... ",
|
||||
" . .... ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" .xxxxx. ",
|
||||
" ....... ",
|
||||
" .xxxx. ",
|
||||
" .xxx. ",
|
||||
" .xx. ",
|
||||
" .x. ",
|
||||
" . ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};*/
|
||||
|
||||
/* XPM */
|
||||
static const char * small_draw_xpm[] = {
|
||||
"32 32 3 1",
|
||||
" c None",
|
||||
". c #FFFFFF",
|
||||
"x c #000000",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" xxxxxx ",
|
||||
" x.....x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.xxx.x ",
|
||||
" x.....x ",
|
||||
" x.xx.x ",
|
||||
" x.x.x ",
|
||||
" x..x ",
|
||||
" x.x ",
|
||||
" x ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* XPM */
|
||||
const char* green_icon[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
"g c green",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"................",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"................",
|
||||
"................"};
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/* XPM */
|
||||
const char * hand_xpm[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"32 32 5 1",
|
||||
" c black",
|
||||
". c #808080",
|
||||
"X c #c0c0c0",
|
||||
"o c white",
|
||||
"O c None",
|
||||
/* pixels */
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOO OOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOO O Xo OOOOOOOOOOOO",
|
||||
"OOOOOOOOOO oo Xo Xo OOOOOOOOOOO",
|
||||
"OOOOOOOOOO Xo Xo Xo . OOOOOOOOO",
|
||||
"OOOOOOOOOOO oo Xo Xo X OOOOOOOO",
|
||||
"OOOOOOOOOOO Xo Xo Xo Xo OOOOOOOO",
|
||||
"OOOOOOOOO X ooooooo Xo OOOOOOOO",
|
||||
"OOOOOOOO oo ooXXoXoooo OOOOOOOO",
|
||||
"OOOOOOOO Xoo XooooooXo OOOOOOOOO",
|
||||
"OOOOOOOOO XooXoooooooo OOOOOOOOO",
|
||||
"OOOOOOOOOO ooooooooooo OOOOOOOOO",
|
||||
"OOOOOOOOOO Xooooooooo OOOOOOOOOO",
|
||||
"OOOOOOOOOOO Xoooooooo OOOOOOOOOO",
|
||||
"OOOOOOOOOOOO Xoooooo OOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOO Oooooo OOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOO Oooooo OOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
|
||||
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
|
||||
};
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
/* XPM */
|
||||
const const char *none_xpm[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"32 32 4 1",
|
||||
" c opaque",
|
||||
". c navy",
|
||||
"X c #c0c0c0",
|
||||
"o c None",
|
||||
/* pixels */
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
"oooooooooooooooooooooooooooooooo",
|
||||
};
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* XPM */
|
||||
const char* blue_icon[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
"g c #FFC0CB",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"................",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"................",
|
||||
"................"};
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* XPM */
|
||||
const char* red_icon[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
"g c red",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"................",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"................",
|
||||
"................"};
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* XPM */
|
||||
const char* yellow_icon[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 2 1",
|
||||
"g c yellow",
|
||||
". c None",
|
||||
/* pixels */
|
||||
"................",
|
||||
"................",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..ggg......ggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"..gggggggggggg..",
|
||||
"................",
|
||||
"................"};
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 630 B |
|
|
@ -0,0 +1,47 @@
|
|||
/* XPM */
|
||||
static const char *zoomin_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"32 32 8 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #C0C0C0",
|
||||
"X c #008080",
|
||||
"o c #FF0000",
|
||||
"O c #808080",
|
||||
"+ c #000080",
|
||||
"# c #0000FF",
|
||||
"@ c None",
|
||||
/* pixels */
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@O O@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@O O...O O@@@@@@@@@@@@@",
|
||||
"@@@@@@@ O..@@@..O @@@@@@@@@@@@",
|
||||
"@@@@@@ O..@@@@@@@..O @@@@@@@@@@@",
|
||||
"@@@@@O ..@@@@@@@@@.. O@@@@@@@@@@",
|
||||
"@@@@@ O.@@@@ooo@@@@.O @@@@@@@@@@",
|
||||
"@@@@O .@@@@@ooo@@@@@. O@@@@@@@@@",
|
||||
"@@@@ O.@@@@@ooo@@@@@.O @@@@@@@@@",
|
||||
"@@@@ .@@@ooooooooo@@@. @@@@@@@@@",
|
||||
"@@@@ .@@@ooooooooo@@@. @@@@@@@@@",
|
||||
"@@@@ .@@@ooooooooo@@@. @@@@@@@@@",
|
||||
"@@@@ O.@@@@@ooo@@@@@.O @@@@@@@@@",
|
||||
"@@@@O .@@@@@ooo@@@@@. O@@@@@@@@@",
|
||||
"@@@@@ O.@@@@ooo@@@@.O @@@@@@@@@@",
|
||||
"@@@@@O ..@@@@@@@@@.. O@@@@@@@@@@",
|
||||
"@@@@@@ O..@@@@@@@..O +@@@@@@@@@@",
|
||||
"@@@@@@@ O..@@@..O ##+@@@@@@@@@",
|
||||
"@@@@@@@@O O...O O+X##+@@@@@@@@",
|
||||
"@@@@@@@@@@O O@@@+X##+@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@+X##+@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@+X##+@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@+X##+@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@+X##+@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@+X+@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
||||
};
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 630 B |
|
|
@ -0,0 +1,47 @@
|
|||
/* XPM */
|
||||
static const char *zoomout_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"32 32 8 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #C0C0C0",
|
||||
"X c #008080",
|
||||
"o c #FF0000",
|
||||
"O c #808080",
|
||||
"+ c #000080",
|
||||
"# c #0000FF",
|
||||
"@ c None",
|
||||
/* pixels */
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@O O@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@O O...O O@@@@@@@@@@@@@",
|
||||
"@@@@@@@ O..@@@..O @@@@@@@@@@@@",
|
||||
"@@@@@@ O..@@@@@@@..O @@@@@@@@@@@",
|
||||
"@@@@@O ..@@@@@@@@@.. O@@@@@@@@@@",
|
||||
"@@@@@ O.@@@@@@@@@@@.O @@@@@@@@@@",
|
||||
"@@@@O .@@@@@@@@@@@@@. O@@@@@@@@@",
|
||||
"@@@@ O.@@@@@@@@@@@@@.O @@@@@@@@@",
|
||||
"@@@@ .@@@ooooooooo@@@. @@@@@@@@@",
|
||||
"@@@@ .@@@ooooooooo@@@. @@@@@@@@@",
|
||||
"@@@@ .@@@ooooooooo@@@. @@@@@@@@@",
|
||||
"@@@@ O.@@@@@@@@@@@@@.O @@@@@@@@@",
|
||||
"@@@@O .@@@@@@@@@@@@@. O@@@@@@@@@",
|
||||
"@@@@@ O.@@@@@@@@@@@.O @@@@@@@@@@",
|
||||
"@@@@@O ..@@@@@@@@@.. O@@@@@@@@@@",
|
||||
"@@@@@@ O..@@@@@@@..O +@@@@@@@@@@",
|
||||
"@@@@@@@ O..@@@..O ##+@@@@@@@@@",
|
||||
"@@@@@@@@O O...O O+X##+@@@@@@@@",
|
||||
"@@@@@@@@@@O O@@@+X##+@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@+X##+@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@+X##+@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@+X##+@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@+X##+@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@+X+@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
||||
};
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
/* XPM */
|
||||
static const char *zoomin_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"32 32 8 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #C0C0C0",
|
||||
"X c #008080",
|
||||
"o c #FF0000",
|
||||
"O c #808080",
|
||||
"+ c #000080",
|
||||
"# c #0000FF",
|
||||
"@ c None",
|
||||
/* pixels */
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@O O@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@O O...O O@@@@@@@@@@@@@",
|
||||
"@@@@@@@ O..@@@..O @@@@@@@@@@@@",
|
||||
"@@@@@@ O..@@@@@@@..O @@@@@@@@@@@",
|
||||
"@@@@@O ..@@@@@@@@@.. O@@@@@@@@@@",
|
||||
"@@@@@ O.@@ooooo@@@@.O @@@@@@@@@@",
|
||||
"@@@@O .@@oo@@@ooo@@@. O@@@@@@@@@",
|
||||
"@@@@ O.@@o@@@@@@o@@@.O @@@@@@@@@",
|
||||
"@@@@ .@@oo@@@@@@o@@@@. @@@@@@@@@",
|
||||
"@@@@ .@@oo@@@@o@o@o@@. @@@@@@@@@",
|
||||
"@@@@ .@@oo@@@@o@o@o@@. @@@@@@@@@",
|
||||
"@@@@ O.@oo@@@@@ooo@@.O @@@@@@@@@",
|
||||
"@@@@O .@@ooo@@@@@@@@. O@@@@@@@@@",
|
||||
"@@@@@ O.@@@oooo@@@@.O @@@@@@@@@@",
|
||||
"@@@@@O ..@@@@@@@@@.. O@@@@@@@@@@",
|
||||
"@@@@@@ O..@@@@@@@..O +@@@@@@@@@@",
|
||||
"@@@@@@@ O..@@@..O ##+@@@@@@@@@",
|
||||
"@@@@@@@@O O...O O+X##+@@@@@@@@",
|
||||
"@@@@@@@@@@O O@@@+X##+@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@+X##+@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@+X##+@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@+X##+@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@+X##+@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@+X+@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
||||
};
|
||||
Loading…
Reference in New Issue