Upstream merge.
|
@ -1,5 +1,6 @@
|
|||
boost_root
|
||||
.downloads-by-cmake
|
||||
Build
|
||||
common/netlist_keywords.*
|
||||
common/netlist_lexer.h
|
||||
common/pcb_plot_params_lexer.h
|
||||
|
|
|
@ -59,6 +59,39 @@ S3D_MODEL_PARSER* S3D_MODEL_PARSER::Create( S3D_MASTER* aMaster,
|
|||
}
|
||||
}
|
||||
|
||||
const wxString S3D_MASTER::GetShape3DFullFilename()
|
||||
{
|
||||
|
||||
wxString shapeName;
|
||||
|
||||
// Expand any environment variables embedded in footprint's m_Shape3DName field.
|
||||
// To ensure compatibility with most of footprint's m_Shape3DName field,
|
||||
// if the m_Shape3DName is not an absolute path the default path
|
||||
// given by the environment variable KISYS3DMOD will be used
|
||||
|
||||
if( m_Shape3DName.StartsWith( wxT("${") ) )
|
||||
shapeName = wxExpandEnvVars( m_Shape3DName );
|
||||
else
|
||||
shapeName = m_Shape3DName;
|
||||
|
||||
wxFileName fn( shapeName );
|
||||
|
||||
if( fn.IsAbsolute() || shapeName.StartsWith( wxT(".") ) )
|
||||
return shapeName;
|
||||
|
||||
wxString default_path;
|
||||
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
|
||||
|
||||
if( default_path.IsEmpty() )
|
||||
return shapeName;
|
||||
|
||||
if( !default_path.EndsWith( wxT("/") ) && !default_path.EndsWith( wxT("\\") ) )
|
||||
default_path += wxT("/");
|
||||
|
||||
default_path += shapeName;
|
||||
|
||||
return default_path;
|
||||
}
|
||||
|
||||
int S3D_MASTER::ReadData()
|
||||
{
|
||||
|
@ -67,8 +100,7 @@ int S3D_MASTER::ReadData()
|
|||
return 1;
|
||||
}
|
||||
|
||||
// Expand any environment variables embedded in footprint's m_Shape3DName field.
|
||||
wxString filename = wxExpandEnvVars( m_Shape3DName );
|
||||
wxString filename = GetShape3DFullFilename();
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
filename.Replace( wxT( "/" ), wxT( "\\" ) );
|
||||
|
|
|
@ -144,6 +144,14 @@ public:
|
|||
return m_Shape3DName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function GetShape3DFullFilename
|
||||
* @return the full filename of the 3D shape,
|
||||
* expanding environment variable (if any ) and/or adding default 3D path
|
||||
* given by environment variable KISYS3DMOD
|
||||
*/
|
||||
const wxString GetShape3DFullFilename();
|
||||
|
||||
void SetShape3DName( const wxString& aShapeName );
|
||||
};
|
||||
|
||||
|
|
|
@ -48,6 +48,9 @@
|
|||
# include <GL/glu.h>
|
||||
#endif
|
||||
|
||||
|
||||
#define KISYS3DMOD "KISYS3DMOD"
|
||||
|
||||
#include <3d_struct.h>
|
||||
|
||||
class EDA_3D_CANVAS;
|
||||
|
|
102
CMakeLists.txt
|
@ -58,9 +58,16 @@ option( KICAD_SCRIPTING_WXPYTHON
|
|||
)
|
||||
|
||||
option( KICAD_BUILD_STATIC
|
||||
"Builds Kicad and all libraries static (except wx-widgets)"
|
||||
"Builds Kicad and all libraries static"
|
||||
)
|
||||
|
||||
option( KICAD_BUILD_DYNAMIC
|
||||
"Builds Kicad and all libraries dynamic (required for wxPython)"
|
||||
)
|
||||
|
||||
|
||||
# WARNING: KiCad developers strongly advise you to build Boost with supplied patches,
|
||||
# as it is known to work with KiCad. Other versions may contain bugs that may result
|
||||
# WARNING: KiCad developers strongly advise you to build Boost with supplied patches,
|
||||
# as it is known to work with KiCad. Other versions may contain bugs that may result
|
||||
# in KiCad errors.
|
||||
|
@ -190,9 +197,11 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
|||
set( TO_LINKER -Wl )
|
||||
endif()
|
||||
|
||||
# Thou shalt not link vaporware and tell us it's a valid DSO:
|
||||
set( CMAKE_SHARED_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
|
||||
set( CMAKE_MODULE_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
|
||||
# Thou shalt not link vaporware and tell us it's a valid DSO (apple ld doesn't support it)
|
||||
if( NOT APPLE )
|
||||
set( CMAKE_SHARED_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
|
||||
set( CMAKE_MODULE_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
|
||||
endif()
|
||||
|
||||
set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" )
|
||||
endif()
|
||||
|
@ -341,8 +350,19 @@ add_definitions(-DWX_COMPATIBILITY)
|
|||
find_package( OpenGL QUIET )
|
||||
check_find_package_result( OPENGL_FOUND "OpenGL" )
|
||||
|
||||
# Handle target used to specify if a target needs wx-widgets or other libraries
|
||||
# Always defined, empty if no libraries are to be build
|
||||
add_custom_target( lib-dependencies )
|
||||
|
||||
if( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
|
||||
|
||||
# This should be build in all cases, if swig exec is not avaiable
|
||||
# will be impossible also enable SCRIPTING being for PCBNEW required immediatly
|
||||
|
||||
include( download_pcre )
|
||||
include( download_swig )
|
||||
|
||||
|
||||
#set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so;.dylib;.dll")
|
||||
|
||||
if( KICAD_BUILD_STATIC AND KICAD_BUILD_DYNAMIC )
|
||||
|
@ -351,26 +371,49 @@ if( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
|
|||
|
||||
if( KICAD_BUILD_STATIC )
|
||||
message(STATUS "KICAD_BUILD_STATIC set")
|
||||
if( KICAD_SCRIPTING OR KICAD_SCRIPTING_WXPYTHON OR KICAD_SCRIPTING_MODULES )
|
||||
message(FATAL_ERROR "KICAD_SCRIPTING* is not supported with KICAD_BUILD_STATIC, please select KICAD_BUILD_DYNAMIC" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if( KICAD_BUILD_DYNAMIC )
|
||||
message(STATUS "KICAD_BUILD_DYNAMIC set")
|
||||
# TODO - Library packaging/relocation
|
||||
endif()
|
||||
|
||||
add_custom_target( lib-dependencies
|
||||
DEPENDS boost cairo glew libpng pixman pkgconfig
|
||||
)
|
||||
|
||||
include( download_libpng )
|
||||
if( KICAD_SCRIPTING OR KICAD_SCRIPTING_WXPYTHON OR KICAD_SCRIPTING_MODULES )
|
||||
|
||||
message(STATUS "Scripting ENABLED")
|
||||
include( download_wxpython )
|
||||
|
||||
set( SWIG_EXECUTABLE ${SWIG_ROOT}/bin/swig )
|
||||
set( SWIG_INCLUDE ${SWIG_ROOT}/include )
|
||||
set( PYTHON_DEST ${LIBWXPYTHON_ROOT}/wxPython/lib/python2.6/site-packages )
|
||||
|
||||
if( NOT EXISTS ${SWIG_EXECUTABLE} )
|
||||
set(KICAD_SCRIPTING CACHE OFF FORCE "Disabling KICAD_SCRIPTING")
|
||||
message( STATUS "KICAD_SCRIPTING Enabled but SWIG not found, please disable and before reenabling execute: make swig")
|
||||
message( FATAL_ERROR "Missing SWIG!")
|
||||
endif()
|
||||
message(STATUS "SWIG_EXECUTABLE: ${SWIG_EXECUTABLE}")
|
||||
|
||||
set( PYTHON_DEST ${LIBWXPYTHON_ROOT}/wxPython/lib/python2.6/site-packages )
|
||||
|
||||
set(wxWidgets_BIN_DIR ${LIBWXPYTHON_ROOT}/bin/wxrc )
|
||||
set(wxWidgets_CONFIG_EXECUTABLE ${LIBWXPYTHON_ROOT}/bin/wx-config )
|
||||
set(wxWidgets_INCLUDE_DIRS ${LIBWXPYTHON_ROOT}/include/wx-3.0 )
|
||||
set(wxWidgets_LIBRARY_DIRS ${LIBWXPYTHON_ROOT}/lib )
|
||||
|
||||
add_dependencies( lib-dependencies libwxpython )
|
||||
add_dependencies( lib-dependencies swig )
|
||||
|
||||
if( KICAD_SCRIPTING_WXPYTHON )
|
||||
message( FATAL_ERROR "KICAD_BUILD_* and SCRIPTING Not Implemented Yet!" )
|
||||
else()
|
||||
include( download_wxwidgets )
|
||||
add_dependencies( lib-dependencies libwx )
|
||||
endif()
|
||||
|
||||
include( download_libpng )
|
||||
|
||||
include( download_pkgconfig )
|
||||
set( PKG_CONFIG_EXECUTABLE "${PKGCONFIG_ROOT}/bin/pkg-config" )
|
||||
include( download_glew )
|
||||
|
@ -382,6 +425,12 @@ if( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
|
|||
set( CAIRO_INCLUDE_DIR "${CAIRO_ROOT}/include/cairo" )
|
||||
set( CAIRO_LIBRARY "${CAIRO_ROOT}/lib/libcairo.a" )
|
||||
|
||||
add_dependencies( lib-dependencies boost )
|
||||
add_dependencies( lib-dependencies cairo )
|
||||
add_dependencies( lib-dependencies libpng )
|
||||
add_dependencies( lib-dependencies pixman )
|
||||
add_dependencies( lib-dependencies pkgconfig )
|
||||
|
||||
if( KICAD_BUILD_DYNAMIC AND APPLE )
|
||||
add_custom_target( osx_fix_bundles ALL DEPENDS cvpcb eeschema gerbview kicad pcbnew bitmap2component pcb_calculator pl_editor)
|
||||
add_custom_command(TARGET osx_fix_bundles POST_BUILD COMMAND scripts/osx_fixbundle.sh COMMENT "Migrating dylibs to bundles")
|
||||
|
@ -428,7 +477,7 @@ endif()
|
|||
|
||||
# On Apple only wxwidgets 2.9 or higher doesn't need to find aui part of base
|
||||
# Seems no more needed on wx-3
|
||||
if( APPLE AND NOT (KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC) )
|
||||
if( APPLE AND ( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES OR KICAD_SCRIPTING_WXPYTHON) )
|
||||
find_package( wxWidgets COMPONENTS gl adv html core net base xml QUIET )
|
||||
else()
|
||||
find_package( wxWidgets COMPONENTS gl aui adv html core net base xml QUIET )
|
||||
|
@ -477,10 +526,25 @@ set( INC_AFTER
|
|||
|
||||
# Find Python and other scripting resources
|
||||
if( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES )
|
||||
set( PythonInterp_FIND_VERSION )
|
||||
find_package( PythonInterp )
|
||||
check_find_package_result( PYTHONINTERP_FOUND "Python Interpreter" )
|
||||
|
||||
if( APPLE )
|
||||
set( PYTHON_LIBRARY /System/Library/Frameworks/Python.framework/Versions/2.6/Python )
|
||||
set( PYTHON_INCLUDE_DIR /System/Library/Frameworks/Python.framework/Versions//2.6/include/python2.6 )
|
||||
set( PythonInterp_FIND_VERSION 2.6 )
|
||||
set( PythonLibs_FIND_VERSION 2.6 )
|
||||
endif()
|
||||
|
||||
# force a python version < 3.0
|
||||
set( PythonInterp_FIND_VERSION 2.6)
|
||||
set( PythonLibs_FIND_VERSION 2.6 )
|
||||
|
||||
find_package( PythonInterp )
|
||||
|
||||
check_find_package_result( PYTHONINTERP_FOUND "Python Interpreter" )
|
||||
|
||||
if( NOT PYTHON_VERSION_MAJOR EQUAL 2 )
|
||||
message( FATAL_ERROR "Python 2.x is required." )
|
||||
endif()
|
||||
# Get the correct Python site package install path from the Python interpreter found by
|
||||
# FindPythonInterp unless the user specifically defined a custom path.
|
||||
if( NOT PYTHON_SITE_PACKAGE_PATH )
|
||||
|
@ -498,7 +562,7 @@ if( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES )
|
|||
mark_as_advanced( PYTHON_DEST )
|
||||
message( STATUS "Python module install path: ${PYTHON_DEST}" )
|
||||
|
||||
find_package( PythonLibs )
|
||||
find_package( PythonLibs 2.6 )
|
||||
|
||||
#message( STATUS "PYTHON_INCLUDE_DIRS:${PYTHON_INCLUDE_DIRS}" )
|
||||
|
||||
|
@ -573,17 +637,13 @@ if ( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
|
|||
add_dependencies( pcbnew lib-dependencies )
|
||||
add_dependencies( eeschema lib-dependencies )
|
||||
add_dependencies( cvpcb lib-dependencies )
|
||||
add_dependencies( gal lib-dependencies )
|
||||
add_dependencies( common lib-dependencies )
|
||||
add_dependencies( gal lib-dependencies )
|
||||
add_dependencies( pcbcommon lib-dependencies )
|
||||
add_dependencies( 3d-viewer lib-dependencies )
|
||||
add_dependencies( pcad2kicadpcb lib-dependencies )
|
||||
add_dependencies( polygon lib-dependencies )
|
||||
add_dependencies( pl_editor lib-dependencies )
|
||||
add_dependencies( pnsrouter lib-dependencies )
|
||||
if ( BUILD_GITHUB_PLUGIN )
|
||||
add_dependencies( github_plugin lib-dependencies )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if ( KICAD_BUILD_DYNAMIC )
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
# This program source code file is part of KICAD, a free EDA CAD application.
|
||||
#
|
||||
# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||
# Copyright (C) 2013 Kicad Developers, see AUTHORS.txt for contributors.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, you may find one here:
|
||||
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
# or you may search the http://www.gnu.org website for the version 2 license,
|
||||
# or you may write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
# Downloads and builds PCRE
|
||||
|
||||
#-----<configure>----------------------------------------------------------------
|
||||
|
||||
set( PCRE_RELEASE 8.34 )
|
||||
set( PCRE_MD5 eb34b2c9c727fd64940d6fd9a00995eb ) # re-calc this on every RELEASE change
|
||||
|
||||
set( PCRE_ROOT "${PROJECT_SOURCE_DIR}/pcre_root" )
|
||||
|
||||
#-----</configure>---------------------------------------------------------------
|
||||
|
||||
find_package( BZip2 REQUIRED )
|
||||
|
||||
set( PREFIX ${DOWNLOAD_DIR}/pcre )
|
||||
|
||||
if (APPLE)
|
||||
if( CMAKE_OSX_ARCHITECTURES )
|
||||
set( PCRE_CFLAGS "CFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
|
||||
set( PCRE_CXXFLAGS "CXXFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
|
||||
set( PCRE_LDFLAGS "LDFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
|
||||
endif( CMAKE_OSX_ARCHITECTURES )
|
||||
endif(APPLE)
|
||||
|
||||
ExternalProject_Add( pcre
|
||||
PREFIX "${PREFIX}"
|
||||
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
|
||||
URL http://sourceforge.net/projects/pcre/files/pcre/${PCRE_RELEASE}/pcre-${PCRE_RELEASE}.tar.gz
|
||||
URL_MD5 ${PCRE_MD5}
|
||||
STAMP_DIR "${PREFIX}"
|
||||
|
||||
#SOURCE_DIR "${PREFIX}"
|
||||
BUILD_IN_SOURCE 1
|
||||
|
||||
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${PCRE_ROOT}"
|
||||
|
||||
#PATCH_COMMAND "true"
|
||||
CONFIGURE_COMMAND ./configure --prefix=${PCRE_ROOT} ${PCRE_CFLAGS} ${PCRE_CXXFLAGS} ${PCRE_LDFLAGS} --disable-dependency-tracking
|
||||
|
||||
#BINARY_DIR "${PREFIX}"
|
||||
|
||||
BUILD_COMMAND $(MAKE)
|
||||
|
||||
INSTALL_DIR "${PCRE_ROOT}"
|
||||
INSTALL_COMMAND $(MAKE) install
|
||||
)
|
|
@ -0,0 +1,79 @@
|
|||
# This program source code file is part of KICAD, a free EDA CAD application.
|
||||
#
|
||||
# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||
# Copyright (C) 2013 Kicad Developers, see AUTHORS.txt for contributors.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, you may find one here:
|
||||
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
# or you may search the http://www.gnu.org website for the version 2 license,
|
||||
# or you may write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
# Downloads and builds SWIG
|
||||
|
||||
#-----<configure>----------------------------------------------------------------
|
||||
|
||||
set( SWIG_RELEASE 2.0.11 )
|
||||
set( SWIG_MD5 291ba57c0acd218da0b0916c280dcbae ) # re-calc this on every RELEASE change
|
||||
|
||||
# The boost headers [and static libs if built] go here, at the top of KiCad
|
||||
# source tree in boost_root.
|
||||
set( SWIG_ROOT "${PROJECT_SOURCE_DIR}/swig_root" )
|
||||
|
||||
#-----</configure>---------------------------------------------------------------
|
||||
|
||||
find_package( BZip2 REQUIRED )
|
||||
|
||||
set( PREFIX ${DOWNLOAD_DIR}/swig )
|
||||
|
||||
if (APPLE)
|
||||
if( CMAKE_OSX_ARCHITECTURES )
|
||||
set( SWIG_CFLAGS "CFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
|
||||
set( SWIG_CXXFLAGS "CXXFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
|
||||
set( SWIG_LDFLAGS "LDFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
|
||||
endif( CMAKE_OSX_ARCHITECTURES )
|
||||
|
||||
set( SWIG_PYTHON "--with-python=/usr/bin/python2.6" )
|
||||
set( SWIG_OPTS --disable-dependency-tracking )
|
||||
endif(APPLE)
|
||||
|
||||
# <SOURCE_DIR> = ${PREFIX}/src/glew
|
||||
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
|
||||
# download, the patch is applied. This lets you regenerate a new patch at any time
|
||||
# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
|
||||
|
||||
ExternalProject_Add( swig
|
||||
PREFIX "${PREFIX}"
|
||||
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
|
||||
URL http://sourceforge.net/projects/swig/files/swig/swig-${SWIG_RELEASE}/swig-${SWIG_RELEASE}.tar.gz
|
||||
URL_MD5 ${SWIG_MD5}
|
||||
STAMP_DIR "${PREFIX}"
|
||||
|
||||
DEPENDS pcre
|
||||
|
||||
#SOURCE_DIR "${PREFIX}"
|
||||
BUILD_IN_SOURCE 1
|
||||
|
||||
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${SWIG_ROOT}"
|
||||
|
||||
#PATCH_COMMAND "true"
|
||||
CONFIGURE_COMMAND ./configure --prefix=${SWIG_ROOT} --with-pcre-prefix=${PCRE_ROOT} ${SWIG_CFLAGS} ${SWIG_LDFLAGS} ${SWIG_CXXFLAGS} ${SWIG_PYTHON} ${SWIG_OPTS}
|
||||
|
||||
#BINARY_DIR "${PREFIX}"
|
||||
|
||||
BUILD_COMMAND $(MAKE)
|
||||
|
||||
INSTALL_DIR "${SWIG_ROOT}"
|
||||
INSTALL_COMMAND $(MAKE) install
|
||||
)
|
|
@ -0,0 +1,117 @@
|
|||
# This program source code file is part of KICAD, a free EDA CAD application.
|
||||
#
|
||||
# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||
# Copyright (C) 2013 Kicad Developers, see AUTHORS.txt for contributors.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, you may find one here:
|
||||
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
# or you may search the http://www.gnu.org website for the version 2 license,
|
||||
# or you may write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
# Downloads and builds LIBWXPYTHON
|
||||
|
||||
#-----<configure>----------------------------------------------------------------
|
||||
|
||||
set( LIBWXPYTHON_RELEASE 3.0.0.0 )
|
||||
set( LIBWXPYTHON_MD5 f5e32c7d85dc261ba777e113c3b7e365 ) # re-calc this on every RELEASE change
|
||||
|
||||
set( LIBWXPYTHON_ROOT "${PROJECT_SOURCE_DIR}/libwxpython_root" )
|
||||
|
||||
#-----</configure>---------------------------------------------------------------
|
||||
|
||||
find_package( BZip2 REQUIRED )
|
||||
|
||||
set( PREFIX ${DOWNLOAD_DIR}/libwxpython )
|
||||
set( LIBWXPYTHON_EXEC python )
|
||||
set( LIBWXPYTHON_OPTS --wxpy_installdir=${LIBWXPYTHON_ROOT}/wxPython )
|
||||
|
||||
if (APPLE)
|
||||
SET( LIBWXPYTHON_EXEC python2.6 )
|
||||
SET( LIBWXPYTHON_OPTS ${LIBWXPYTHON_OPTS} --osx_cocoa )
|
||||
#SET( LIBWXPYTHON_OPTS ${LIBWXPYTHON_OPTS} --mac_framework --mac_framework_prefix=${LIBWXPYTHON_ROOT}/wxPython )
|
||||
|
||||
if( CMAKE_OSX_ARCHITECTURES )
|
||||
STRING(REGEX REPLACE " -arch " "," LIBWXPYTHON_ARCHITECTURES ${CMAKE_OSX_ARCHITECTURES})
|
||||
SET( LIBWXPYTHON_OPTS ${LIBWXPYTHON_OPTS} --mac_arch=${LIBWXPYTHON_ARCHITECTURES})
|
||||
endif( CMAKE_OSX_ARCHITECTURES )
|
||||
endif(APPLE)
|
||||
|
||||
if ( KICAD_BUILD_STATIC )
|
||||
#message fail
|
||||
set( LIBWXPYTHON_BUILDTYPE "--disable-shared" )
|
||||
endif( KICAD_BUILD_STATIC )
|
||||
|
||||
# <SOURCE_DIR> = ${PREFIX}/src/libwx
|
||||
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
|
||||
# download, the patch is applied. This lets you regenerate a new patch at any time
|
||||
# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
|
||||
|
||||
ExternalProject_Add( libwxpython
|
||||
PREFIX "${PREFIX}"
|
||||
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
|
||||
URL http://sourceforge.net/projects/wxpython/files/wxPython/${LIBWXPYTHON_RELEASE}/wxPython-src-${LIBWXPYTHON_RELEASE}.tar.bz2
|
||||
URL_MD5 ${LIBWXPYTHON_MD5}
|
||||
STAMP_DIR "${PREFIX}"
|
||||
|
||||
BUILD_IN_SOURCE 1
|
||||
|
||||
PATCH_COMMAND bzr revert
|
||||
COMMAND bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/wxpython-3.0.0_macosx.patch"
|
||||
COMMAND bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/wxpython-3.0.0_macosx_multiarch.patch" # http://trac.wxwidgets.org/ticket/15957
|
||||
|
||||
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${LIBWXPYTHON_ROOT}"
|
||||
COMMAND ${LIBWXPYTHON_EXEC} wxPython/build-wxpython.py --clean
|
||||
|
||||
CONFIGURE_COMMAND ${LIBWXPYTHON_EXEC} wxPython/build-wxpython.py --prefix=${LIBWXPYTHON_ROOT} --unicode --install ${LIBWXPYTHON_OPTS}
|
||||
|
||||
#BINARY_DIR "${PREFIX}"
|
||||
|
||||
BUILD_COMMAND true
|
||||
|
||||
INSTALL_DIR "${LIBWXPYTHON_ROOT}"
|
||||
INSTALL_COMMAND true
|
||||
)
|
||||
|
||||
ExternalProject_Add_Step( libwxpython bzr_commit_libwxpython
|
||||
COMMAND bzr ci -q -m pristine <SOURCE_DIR>
|
||||
COMMENT "committing pristine libwxpython files to 'libwxpython scratch repo'"
|
||||
DEPENDERS patch
|
||||
)
|
||||
|
||||
|
||||
ExternalProject_Add_Step( libwxpython bzr_add_libwxpython
|
||||
COMMAND bzr add -q ${PREFIX}/src/libwxpython
|
||||
COMMENT "adding pristine libwxpython files to 'libwxpython scratch repo'"
|
||||
DEPENDERS bzr_commit_libwxpython
|
||||
)
|
||||
|
||||
|
||||
ExternalProject_Add_Step( libwxpython bzr_init_libwxpython
|
||||
COMMAND bzr init -q <SOURCE_DIR>
|
||||
COMMENT "creating 'libwxpython scratch repo' specifically for libwx to track libwx patches"
|
||||
DEPENDERS bzr_add_libwxpython
|
||||
DEPENDEES download
|
||||
)
|
||||
|
||||
######
|
||||
# Now is time to search what we have built
|
||||
######
|
||||
|
||||
ExternalProject_Add_Step( libwxpython libwxpython_recursive_message
|
||||
COMMAND cmake .
|
||||
COMMENT "*** RERUN CMAKE - wxWidgets built, now reissue a cmake to build Kicad"
|
||||
DEPENDEES install
|
||||
)
|
||||
|
|
@ -11,32 +11,40 @@ Contribute to KiCad (under Linux)
|
|||
2) initialize Bazaar:
|
||||
bzr whoami "John Doe <john.doe@gmail.com>"
|
||||
|
||||
3) get LATEST KiCad source tree and name it, for instance, "kicad_john":
|
||||
3) get latest KiCad source tree:
|
||||
cd ~/
|
||||
bzr branch lp:kicad kicad_john
|
||||
bzr branch lp:kicad kicad.bzr
|
||||
|
||||
4) Read coding_style_policy.pdf, in <kicad_sources>/Documentation,
|
||||
and other docs.
|
||||
this should leave you with the folder kicad.bzr
|
||||
|
||||
5) Modify/add source code.
|
||||
cd kicad_john
|
||||
4) Read coding_style_policy.pdf, in kicad.bzr/Documentation,
|
||||
and other docs.
|
||||
|
||||
5) create a local (branch) copy of the KiCad project
|
||||
bzr branch ./kicad.bzr ./kicad.my_contrib
|
||||
|
||||
6) Modify/add source code in
|
||||
cd kicad.my_contrib
|
||||
gedit .......
|
||||
if you need to create and add the file foo.cpp do so and:
|
||||
bzr add foo.cpp
|
||||
if you need to delete files:
|
||||
bzr rm foo.cpp
|
||||
|
||||
6) Compile:
|
||||
cd kicad_john
|
||||
7) Compile:
|
||||
cd kicad.my_contrib
|
||||
mkdir build; cd build
|
||||
cmake ../ -DCMAKE_BUILD_TYPE=Debug
|
||||
to build a debug version
|
||||
or
|
||||
to build a debug version
|
||||
or
|
||||
cmake ../ -DCMAKE_BUILD_TYPE=Release
|
||||
to build a release version
|
||||
make
|
||||
to build a release version
|
||||
make -j8
|
||||
|
||||
7) Repeat step 5 and 6 until satisfied.
|
||||
8) Repeat step 6 and 7 until satisfied.
|
||||
|
||||
8) Create a patch:
|
||||
in kicad_john:
|
||||
if some files are added: bzr add [FILE...]
|
||||
9) Create a patch file:
|
||||
cd kicad.my_contrib
|
||||
bzr diff > my_changes.patch
|
||||
|
||||
9) Send the patch file "my_changes.patch" to the KiCad developers mailing list.
|
|
@ -31,15 +31,22 @@ KiCad from source.
|
|||
* bzr - Bazaar version control system
|
||||
* CMake - Cross-platform make
|
||||
* GLUT - The OpenGL Utility Library
|
||||
* GLEW
|
||||
* wxGTK or wxWidgets - The wxWidgets GUI toolkit with GTK+ bindings
|
||||
* libbz2 (dev)
|
||||
* libcairo (dev)
|
||||
|
||||
* Boost - Collection of portable C++ source libraries
|
||||
boost will be automagically downloaded and copied in kicad sources tree,
|
||||
boost will be automagically downloaded, copied in kicad sources tree and patched,
|
||||
the first time you compile kicad.
|
||||
|
||||
Useful, but not required:
|
||||
* Doxygen - Documentation system for several programming languages
|
||||
|
||||
Required to build Kicad with scripting (using python) support:
|
||||
Python
|
||||
Swig
|
||||
|
||||
KiCad uses the Bazaar version control system to track source code changes,
|
||||
and download the boost libraries needed by Kicad.
|
||||
Be sure you bzr install also includes bzrtools.
|
||||
|
@ -60,40 +67,43 @@ Install or Build wxWidgets
|
|||
WARNING:
|
||||
see wxWidgets_patch_notes.txt for patches and issues in wxWidgets.
|
||||
|
||||
If on Windows, download
|
||||
http://sourceforge.net/projects/wxwindows/files/wxAll/2.9.3/wxWidgets-2.9.3.zip/download
|
||||
On Windows, download
|
||||
http://sourceforge.net/projects/wxwindows/files/3.0.0/wxWidgets-3.0.0.zip/download
|
||||
or a newer version.
|
||||
Do NOT use previous versions which all have annoying issues for KiCad.
|
||||
Start msys so you have a bash shell.
|
||||
Note also since 2.9 versions no need to build a "debug" version of the wxWidgets library,
|
||||
the release abd the debug version are same.
|
||||
the release and the debug version are same.
|
||||
|
||||
Unzip the wxWidgets zip file into the build directory. Change directories into
|
||||
there, and then:
|
||||
|
||||
mkdir Release
|
||||
cd Release
|
||||
../configure --enable-unicode --enable-monolithic=no --disable-shared --with-opengl
|
||||
../configure --with-opengl
|
||||
make
|
||||
|
||||
and under Linux, but not under Windows:
|
||||
sudo make install that install wxWidgets libs and headers in /usr/local/
|
||||
|
||||
|
||||
If on linux, you can use your package manager to install the
|
||||
development versions of the wxWidgets packages which include the C++ headers. An
|
||||
alternative is to build static libaries from source. Verify that wx-config is in
|
||||
your path by running it from a command prompt. Linux users then go to next step.
|
||||
On linux, yo can also download wxWidgets 3.0 (recommandedd)
|
||||
or you can use your package manager to install the
|
||||
development versions of the wxWidgets packages which include the C++ headers.
|
||||
The recommended way is to build wxWidgets from source, and use wxWidgets 3.0
|
||||
or more recent (Older versions have a print function which does not work).
|
||||
Verify that wx-config is in your path by running it from a command prompt.
|
||||
Linux users then go to next step.
|
||||
|
||||
Install CMake
|
||||
-------------
|
||||
If windows, download the installation binary for windows from cmake.org.
|
||||
On windows, download the installation binary for windows from cmake.org.
|
||||
Install that and choose to add cmake to your path during installation. You
|
||||
will have to restart and command shells for the new path to take effect.
|
||||
will have to restart your command shell for the new path to take effect.
|
||||
Verify that cmake is in your path by trying to run it from a command prompt.
|
||||
|
||||
|
||||
If linux, use your package manager to install cmake. You should get cmake 2.6.4
|
||||
On linux, use your package manager to install cmake. You should get cmake 2.8.4
|
||||
or later. If only an older one is available in your package repository, build
|
||||
cmake from source. Verify that cmake is in your path by trying to run it from a
|
||||
command prompt.
|
||||
|
@ -106,25 +116,50 @@ To download files from Launchpad repository, you should install bazaar (bzr) th
|
|||
version control system like subversion, mercurial, git...
|
||||
|
||||
Launchpad repository handle 2 branches for KiCda sources:
|
||||
- a testing branch (used by developers)
|
||||
- a stable branch (a copy of the testing branch, when this testing branch is near a stable state))
|
||||
- a product branch (used by developers, which is most of time usable in production)
|
||||
- a stable branch (a copy of the testing branch,
|
||||
when the product branch is a stable state))
|
||||
Remarks:
|
||||
- The product branch is actively maintained
|
||||
- From the product branch, you can go back to any previous version, using bzr features
|
||||
- The stable branch is poorly or not maintained (and could be removed)
|
||||
|
||||
Testing branch:
|
||||
bzr branch lp:kicad kicad_testing
|
||||
In order to have a working Kicad installtion, you need
|
||||
- sources to build binaries
|
||||
- libraries (they are not included in sources)
|
||||
- documentation and translations (they are not included in sources)
|
||||
|
||||
product branch:
|
||||
bzr branch lp:kicad kicad_src
|
||||
|
||||
Stable branch:
|
||||
bzr branch lp:kicad/stable kicad_stable
|
||||
bzr branch lp:kicad/stable kicad_src
|
||||
|
||||
Components and Footprints libraries
|
||||
bzr branch lp:~kicad-lib-committers/kicad/library kicad_libraries
|
||||
all (schematic libs, 3D shapes ...) but new footprints libraries (use Download zip tool)
|
||||
https://github.com/KiCad/kicad-library/
|
||||
|
||||
New footprints libraries (use Download zip tool for each lib you want)
|
||||
https://github.com/KiCad/ for footprint libs (*.pretty folders)
|
||||
|
||||
A mirror of github is available, using bzr:
|
||||
(schematic libs, 3D shapes ... all but new footprints libraries)
|
||||
bzr checkout lp:~kicad-product-committers/kicad/library
|
||||
|
||||
Old legacy libraries:
|
||||
bzr checkout lp:~dickelbeck/kicad/library-read-only
|
||||
|
||||
Note also Kicad is able to read on github.com/KiCad/ the *.pretty folders
|
||||
without download, using github plugin.
|
||||
(however the time to read them can be long)
|
||||
|
||||
Documentation and translations:
|
||||
bzr branch lp:~kicad-developers/kicad/doc kicad_doc
|
||||
|
||||
Create Makefiles with CMake
|
||||
---------------------------
|
||||
If windows, go into your msys shell. Linux and windows users both then make
|
||||
two "out of source" build directories:
|
||||
On windows, go into your msys shell.
|
||||
Linux and windows users both then make two "out of source" build directories:
|
||||
cd <kicadSource>
|
||||
mkdir -p build/release
|
||||
mkdir build/debug (if you want a debug version of KiCad)
|
||||
|
@ -133,10 +168,10 @@ two "out of source" build directories:
|
|||
On either cmake command line shown below, you can optionally include
|
||||
-DCMAKE_INSTALL_PREFIX=<finallInstallDir>
|
||||
|
||||
If windows, run the following command:
|
||||
On windows, run the following command:
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DwxWidgets_ROOT_DIR=<wxInstallDir> ../../
|
||||
|
||||
If linux, run instead the following command:
|
||||
On linux, run instead the following command:
|
||||
cmake -DCMAKE_BUILD_TYPE=Release ../../
|
||||
|
||||
Take a look at CMakeCache.txt, and in particular CMAKE_INSTALL_PREFIX, which
|
||||
|
@ -166,18 +201,15 @@ On either cmake command line shown below, you can optionally include
|
|||
Although normally you do not install the Debug binaries, you can debug them
|
||||
where they were built.
|
||||
|
||||
If windows, run the following command:
|
||||
On windows, run the following command:
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -DwxWidgets_ROOT_DIR=<wxInstallDir> ../../
|
||||
where <wxInstallDir> is <wxWidgets path>/Release
|
||||
|
||||
If linux, run instead the following command:
|
||||
On linux, run instead the following command:
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DwxWidgets_USE_DEBUG=ON ../../
|
||||
|
||||
Make the Debug binaries:
|
||||
make
|
||||
|
||||
Note: that it is easy to build only a specific binary such as pcbnew alone:
|
||||
make pcbnew
|
||||
|
||||
|
||||
See ./cmake_config.txt for customizing the KiCad build setting.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
Compiling KiCad on Apple Mac OS X
|
||||
=================================
|
||||
First written: 2010-01-31
|
||||
Last edited by: Jerry Jacobs <xor.gate.engineering[at]gmail[dot]com>
|
||||
by: Jerry Jacobs <xor.gate.engineering[at]gmail[dot]com>
|
||||
|
||||
Modified at: 2014-02-07
|
||||
by: Marco Serantoni <marco.serantoni[at]gmail[dot]com>
|
||||
|
||||
Snow Leopard
|
||||
------------
|
||||
|
@ -11,158 +13,51 @@ Requirements
|
|||
* XCode Tools (http://developer.apple.com/tools/xcode)
|
||||
* bzr (bazaar)
|
||||
* CMake (http://www.cmake.org)
|
||||
* wxWidgets 2.9 (http://www.wxwidgets.org/downloads)
|
||||
* Doxygen (http://www.doxygen.nl)
|
||||
* ccache (http://www.macports.org)
|
||||
|
||||
The build of Kicad for OSX is now easier than before.
|
||||
The building system will download and compile the needed libraries for you
|
||||
patching them accordly to the needs.
|
||||
|
||||
Building wxWidgets 2.9 Universal
|
||||
Building Kicad with no support for Scripting
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
To check if your tools and libraries are installed check with file for architectures.
|
||||
|
||||
user@macosx$ file /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib
|
||||
The building needs to know if you want a static binary or a dynamic one
|
||||
Just set ONE of those two options KICAD_BUILD_STATIC or KICAD_BUILD_DYNAMIC
|
||||
|
||||
If you set KICAD_BUILD_DYNAMIC the building system will build all and include
|
||||
the needed libraries for each executable in its bundle
|
||||
|
||||
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib: Mach-O universal binary with 4 architectures
|
||||
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture ppc7400): Mach-O dynamically linked shared library stub ppc
|
||||
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture ppc64)Mach-O 64-bit dynamically linked shared library stub ppc64
|
||||
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture i386):Mach-O dynamically linked shared library stub i386
|
||||
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library stub x86_64
|
||||
cmake -DKICAD_BUILD_DYNAMIC=ON .
|
||||
make
|
||||
|
||||
You need the architectures what you are compiling for !
|
||||
Building Kicad with support for Scripting
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Due some problems with some dependencies the build of this kind of binary is a bit
|
||||
more complex, you should initially set KICAD_BUILD_DYNAMIC
|
||||
then issue for example
|
||||
|
||||
If you have problems that the 64bits library is not build you should add in
|
||||
the configure file:
|
||||
cmake -DKICAD_BUILD_DYNAMIC=ON .
|
||||
make swig
|
||||
|
||||
At time of writing (2009-01-16) this is on line 18381
|
||||
changing this: OSX_UNIV_OPTS="-arch ppc -arch i386"
|
||||
into this: OSX_UNIV_OPTS="-arch ppc -arch i386 -arch x86_64"
|
||||
After successfully building you can set your KICAD_SCRIPTING* options (for example):
|
||||
|
||||
Building a universal monolib wxWidgets 2.9 with the following parameters:
|
||||
./configure --enable-unicode=yes --enable-shared=no --enable-monolithic --with-opengl --with-expat=builtin --enable-universal_binary --enable-aui --enable-debug --with-osx_cocoa --with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk/ --prefix=/opt/wxwidgets/<rev>
|
||||
cmake -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_WXPYTHON=ON -DKICAD_SCRIPTING_MODULES=ON .
|
||||
make
|
||||
|
||||
<rev> Should be subsituded with the revision from SVN
|
||||
The system will build all accordling your choices and package all in the bundle
|
||||
I know bundles will be huge, but those will be autosufficient.
|
||||
|
||||
Then you should a message like this:
|
||||
Building Kicad for other processors or Universal binaries
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Configured wxWidgets 2.9.2 for `i686-apple-darwin10.4.0'
|
||||
I wish remember you should set the processor like
|
||||
|
||||
Which GUI toolkit should wxWidgets use? osx_cocoa
|
||||
Should wxWidgets be compiled into single library? yes
|
||||
Should wxWidgets be linked as a shared library? no
|
||||
Should wxWidgets support Unicode? yes (using UTF-8)
|
||||
What level of wxWidgets compatibility should be enabled?
|
||||
wxWidgets 2.6 no
|
||||
wxWidgets 2.8 yes
|
||||
Which libraries should wxWidgets use?
|
||||
STL no
|
||||
jpeg builtin
|
||||
png builtin
|
||||
regex builtin
|
||||
tiff builtin
|
||||
zlib sys
|
||||
expat builtin
|
||||
libmspack no
|
||||
sdl no
|
||||
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64"
|
||||
|
||||
for other platforms
|
||||
|
||||
If you don't need the debugging symbols then you can remove the --enable-debug parameter.
|
||||
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64 -arch i386"
|
||||
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64 -arch i386 -arch ppc"
|
||||
|
||||
Compiling and installing:
|
||||
make
|
||||
sudo make install
|
||||
|
||||
|
||||
Move the old Mac OS X wxconfig and symlink it to the new compiled 2.9
|
||||
|
||||
sudo mv /usr/bin/wx-config /usr/bin/wx-config.osx
|
||||
sudo ln -s /opt/wxwidgets-svn/bin/wx-config /usr
|
||||
|
||||
Building KiCad
|
||||
~~~~~~~~~~~~~~
|
||||
Extract the sources or get them from subversion.
|
||||
|
||||
user@mac-osx$ cmake .
|
||||
|
||||
Regarding Kicad the only things i've changed are the Variables
|
||||
in the generated CMakeCache.txt
|
||||
|
||||
It depends on which CMake version you use:
|
||||
|
||||
//Flags used by the compiler during all build types.
|
||||
//This fixes also BOOST macro errors
|
||||
CMAKE_CXX_FLAGS:STRING=-D__ASSERTMACROS__
|
||||
|
||||
//Build architectures for OSX
|
||||
CMAKE_OSX_ARCHITECTURES:STRING=x86_64 -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -mmacosx-version-min=10.5
|
||||
|
||||
//The product will be built against the headers and libraries located
|
||||
// inside the indicated SDK.
|
||||
CMAKE_OSX_SYSROOT:PATH=/Developer/SDKs/MacOSX10.5.sdk
|
||||
|
||||
//Minimum OS X version to target for deployment (at runtime); newer
|
||||
// APIs weak linked. Set to empty string for default value.
|
||||
CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.5
|
||||
|
||||
Or:
|
||||
|
||||
CMAKE_OSX_ARCHITECTURE = x86_64 -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -mmacosx-version-min=10.5
|
||||
CMAKE_OSX_SYSROOT = /Developer/SDKs/MacOSX10.5.sdk
|
||||
CMAKE_CXX_FLAGS = -D__ASSERTMACROS__
|
||||
|
||||
|
||||
Then we invoke make:
|
||||
user@mac-osx$ make
|
||||
|
||||
It is also possible to give all the options on the commandline and not to edit the CMakeCache.txt. This is a oneliner for Leopard and up:
|
||||
|
||||
cmake ~/Repositories/testing -DCMAKE_OSX_ARCHITECTURES="i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6" -DCMAKE_CXX_FLAGS="-D__ASSERTMACROS__" -DCMAKE_OSX_SYSROOT="/Developer/SDKs/MacOSX10.6.sdk"
|
||||
|
||||
Optional compiler cache
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
If you (re)compile often, you would love to use cache. The best is to install it using macports and set the libexec symlink
|
||||
directory of ccache in your PATH variable.
|
||||
|
||||
Then start with a clean directory and invoke cmake, make sure that the C++ compiler points to /opt/local/libexec/ccache/g++
|
||||
|
||||
Further reading at http://trac.macports.org/wiki/howto/ccache
|
||||
|
||||
Known Problems
|
||||
~~~~~~~~~~~~~~
|
||||
In file included from
|
||||
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/detail/reversible_ptr_container.hpp:22In
|
||||
file included from
|
||||
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/detail/reversible_ptr_container.hpp:22,
|
||||
from
|
||||
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/ptr_sequence_adapter.hpp:20,
|
||||
from
|
||||
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/ptr_vector.hpp:20,
|
||||
from
|
||||
/temp/kicad-sources/kicad/include/board_item_struct.h:9,
|
||||
from /temp/kicad-sources/kicad/include/pcbstruct.h:10,
|
||||
from /temp/kicad-sources/kicad/3d-viewer/3d_viewer.h:29,
|
||||
from /temp/kicad-sources/kicad/3d-viewer/3d_aux.cpp:23:
|
||||
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/detail/static_move_ptr.hpp:154:50:
|
||||
error: macro "check" passed 2 arguments, but takes just 1
|
||||
|
||||
CMAKE_CXX_FLAGS = -D__ASSERTMACROS__ fixes this :-)
|
||||
|
||||
|
||||
configure:18585: gcc -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -mmacosx-version-min=10.5 -o conftest -arch i386 -arch x86_64 -arch ppc -arch i386 -arch x86_64 -arch ppc conftest.c >&5
|
||||
ld: warning: in /Developer/SDKs/MacOSX10.5.sdk//usr/lib/libSystem.dylib, missing required architecture ppc in file
|
||||
|
||||
Installing rosetta and xcode with all architectures fixes this "problem"
|
||||
|
||||
|
||||
ld: warning: in /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
|
||||
|
||||
You get this error because the QuickTime 10.6 framework is not build with 64bit support. This not a real issue for KiCad because we don't use it anyway.
|
||||
|
||||
Undefined symbols:
|
||||
"TestForIntersectionOfStraightLineSegments(int, int, int, int, int, int, int, int, int*, int*, double*)", referenced from:
|
||||
clipLine(EDA_Rect*, int&, int&, int&, int&)in libcommon.a(gr_basic.cpp.o)
|
||||
|
||||
Make sure you marked the build type Release:
|
||||
|
||||
//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
|
||||
// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
|
||||
CMAKE_BUILD_TYPE:STRING=Release
|
||||
I know some you should prefer use ; as separator, this will be accomplished soon
|
||||
keeping support for both the syntaxes
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
include_directories(BEFORE ${INC_BEFORE})
|
||||
include_directories(
|
||||
../potrace
|
||||
../polygon/kbool/include
|
||||
../common
|
||||
${INC_AFTER}
|
||||
)
|
||||
|
|
|
@ -151,7 +151,6 @@ set( BMAPS_MID
|
|||
annotate_down_right
|
||||
annotate_right_down
|
||||
annotate
|
||||
apply
|
||||
auto_associe
|
||||
auto_delete_track
|
||||
auto_track_width
|
||||
|
@ -447,6 +446,7 @@ set( BMAPS_MID
|
|||
preference
|
||||
print_button
|
||||
ps_router
|
||||
py_script
|
||||
ratsnest
|
||||
read_setup
|
||||
redo
|
||||
|
|
|
@ -8,26 +8,28 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x01, 0x26, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f,
|
||||
0x03, 0x3d, 0x30, 0x55, 0x0d, 0x6b, 0x68, 0x68, 0x60, 0x49, 0xc9, 0x4c, 0xc9, 0x4e, 0xce, 0x49,
|
||||
0x79, 0x08, 0xc2, 0x20, 0x36, 0x48, 0x8c, 0xea, 0x16, 0x81, 0x0c, 0x8e, 0xaa, 0x8c, 0xfb, 0x6a,
|
||||
0xb1, 0xd6, 0xed, 0x3f, 0x08, 0x83, 0xd8, 0x20, 0x31, 0xaa, 0x5b, 0x04, 0xf2, 0x05, 0xc8, 0x02,
|
||||
0xad, 0x43, 0x36, 0x60, 0x0c, 0x62, 0x83, 0xc4, 0x86, 0xa6, 0x45, 0x0c, 0x0c, 0x17, 0xc5, 0x0c,
|
||||
0x8c, 0xe6, 0xde, 0x0f, 0x2f, 0x4d, 0xfa, 0x4b, 0xb3, 0xa0, 0x63, 0x60, 0x38, 0x27, 0xca, 0xc0,
|
||||
0x70, 0xe1, 0x04, 0x13, 0xd3, 0xb9, 0x0f, 0x06, 0xc6, 0x73, 0xee, 0xd2, 0x24, 0x31, 0x30, 0x30,
|
||||
0x9c, 0x11, 0x61, 0x60, 0x38, 0x7f, 0x02, 0x88, 0x3f, 0x80, 0x2c, 0x03, 0xf9, 0x8c, 0x26, 0xc9,
|
||||
0x1b, 0xe8, 0x9b, 0x76, 0x88, 0x25, 0x20, 0xcb, 0xce, 0x89, 0xd2, 0x2c, 0x1f, 0x01, 0x7d, 0x64,
|
||||
0x0e, 0xf4, 0x49, 0x0f, 0xc8, 0x67, 0x54, 0xcf, 0xb0, 0xd0, 0xe0, 0x0a, 0x05, 0xd2, 0xac, 0x34,
|
||||
0x2b, 0x19, 0x40, 0x71, 0x00, 0xb4, 0xe4, 0x24, 0x24, 0xb8, 0xce, 0x85, 0xd0, 0xc4, 0x22, 0x58,
|
||||
0xea, 0x82, 0xc6, 0x09, 0xd0, 0xb2, 0xab, 0x42, 0x54, 0xb7, 0x08, 0x18, 0x4c, 0x5c, 0x40, 0x8b,
|
||||
0x8e, 0x13, 0x4a, 0x5d, 0x54, 0xb0, 0xe8, 0xbc, 0x29, 0x34, 0xb8, 0x8e, 0xe3, 0x4b, 0x5d, 0x54,
|
||||
0x0a, 0xba, 0xf3, 0x56, 0x40, 0x2c, 0x40, 0xf5, 0x6a, 0x02, 0x9a, 0xba, 0xe6, 0x31, 0x30, 0x9c,
|
||||
0x0d, 0xa7, 0x59, 0x7d, 0x04, 0xb1, 0xe4, 0xdc, 0x31, 0x68, 0xc4, 0xcf, 0xa6, 0x89, 0x45, 0xa8,
|
||||
0x96, 0x80, 0x68, 0xfc, 0x99, 0x91, 0x68, 0x8b, 0xd0, 0x6b, 0x46, 0x63, 0xd3, 0x99, 0x57, 0x40,
|
||||
0x05, 0x24, 0xb5, 0x2c, 0x81, 0x5b, 0x84, 0x5e, 0x33, 0x86, 0x97, 0x26, 0xfc, 0x31, 0x34, 0x99,
|
||||
0x7d, 0x93, 0x5a, 0x96, 0xc0, 0x2d, 0xc2, 0x57, 0x61, 0x0d, 0x4d, 0x8b, 0xf0, 0x35, 0x2a, 0xa8,
|
||||
0x6a, 0x11, 0xbe, 0x66, 0xd2, 0xa0, 0x6c, 0xd7, 0xe1, 0xc3, 0x00, 0x42, 0x71, 0x3f, 0x3f, 0xa1,
|
||||
0x5f, 0x72, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x01, 0x3f, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x95, 0xbd, 0x4a, 0x03,
|
||||
0x41, 0x14, 0x46, 0x4f, 0x82, 0x88, 0x22, 0x58, 0x0b, 0x36, 0x96, 0x22, 0x16, 0x06, 0x7f, 0x48,
|
||||
0xa5, 0x22, 0x88, 0xfa, 0x0e, 0x56, 0xbe, 0x4a, 0x1a, 0x0b, 0x1b, 0x1f, 0x42, 0xb0, 0xb2, 0xf1,
|
||||
0x01, 0xb6, 0xb1, 0x08, 0xe8, 0xce, 0xbd, 0x2b, 0x2e, 0xd8, 0xa8, 0x68, 0x14, 0xa3, 0x8d, 0xbe,
|
||||
0xc1, 0x58, 0x64, 0x75, 0x43, 0xb2, 0xab, 0x71, 0x76, 0xa6, 0x18, 0x66, 0x60, 0x67, 0x38, 0x7c,
|
||||
0x73, 0x76, 0xee, 0xc5, 0x5a, 0x4b, 0xa8, 0x01, 0x57, 0xf3, 0x3f, 0xeb, 0x70, 0x90, 0xeb, 0x3d,
|
||||
0x90, 0x77, 0x30, 0xad, 0x60, 0xa0, 0x1c, 0x22, 0x9f, 0x20, 0x0f, 0xa0, 0xb3, 0x81, 0x40, 0xe6,
|
||||
0x00, 0xe4, 0x03, 0xe4, 0x1e, 0x92, 0x45, 0xef, 0x89, 0x20, 0x99, 0xca, 0xd7, 0xba, 0x0f, 0x66,
|
||||
0xc1, 0xbb, 0x23, 0x90, 0x6d, 0xd0, 0x3b, 0x48, 0x9a, 0x85, 0xdf, 0xfd, 0x40, 0xe2, 0x1d, 0x90,
|
||||
0xb7, 0xcc, 0xc9, 0x0d, 0xa4, 0xe3, 0xde, 0x41, 0x90, 0xec, 0xf6, 0x89, 0x7f, 0x04, 0x59, 0x0a,
|
||||
0x92, 0x08, 0xf4, 0xb0, 0x07, 0x31, 0x4f, 0xa0, 0x8d, 0xd2, 0x7d, 0xee, 0x80, 0x68, 0xac, 0x37,
|
||||
0xdb, 0x1a, 0x98, 0x16, 0xc4, 0xcb, 0xbf, 0xee, 0x77, 0x74, 0xb2, 0x05, 0x72, 0x09, 0x32, 0x37,
|
||||
0xf2, 0x19, 0x87, 0xbf, 0x6b, 0x13, 0xb4, 0x9b, 0x39, 0x69, 0x83, 0xad, 0x7b, 0x07, 0x81, 0xd9,
|
||||
0x00, 0xe9, 0xe6, 0x4e, 0xcc, 0x4a, 0x90, 0x44, 0xa0, 0xa7, 0x2e, 0x10, 0x07, 0x50, 0x67, 0x12,
|
||||
0xe4, 0xe4, 0xbf, 0x90, 0x91, 0x40, 0x60, 0xd6, 0x41, 0xce, 0xa1, 0x3d, 0x5d, 0xe9, 0x19, 0xfc,
|
||||
0x0d, 0x31, 0xaf, 0x99, 0xf8, 0xb3, 0x20, 0xa0, 0x01, 0x48, 0x07, 0x64, 0xd5, 0x3b, 0x08, 0x6c,
|
||||
0x1d, 0xe4, 0x22, 0x83, 0x3c, 0x83, 0xae, 0x55, 0xae, 0x20, 0xe5, 0x89, 0xd2, 0x19, 0x90, 0x08,
|
||||
0xe2, 0xa6, 0x97, 0xc2, 0x3b, 0x7c, 0x5d, 0x7a, 0xfc, 0xfd, 0x08, 0xc1, 0xd6, 0xbc, 0xb5, 0x91,
|
||||
0x62, 0x27, 0x7a, 0xe4, 0xbd, 0xeb, 0x16, 0x88, 0x7f, 0x29, 0x6b, 0x5e, 0xd5, 0xaa, 0x3c, 0xd1,
|
||||
0x04, 0xe8, 0x6d, 0x48, 0x48, 0x5f, 0x22, 0x6d, 0x80, 0xa4, 0xa1, 0x20, 0x03, 0x8e, 0x86, 0xdb,
|
||||
0xaf, 0xcf, 0xf1, 0x05, 0x56, 0x13, 0x40, 0xc7, 0xbb, 0x6a, 0xb9, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE add_dashed_line_xpm[1] = {{ png, sizeof( png ), "add_dashed_line_xpm" }};
|
||||
|
|
|
@ -8,54 +8,52 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x02, 0xe2, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x5b, 0x68, 0x13,
|
||||
0x41, 0x14, 0x86, 0xd7, 0x35, 0x97, 0x26, 0x16, 0x5a, 0xac, 0x34, 0x4d, 0x91, 0x5a, 0x11, 0xf1,
|
||||
0x82, 0x8a, 0x08, 0x82, 0x4f, 0xd2, 0x87, 0x3e, 0x08, 0x22, 0xa2, 0x88, 0x88, 0x60, 0x0b, 0x21,
|
||||
0x2f, 0x51, 0xac, 0x28, 0xda, 0x17, 0x2d, 0xc4, 0xc4, 0x58, 0x31, 0xb5, 0x3e, 0x08, 0x56, 0xac,
|
||||
0x77, 0x31, 0xa8, 0x50, 0xaa, 0x34, 0xc6, 0x14, 0x5a, 0x51, 0x44, 0x5a, 0x52, 0x41, 0x04, 0xa1,
|
||||
0xf6, 0x41, 0x4a, 0x1f, 0x82, 0x84, 0x5a, 0x8c, 0x97, 0x62, 0x62, 0x85, 0xf1, 0x3f, 0xc9, 0x49,
|
||||
0x19, 0xb7, 0xd9, 0xc4, 0x4d, 0xc5, 0x85, 0x8f, 0x99, 0x9d, 0xdd, 0x99, 0x7f, 0xfe, 0x39, 0xb3,
|
||||
0x73, 0x56, 0x11, 0x42, 0x28, 0xff, 0x03, 0x63, 0x2f, 0x2b, 0xca, 0x25, 0xb0, 0x5d, 0xba, 0x1f,
|
||||
0x00, 0x6f, 0xc0, 0x0d, 0x50, 0xc7, 0x6d, 0x4e, 0xf0, 0x04, 0x8c, 0x82, 0xeb, 0xc0, 0x66, 0x48,
|
||||
0x08, 0x97, 0x09, 0xbc, 0xa4, 0xce, 0x52, 0x5b, 0x94, 0xcb, 0x5d, 0x20, 0xc8, 0xf5, 0x7b, 0xc0,
|
||||
0x05, 0x16, 0x82, 0x9d, 0xa0, 0xc6, 0xa8, 0xd0, 0x56, 0x70, 0x1c, 0xf4, 0xe7, 0x11, 0x5a, 0x09,
|
||||
0xae, 0x72, 0xfd, 0xe9, 0xbc, 0x96, 0x0e, 0xd7, 0x59, 0xb0, 0x01, 0x74, 0x52, 0xc9, 0x6d, 0x1f,
|
||||
0xc0, 0x30, 0xf8, 0x08, 0xd6, 0x80, 0x55, 0xe0, 0xf2, 0x5f, 0x09, 0x79, 0x15, 0xc5, 0xae, 0x23,
|
||||
0x34, 0x08, 0x56, 0x03, 0x0f, 0x68, 0xe5, 0xb6, 0x7e, 0x50, 0x06, 0x1a, 0x40, 0x88, 0x96, 0x09,
|
||||
0xdc, 0x2d, 0x2a, 0x14, 0x50, 0x14, 0x87, 0xcf, 0x64, 0x9a, 0x0e, 0xd8, 0x6c, 0x3d, 0x10, 0x5c,
|
||||
0x22, 0x89, 0x38, 0x38, 0xb8, 0xf7, 0x99, 0xb0, 0xbc, 0x74, 0x5c, 0x1f, 0xe2, 0x32, 0x52, 0x54,
|
||||
0x08, 0x83, 0xd7, 0x03, 0x71, 0xab, 0xb1, 0x31, 0x75, 0xc6, 0x6a, 0x4d, 0xa2, 0xbe, 0x9b, 0x3b,
|
||||
0x1f, 0xa0, 0x00, 0x4b, 0x83, 0xf6, 0x81, 0x72, 0xf0, 0x0a, 0x6c, 0x03, 0xa7, 0xa4, 0x18, 0x5d,
|
||||
0x00, 0x77, 0xc0, 0x16, 0x70, 0x11, 0x2c, 0xd3, 0x15, 0x4a, 0xa7, 0xd3, 0x62, 0xa4, 0xbb, 0x5b,
|
||||
0x04, 0xec, 0xf6, 0x34, 0xb9, 0xab, 0xca, 0x0a, 0xd5, 0x4a, 0x42, 0x34, 0x78, 0x3d, 0x38, 0x09,
|
||||
0xce, 0x81, 0xfd, 0xb3, 0xdb, 0x38, 0xbb, 0x3b, 0x4f, 0x80, 0xdb, 0x60, 0x5f, 0x41, 0x47, 0x24,
|
||||
0x44, 0x7c, 0x1a, 0x1f, 0x9f, 0xe3, 0xae, 0xe4, 0x0f, 0x16, 0x03, 0xa8, 0xa0, 0x92, 0xf0, 0x29,
|
||||
0xca, 0x7a, 0x59, 0x28, 0x87, 0xec, 0x4e, 0x8e, 0x9d, 0x51, 0xa1, 0x00, 0x0d, 0x2e, 0xa3, 0x15,
|
||||
0xfa, 0x17, 0xee, 0x48, 0xc8, 0x94, 0xcf, 0x51, 0xac, 0xab, 0x4b, 0xf8, 0xad, 0xd6, 0x59, 0xfa,
|
||||
0x3c, 0x9e, 0x79, 0xb9, 0x2b, 0x18, 0x23, 0x3d, 0x34, 0xee, 0xf6, 0xe4, 0x26, 0xda, 0xc9, 0x1b,
|
||||
0xa2, 0x24, 0xa1, 0x67, 0x5e, 0xaf, 0xae, 0xe0, 0x23, 0xb7, 0x5b, 0x68, 0x96, 0x7d, 0xa2, 0x64,
|
||||
0x21, 0x5a, 0x36, 0xad, 0xc0, 0xb7, 0xa9, 0x29, 0xf1, 0xd8, 0xed, 0x9e, 0xc1, 0xc7, 0x9d, 0xf6,
|
||||
0xaa, 0x6a, 0x2b, 0xfa, 0x2c, 0x66, 0x57, 0x65, 0x85, 0x62, 0x54, 0x0e, 0x6a, 0x98, 0x8d, 0x39,
|
||||
0xa1, 0x48, 0x4b, 0x8b, 0x68, 0xaf, 0xa8, 0xc8, 0xcc, 0x94, 0xca, 0xc1, 0xb6, 0xb6, 0x4c, 0xfb,
|
||||
0x58, 0x34, 0x2a, 0x3a, 0x9c, 0xce, 0x1f, 0x88, 0xd3, 0x6b, 0x3f, 0x0e, 0x53, 0x23, 0x9b, 0xe1,
|
||||
0x9d, 0x64, 0xfd, 0x7b, 0x4e, 0x68, 0x3a, 0x99, 0x14, 0x5f, 0x12, 0x09, 0xe1, 0xb7, 0x58, 0x32,
|
||||
0xe5, 0xe7, 0x78, 0x5c, 0xf4, 0xba, 0x5c, 0x33, 0x3e, 0xb3, 0x39, 0x7d, 0x5a, 0x55, 0x8f, 0xd2,
|
||||
0x67, 0x61, 0x68, 0xd7, 0x3d, 0x44, 0xde, 0x20, 0xcb, 0x04, 0x66, 0xb8, 0x42, 0xbb, 0x74, 0x6f,
|
||||
0x43, 0x21, 0xf1, 0x3e, 0x12, 0x11, 0x41, 0x87, 0x83, 0x5c, 0xc4, 0x16, 0x65, 0xf3, 0xcd, 0x18,
|
||||
0x58, 0xca, 0x27, 0x01, 0x1d, 0xa8, 0x31, 0xce, 0x55, 0x3b, 0xb8, 0xed, 0x20, 0x18, 0x01, 0xcf,
|
||||
0xc1, 0xa6, 0xa2, 0x31, 0xfa, 0x3a, 0x39, 0x29, 0x7a, 0x9b, 0x9b, 0x33, 0xb1, 0x80, 0x8b, 0x23,
|
||||
0x78, 0x7d, 0x01, 0x3a, 0xae, 0xa3, 0x73, 0x8d, 0x8e, 0x20, 0x1e, 0xb4, 0x0e, 0x58, 0xf8, 0x14,
|
||||
0x1f, 0xe0, 0x36, 0x0b, 0x97, 0x74, 0x4c, 0xdd, 0x2c, 0x28, 0x34, 0x1a, 0x0e, 0x8b, 0x60, 0x75,
|
||||
0x75, 0x0a, 0x2e, 0x86, 0xc9, 0xa9, 0x26, 0x65, 0x5c, 0xc9, 0x09, 0x49, 0x6d, 0x34, 0x89, 0x17,
|
||||
0xd2, 0x3d, 0x1d, 0xba, 0x7b, 0x41, 0xbb, 0xae, 0x50, 0x4f, 0x53, 0xd3, 0x4f, 0xbf, 0xd9, 0x9c,
|
||||
0x82, 0x8b, 0xc3, 0xe4, 0x22, 0x4f, 0x6e, 0xca, 0x27, 0x44, 0xe9, 0xfb, 0x98, 0x74, 0x7f, 0x1e,
|
||||
0x4c, 0x80, 0xcd, 0xf9, 0x84, 0x6a, 0x31, 0xf8, 0x2f, 0xb8, 0x18, 0x82, 0x8b, 0xe5, 0x05, 0xb2,
|
||||
0xed, 0x1f, 0x42, 0xb8, 0xd6, 0x52, 0x8e, 0x52, 0x34, 0x1b, 0x04, 0x57, 0x65, 0x2e, 0xb5, 0xcf,
|
||||
0x19, 0x04, 0xc9, 0xcf, 0x99, 0xcf, 0x85, 0x9e, 0x10, 0x2f, 0x11, 0x65, 0x5f, 0x87, 0xf4, 0x5c,
|
||||
0x95, 0x84, 0x1e, 0x18, 0xfe, 0xdd, 0xe2, 0xce, 0xd7, 0x40, 0x82, 0x7f, 0xb3, 0xe8, 0x87, 0xe5,
|
||||
0x10, 0x88, 0xf3, 0xbf, 0xc3, 0x30, 0xbf, 0xd3, 0xc1, 0xc9, 0x91, 0x76, 0x5d, 0x43, 0x49, 0x42,
|
||||
0x06, 0x26, 0x54, 0x25, 0xdf, 0xff, 0x06, 0x98, 0xb8, 0xca, 0x4e, 0xe4, 0x43, 0x05, 0x5b, 0x00,
|
||||
0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x02, 0xba, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x4d, 0x68, 0x13,
|
||||
0x41, 0x18, 0x86, 0xc7, 0x35, 0x3f, 0x4d, 0x14, 0xaa, 0xa2, 0x49, 0xa3, 0x20, 0xd5, 0x5a, 0xf0,
|
||||
0xa0, 0xe0, 0x4d, 0xf0, 0xe0, 0xc5, 0x1e, 0x3c, 0x79, 0x28, 0xa2, 0x20, 0xd8, 0x42, 0x08, 0x6a,
|
||||
0xc0, 0xb6, 0x78, 0xb0, 0x82, 0x50, 0x4c, 0x1b, 0x83, 0x87, 0x8a, 0xd7, 0x1e, 0x02, 0xda, 0x8b,
|
||||
0x45, 0xc4, 0x92, 0x8a, 0x6d, 0xc8, 0x41, 0x6b, 0x15, 0xa4, 0xa9, 0x3f, 0x48, 0xc1, 0xff, 0x4b,
|
||||
0x11, 0xec, 0xa1, 0xa6, 0xc5, 0x54, 0x5b, 0xcc, 0xb6, 0xca, 0xf8, 0x7e, 0xe1, 0x5b, 0x19, 0xa6,
|
||||
0x9b, 0x34, 0xae, 0xd1, 0x81, 0x27, 0xfb, 0xcd, 0xce, 0x64, 0xde, 0x7d, 0x67, 0x76, 0xe6, 0x5b,
|
||||
0x21, 0xa5, 0x14, 0xff, 0x83, 0xca, 0x3b, 0x0a, 0x51, 0xa3, 0xd5, 0xd7, 0xac, 0xd2, 0xdf, 0x45,
|
||||
0x38, 0x11, 0x92, 0xaa, 0x18, 0xca, 0x4f, 0xaa, 0x83, 0x3b, 0xe0, 0x31, 0x78, 0x08, 0x8e, 0x28,
|
||||
0xed, 0x43, 0x44, 0x35, 0x84, 0xe8, 0xc7, 0x0f, 0xb6, 0x71, 0xfd, 0x20, 0xf8, 0xc0, 0xf1, 0x46,
|
||||
0xf0, 0x06, 0xbc, 0xa6, 0xb8, 0x1a, 0x42, 0x35, 0x1c, 0xbb, 0x41, 0x0a, 0x5c, 0xe4, 0xfa, 0x29,
|
||||
0x10, 0x07, 0x97, 0x28, 0xb6, 0x15, 0x8a, 0xe1, 0x29, 0x1d, 0x08, 0x5d, 0x07, 0xe7, 0x95, 0xb6,
|
||||
0x47, 0x60, 0x37, 0xd8, 0x09, 0xc6, 0x56, 0x08, 0x25, 0x84, 0x08, 0xf6, 0xb8, 0x5c, 0x8b, 0x09,
|
||||
0x9f, 0x6f, 0x10, 0x82, 0x9b, 0x35, 0xa1, 0xcf, 0x20, 0xc0, 0xf1, 0x16, 0x90, 0x07, 0x06, 0xd7,
|
||||
0xe7, 0xad, 0x85, 0x47, 0xd9, 0x0e, 0x0a, 0xdc, 0x7f, 0x0e, 0x2c, 0x15, 0xef, 0x69, 0x6e, 0xea,
|
||||
0x81, 0xec, 0x6f, 0x6a, 0x2a, 0x5c, 0xf6, 0x7a, 0xf3, 0x88, 0x9b, 0x15, 0xa1, 0x24, 0x38, 0xc1,
|
||||
0xd3, 0x74, 0x16, 0xdc, 0x52, 0xda, 0xbc, 0x4a, 0x7c, 0x41, 0x73, 0xd7, 0x51, 0xbc, 0x67, 0x27,
|
||||
0x64, 0x9a, 0xa6, 0x7c, 0x96, 0x4c, 0xca, 0x84, 0xdf, 0x6f, 0x5a, 0xee, 0xd0, 0xb9, 0x11, 0xdc,
|
||||
0x00, 0x9f, 0xc0, 0x4d, 0xb0, 0x87, 0x07, 0x5a, 0x0b, 0x16, 0x2c, 0x31, 0x94, 0x49, 0x72, 0xa0,
|
||||
0x08, 0xd5, 0x81, 0x97, 0x25, 0x85, 0x88, 0xd9, 0xa9, 0x29, 0x5b, 0x77, 0x8e, 0x36, 0x2c, 0x06,
|
||||
0x30, 0xc0, 0x06, 0x02, 0xaf, 0xc9, 0x5e, 0x55, 0xc8, 0x42, 0x77, 0xe7, 0x54, 0x28, 0x41, 0x83,
|
||||
0xab, 0xe8, 0x42, 0xd5, 0x70, 0x47, 0x42, 0x2e, 0x3b, 0x47, 0x13, 0x7d, 0x7d, 0x32, 0xee, 0xf5,
|
||||
0xfe, 0xe6, 0x5e, 0x34, 0xfa, 0x57, 0xee, 0xca, 0xae, 0x51, 0x29, 0x54, 0x77, 0xdd, 0x42, 0x1c,
|
||||
0xb5, 0x1e, 0xf4, 0x9a, 0x10, 0x3e, 0xc7, 0x42, 0xa3, 0xb1, 0x58, 0x49, 0xc1, 0xa1, 0x48, 0x44,
|
||||
0x6a, 0xd3, 0xfe, 0xd1, 0xb1, 0x10, 0x4d, 0x9b, 0x2e, 0xf0, 0x6d, 0x6e, 0x4e, 0xde, 0x8d, 0x44,
|
||||
0x96, 0xb1, 0xb9, 0xcd, 0x1e, 0xc3, 0xe8, 0xc4, 0x7f, 0x36, 0xb1, 0xab, 0x9a, 0x72, 0x6b, 0xb4,
|
||||
0x1e, 0xd4, 0x31, 0xfb, 0x2c, 0xa1, 0x91, 0xf6, 0x76, 0x79, 0xa5, 0xb6, 0xb6, 0xf8, 0xa4, 0x74,
|
||||
0x7d, 0xd0, 0xd5, 0x55, 0xbc, 0xff, 0x3e, 0x93, 0x91, 0x57, 0x43, 0xa1, 0xef, 0x58, 0xa7, 0xe7,
|
||||
0x58, 0xd3, 0xc6, 0x3f, 0x79, 0x19, 0x5e, 0x29, 0xd6, 0x17, 0x2c, 0xa1, 0xc5, 0x7c, 0x5e, 0xce,
|
||||
0xcf, 0xcc, 0xc8, 0xb8, 0xc7, 0x53, 0xbc, 0x7e, 0x99, 0x9e, 0x96, 0xa9, 0x70, 0x78, 0xb9, 0xc7,
|
||||
0xed, 0x36, 0xbb, 0x0d, 0xe3, 0x5c, 0x8c, 0x8f, 0x9f, 0x4a, 0x73, 0x94, 0xb8, 0x8d, 0x9d, 0x4d,
|
||||
0x96, 0x99, 0x06, 0x7d, 0xea, 0x26, 0x07, 0x06, 0xe4, 0xbb, 0x74, 0x5a, 0xf6, 0x06, 0x83, 0xe4,
|
||||
0xe2, 0x29, 0xda, 0x77, 0xd1, 0x99, 0x07, 0x46, 0x28, 0x0f, 0x69, 0xf9, 0x67, 0x82, 0x8e, 0x26,
|
||||
0x4e, 0x7a, 0x87, 0xc0, 0x0b, 0x30, 0x0e, 0x9a, 0xcb, 0xae, 0xd1, 0xd7, 0x5c, 0x4e, 0xa6, 0x5a,
|
||||
0x5b, 0x8b, 0x6b, 0x01, 0x17, 0x1d, 0x92, 0x9f, 0x18, 0x65, 0x1d, 0x68, 0x00, 0x19, 0x45, 0xa8,
|
||||
0x9e, 0xaf, 0x9d, 0xe0, 0x30, 0x9d, 0x89, 0x5c, 0xf7, 0x80, 0xd1, 0x92, 0x42, 0x6f, 0x87, 0x87,
|
||||
0x65, 0x6f, 0x20, 0x50, 0x80, 0x8b, 0x2c, 0xd6, 0xa2, 0xa1, 0x44, 0xea, 0xc8, 0xd8, 0xdc, 0x8b,
|
||||
0x82, 0xe3, 0x1c, 0xfb, 0xc0, 0x7e, 0x41, 0x13, 0x67, 0x27, 0x34, 0xd8, 0xd2, 0xb2, 0x14, 0x77,
|
||||
0xbb, 0x0b, 0x70, 0xd1, 0x26, 0xcb, 0xcd, 0xbb, 0x26, 0xc4, 0x4e, 0xc7, 0x04, 0xef, 0x27, 0x94,
|
||||
0xd3, 0x60, 0x0a, 0x1c, 0xd3, 0x85, 0xb6, 0x62, 0xf0, 0x1f, 0x70, 0x31, 0x0e, 0x17, 0x3b, 0x2a,
|
||||
0xc8, 0xba, 0xba, 0x50, 0x3f, 0x38, 0xa0, 0xbf, 0x20, 0xe0, 0xc9, 0x8a, 0x3f, 0x23, 0xf9, 0x85,
|
||||
0xe4, 0x2a, 0x5f, 0x38, 0x76, 0x42, 0x28, 0x6d, 0x94, 0x7b, 0x94, 0xba, 0xa1, 0xc4, 0xf7, 0x9d,
|
||||
0x1d, 0xf9, 0xd8, 0x7b, 0x20, 0xcb, 0x59, 0x36, 0xcb, 0xf5, 0x1c, 0xc7, 0xc4, 0x49, 0x70, 0x06,
|
||||
0xa4, 0x39, 0xad, 0x87, 0xff, 0xed, 0x47, 0x23, 0x4e, 0x0b, 0x4a, 0x8c, 0x14, 0xff, 0x02, 0xf9,
|
||||
0xe5, 0xd4, 0x72, 0xb3, 0x13, 0xa5, 0x20, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
|
||||
0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE annotate_xpm[1] = {{ png, sizeof( png ), "annotate_xpm" }};
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
|
||||
/* Do not modify this file, it was automatically generated by the
|
||||
* PNG2cpp CMake script, using a *.png file as input.
|
||||
*/
|
||||
|
||||
#include <bitmaps.h>
|
||||
|
||||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x04, 0x34, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x96, 0x5b, 0x4c, 0x1c,
|
||||
0x65, 0x18, 0x86, 0xdf, 0x99, 0xd9, 0x93, 0x7b, 0x5e, 0x18, 0x76, 0x61, 0x61, 0x17, 0x58, 0x76,
|
||||
0xcb, 0x61, 0x43, 0xc9, 0xd2, 0x0a, 0xb6, 0xa5, 0x07, 0x11, 0x50, 0xd3, 0x2a, 0x49, 0x63, 0x10,
|
||||
0xab, 0x89, 0x4d, 0x49, 0x6d, 0x34, 0xc6, 0x28, 0x68, 0xbc, 0x28, 0x89, 0x69, 0x8c, 0x51, 0x13,
|
||||
0x63, 0xe2, 0x8d, 0xa9, 0xc6, 0x4a, 0x4c, 0x31, 0x95, 0xa4, 0x9a, 0xda, 0xb4, 0x52, 0x82, 0x8d,
|
||||
0x12, 0xf0, 0x50, 0x5b, 0x1a, 0x52, 0x6c, 0x88, 0x4a, 0x09, 0xb4, 0x85, 0x5a, 0xc2, 0xc2, 0xec,
|
||||
0x61, 0x4e, 0xbb, 0x3b, 0xf3, 0x7b, 0xb1, 0xb4, 0x91, 0x0a, 0x05, 0x2b, 0xed, 0x95, 0x5f, 0xf2,
|
||||
0x5e, 0x4d, 0xbe, 0x3c, 0xc9, 0x37, 0xff, 0xff, 0x7c, 0x3f, 0x45, 0x08, 0xc1, 0xbd, 0x28, 0x1a,
|
||||
0xf7, 0xa8, 0x56, 0x1d, 0x44, 0x35, 0x51, 0x4c, 0xfd, 0xc7, 0xf5, 0x3d, 0xa1, 0x77, 0x43, 0x7b,
|
||||
0xef, 0x2a, 0xc8, 0x14, 0x34, 0x8d, 0xd6, 0x95, 0xd4, 0x35, 0x64, 0x16, 0x64, 0x7e, 0xc4, 0xb4,
|
||||
0x31, 0x2f, 0xdf, 0x15, 0x90, 0xfd, 0x80, 0x7d, 0x64, 0x5b, 0x60, 0x5b, 0x41, 0x30, 0x18, 0x44,
|
||||
0x73, 0x71, 0x33, 0x65, 0x72, 0x9b, 0xde, 0xa7, 0xda, 0xa8, 0x3d, 0x00, 0x40, 0xad, 0xd6, 0x61,
|
||||
0x60, 0x0f, 0xb0, 0xe7, 0x43, 0x05, 0xa1, 0x50, 0xcb, 0xd6, 0x16, 0x50, 0x7a, 0x0a, 0x00, 0x30,
|
||||
0x39, 0x36, 0x89, 0xf6, 0x81, 0x76, 0xe2, 0x53, 0x7c, 0x7b, 0x56, 0x05, 0xe4, 0x7a, 0xc3, 0x35,
|
||||
0x10, 0x2c, 0x28, 0xdb, 0xb4, 0xeb, 0xfe, 0x5d, 0xa0, 0x75, 0xcc, 0x82, 0x6f, 0xe3, 0x63, 0xe3,
|
||||
0xe8, 0x1a, 0xee, 0xba, 0xba, 0x60, 0x74, 0xee, 0xfd, 0xee, 0x87, 0x9b, 0x3a, 0x9a, 0x86, 0xdc,
|
||||
0xaf, 0xba, 0xd7, 0xad, 0x14, 0x92, 0xdd, 0x9e, 0xdd, 0x53, 0xe6, 0x2d, 0xd9, 0xd4, 0x18, 0x7c,
|
||||
0x1c, 0x92, 0x22, 0x82, 0xe7, 0xe3, 0x88, 0xc7, 0xd2, 0xe1, 0x66, 0x39, 0x74, 0xff, 0xd1, 0x8d,
|
||||
0x39, 0x6e, 0x6e, 0xe2, 0x26, 0xc8, 0xfc, 0xa2, 0xf9, 0x21, 0xab, 0xdd, 0x7a, 0x72, 0x47, 0xf9,
|
||||
0xa3, 0x15, 0x36, 0xa7, 0xed, 0xc7, 0x8c, 0xd6, 0x8c, 0xf2, 0xe5, 0x20, 0x79, 0xfb, 0xf3, 0xbe,
|
||||
0x5c, 0xe3, 0xf5, 0x37, 0x3c, 0x52, 0xdc, 0x80, 0x04, 0x24, 0x08, 0x22, 0x3f, 0x9f, 0x34, 0xe8,
|
||||
0xf3, 0x81, 0x4e, 0x0c, 0x5e, 0x1a, 0x1c, 0x9b, 0x7e, 0x6b, 0xba, 0x86, 0x06, 0x00, 0xe3, 0x5e,
|
||||
0xe3, 0x03, 0xd6, 0x2c, 0xeb, 0xa9, 0x86, 0xc0, 0x16, 0xe6, 0x6a, 0x62, 0x02, 0x5b, 0xfd, 0x55,
|
||||
0x3a, 0x57, 0x86, 0xeb, 0x17, 0x7b, 0xab, 0xdd, 0xb7, 0x14, 0xc4, 0xf3, 0x9a, 0xe7, 0x70, 0x20,
|
||||
0xdf, 0xb7, 0xb3, 0x3e, 0xb0, 0x19, 0x09, 0x48, 0x10, 0x65, 0x3e, 0x1d, 0x89, 0x47, 0x42, 0x92,
|
||||
0xd1, 0x73, 0xa1, 0x1b, 0x17, 0xae, 0x0c, 0x4f, 0x92, 0x0f, 0xc8, 0x1a, 0x00, 0xa0, 0xf5, 0xfb,
|
||||
0xf4, 0xe5, 0x59, 0xee, 0xac, 0xbe, 0x1d, 0xc5, 0x0f, 0x6a, 0x2c, 0x56, 0x33, 0x78, 0x39, 0x0a,
|
||||
0x17, 0xeb, 0x44, 0x4d, 0x71, 0x85, 0xc1, 0x6d, 0x76, 0x0f, 0xb3, 0xcf, 0xb3, 0xb9, 0xb7, 0x42,
|
||||
0xbc, 0xaf, 0x78, 0x0f, 0x16, 0xe5, 0x79, 0x9f, 0xd9, 0x58, 0x54, 0x01, 0x99, 0x96, 0x21, 0x25,
|
||||
0x78, 0x48, 0xf3, 0x10, 0x35, 0x95, 0xc4, 0xb9, 0x4b, 0x67, 0x70, 0x76, 0x6c, 0x70, 0x3a, 0x15,
|
||||
0x4d, 0xf9, 0x09, 0x21, 0x0a, 0x00, 0xd0, 0x1e, 0xbb, 0xe7, 0xed, 0x9a, 0xc2, 0x0a, 0x9d, 0xc5,
|
||||
0x6a, 0x85, 0x94, 0xe0, 0x21, 0xa7, 0x78, 0x88, 0xc9, 0x18, 0x58, 0xa7, 0x03, 0x55, 0x25, 0x01,
|
||||
0x23, 0x6b, 0x63, 0x47, 0xac, 0x3b, 0xad, 0x99, 0x37, 0xc7, 0xf5, 0x52, 0xde, 0x7b, 0x5e, 0x57,
|
||||
0xce, 0xbe, 0xea, 0x60, 0x29, 0x92, 0x74, 0x12, 0x72, 0x2a, 0xdd, 0x23, 0x25, 0x05, 0xd0, 0x44,
|
||||
0xc1, 0xd8, 0xe4, 0xef, 0xf8, 0xee, 0xe2, 0x0f, 0x9c, 0x18, 0x13, 0xfd, 0xa4, 0x83, 0x48, 0x37,
|
||||
0xfa, 0x34, 0x5c, 0x84, 0xeb, 0xbf, 0x38, 0x35, 0xba, 0xdd, 0x6c, 0xd4, 0x40, 0x63, 0x34, 0x82,
|
||||
0x26, 0x00, 0xad, 0xa1, 0x40, 0xa5, 0x00, 0xd6, 0xed, 0xc0, 0xfa, 0x84, 0xcf, 0x72, 0x46, 0x54,
|
||||
0x46, 0xb3, 0x1a, 0xb3, 0xbc, 0xba, 0x6c, 0x5d, 0x9b, 0xd7, 0x9d, 0xd3, 0x5a, 0x5d, 0x59, 0x84,
|
||||
0x04, 0x23, 0x43, 0x55, 0x64, 0x10, 0x85, 0x80, 0x28, 0xc0, 0x7d, 0xb4, 0x11, 0x5c, 0x24, 0x8c,
|
||||
0x93, 0xe7, 0xbf, 0x8f, 0xc7, 0xa3, 0x71, 0x3f, 0xf9, 0x8c, 0xc4, 0x16, 0x18, 0x83, 0x10, 0x02,
|
||||
0xf3, 0x6e, 0xf3, 0x27, 0x85, 0xf9, 0xd9, 0x2d, 0x1b, 0x2b, 0x4a, 0x01, 0xbd, 0x16, 0xb4, 0x86,
|
||||
0x02, 0xcd, 0x00, 0x14, 0x43, 0x41, 0xa7, 0xa1, 0x31, 0x39, 0x32, 0x83, 0x73, 0x43, 0x13, 0x51,
|
||||
0x87, 0xc5, 0x6c, 0xd9, 0x5c, 0x5b, 0x48, 0xa5, 0xf4, 0x1a, 0x10, 0x15, 0x20, 0x0a, 0x81, 0xaa,
|
||||
0x10, 0x18, 0x28, 0x13, 0x74, 0xa2, 0x1e, 0x87, 0xbe, 0x3d, 0x26, 0x0a, 0x82, 0x50, 0x2c, 0x7c,
|
||||
0x2a, 0x5c, 0xf9, 0x87, 0x9a, 0x6e, 0xdc, 0x23, 0xdb, 0xb3, 0xb6, 0x2f, 0xfc, 0xbe, 0x9c, 0x27,
|
||||
0x2b, 0x2b, 0x3d, 0x50, 0x35, 0x0c, 0x18, 0x6d, 0x1a, 0x44, 0x31, 0x80, 0x8e, 0xa6, 0x71, 0xfd,
|
||||
0xd7, 0x18, 0x9c, 0x05, 0x06, 0xa4, 0x4c, 0x0c, 0xa0, 0x52, 0xb0, 0x68, 0x1c, 0x50, 0x12, 0x0a,
|
||||
0x64, 0x31, 0x01, 0x43, 0xc2, 0x88, 0xce, 0xde, 0x5e, 0x99, 0x93, 0x22, 0x15, 0xd2, 0x21, 0xe9,
|
||||
0xb7, 0x45, 0x1d, 0xf8, 0xf7, 0x0b, 0x6b, 0xdb, 0x6d, 0x3b, 0x51, 0x56, 0xe4, 0xde, 0xbe, 0x76,
|
||||
0x7d, 0x0e, 0x92, 0xda, 0x14, 0x28, 0x06, 0xa0, 0x18, 0x15, 0x34, 0x43, 0x43, 0x4b, 0xd1, 0x50,
|
||||
0x54, 0x02, 0x55, 0x55, 0x21, 0xcb, 0x12, 0xae, 0xcd, 0x5d, 0x86, 0x20, 0x0a, 0x60, 0xe5, 0x5c,
|
||||
0x9c, 0x3d, 0x1f, 0x49, 0x46, 0xe4, 0x58, 0x55, 0xbc, 0x23, 0x3e, 0xb4, 0xa4, 0x6c, 0x6f, 0x35,
|
||||
0x83, 0xe3, 0x69, 0x47, 0x5f, 0x59, 0xc0, 0xb5, 0x85, 0x5d, 0x1b, 0x85, 0xa0, 0xe5, 0x41, 0x6b,
|
||||
0xe7, 0xff, 0x59, 0xda, 0x2a, 0x20, 0x2a, 0xa0, 0x24, 0x09, 0x94, 0x24, 0xe0, 0x8c, 0xe6, 0x62,
|
||||
0xa0, 0x2f, 0x92, 0x9a, 0xe1, 0x67, 0x6b, 0xc5, 0x23, 0x62, 0xff, 0x6d, 0xad, 0xbe, 0x98, 0x82,
|
||||
0x1c, 0xcd, 0x8e, 0xc1, 0x50, 0xa9, 0xab, 0x32, 0xab, 0x26, 0x06, 0x5e, 0x2b, 0xa4, 0xc7, 0x48,
|
||||
0x03, 0x20, 0x80, 0xaa, 0xa4, 0x41, 0xce, 0xb0, 0x07, 0xa7, 0x4f, 0xcc, 0xaa, 0xe1, 0x18, 0xf7,
|
||||
0x18, 0x7f, 0x94, 0xff, 0x66, 0xd9, 0xf5, 0xb1, 0x94, 0xeb, 0xec, 0x4f, 0xd8, 0x47, 0x36, 0xac,
|
||||
0x73, 0x97, 0xb0, 0x75, 0x51, 0x88, 0x3a, 0x01, 0x34, 0x03, 0x10, 0x00, 0x6a, 0x0a, 0x70, 0xfe,
|
||||
0x99, 0x87, 0x53, 0x9d, 0x61, 0x72, 0x3d, 0x3e, 0xf7, 0x94, 0x70, 0x4c, 0xe8, 0xfa, 0x4f, 0x8b,
|
||||
0x8f, 0x3b, 0xca, 0x95, 0xfe, 0xf4, 0xf3, 0xd4, 0x78, 0xbc, 0xdf, 0x0e, 0xbb, 0xd1, 0x08, 0xad,
|
||||
0x89, 0x86, 0xce, 0x44, 0xc3, 0x13, 0xf7, 0xa0, 0xf7, 0x70, 0x98, 0x4c, 0xc7, 0xb8, 0x17, 0x56,
|
||||
0x0a, 0x59, 0x76, 0x1f, 0x45, 0x8e, 0x47, 0xfc, 0xa7, 0x7b, 0x2f, 0x5f, 0x13, 0x7a, 0x33, 0x60,
|
||||
0x37, 0x1a, 0xe1, 0xe1, 0x3c, 0xe8, 0xfe, 0x30, 0x4c, 0xa6, 0xa2, 0x73, 0xaf, 0xf3, 0x5f, 0xf3,
|
||||
0x07, 0xff, 0x95, 0xe2, 0x09, 0x21, 0xb7, 0x0d, 0x82, 0xd0, 0x99, 0x6b, 0xcd, 0x33, 0x6d, 0x47,
|
||||
0x36, 0x90, 0xea, 0xe7, 0x7c, 0xc4, 0xd0, 0x60, 0x78, 0x73, 0xb9, 0x9e, 0xc5, 0xb2, 0xa2, 0x7d,
|
||||
0x44, 0x35, 0x52, 0x96, 0x7c, 0x2d, 0x7b, 0x5c, 0x50, 0x93, 0x3d, 0xd3, 0x5f, 0x71, 0xef, 0xdc,
|
||||
0xd1, 0x5b, 0xe2, 0xff, 0xe7, 0xd6, 0x9d, 0xd6, 0x5f, 0x63, 0x4d, 0x14, 0x46, 0x86, 0xf4, 0x75,
|
||||
0x7d, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE apply_xpm[1] = {{ png, sizeof( png ), "apply_xpm" }};
|
||||
|
||||
//EOF
|
|
@ -8,106 +8,105 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x06, 0x19, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xad, 0x96, 0x6b, 0x4c, 0x5a,
|
||||
0x67, 0x18, 0xc7, 0xbb, 0xfb, 0x25, 0x5b, 0x17, 0x9b, 0x2c, 0xcd, 0xb2, 0xc5, 0xf4, 0xc3, 0xd6,
|
||||
0x2d, 0xbb, 0x25, 0x5d, 0xb3, 0x98, 0x7e, 0x68, 0xb2, 0x58, 0x93, 0xb5, 0xeb, 0xcd, 0x64, 0xcd,
|
||||
0xda, 0x26, 0x4d, 0xbb, 0x69, 0xdd, 0x66, 0x5b, 0x6d, 0xc4, 0xcb, 0xac, 0xd6, 0x56, 0x05, 0xb5,
|
||||
0x5a, 0x45, 0xb1, 0x0a, 0x5a, 0x40, 0xb4, 0xde, 0x2f, 0x45, 0xf0, 0x86, 0x8a, 0x80, 0x88, 0x08,
|
||||
0x05, 0x14, 0x44, 0xae, 0x47, 0xe4, 0x26, 0x88, 0x94, 0x82, 0x0a, 0x56, 0x51, 0xc1, 0xb3, 0xf7,
|
||||
0x98, 0xd1, 0x58, 0x2f, 0x9b, 0x26, 0x3b, 0xc9, 0x3f, 0x27, 0xef, 0x79, 0xce, 0xfb, 0xfc, 0xce,
|
||||
0xfb, 0xfc, 0xcf, 0x7b, 0xd9, 0x03, 0xc3, 0xf0, 0x9e, 0xf5, 0x02, 0xd7, 0xeb, 0x40, 0xef, 0x85,
|
||||
0x84, 0x84, 0xec, 0x3f, 0x75, 0x2a, 0xf4, 0xe3, 0xdd, 0xe8, 0xe8, 0xd1, 0xa3, 0x1f, 0x81, 0xbe,
|
||||
0xef, 0x03, 0xbd, 0xb5, 0x29, 0xef, 0xfa, 0xc6, 0xbe, 0x7d, 0xfb, 0xf6, 0x3e, 0x24, 0xe0, 0x7e,
|
||||
0x19, 0x95, 0x89, 0x49, 0x90, 0x56, 0x45, 0x1d, 0x87, 0x94, 0x4d, 0x5a, 0xf5, 0x58, 0xbd, 0x5a,
|
||||
0x29, 0xab, 0x51, 0x8c, 0x8d, 0x54, 0xc9, 0xa5, 0x22, 0x8a, 0x4c, 0x22, 0x20, 0x0d, 0x8b, 0xf8,
|
||||
0xe5, 0x22, 0xc1, 0x00, 0x5e, 0x30, 0xc4, 0x79, 0x30, 0x34, 0xc8, 0x2a, 0xe4, 0x71, 0x7b, 0xf3,
|
||||
0xfb, 0xd9, 0x5d, 0xb9, 0xcc, 0x9e, 0xb6, 0x1c, 0x5a, 0x73, 0x75, 0x4a, 0x51, 0x01, 0xe6, 0xe7,
|
||||
0x43, 0x87, 0x0e, 0x7d, 0x08, 0x80, 0xaf, 0x6c, 0x02, 0x81, 0xeb, 0x1d, 0x46, 0x27, 0x35, 0x71,
|
||||
0xd9, 0xeb, 0xb5, 0xfb, 0x7c, 0x2b, 0x33, 0xcb, 0xcb, 0xde, 0xe9, 0xc5, 0xc5, 0x05, 0xd3, 0xc2,
|
||||
0xbc, 0x07, 0x9a, 0xf7, 0xb8, 0xe5, 0x73, 0xb3, 0x2e, 0x89, 0xcb, 0xf9, 0x94, 0xef, 0x1a, 0x19,
|
||||
0x52, 0x3a, 0x78, 0x0c, 0xa5, 0x75, 0xd2, 0xd8, 0x6a, 0x32, 0xe8, 0x1a, 0x0c, 0x3a, 0x6d, 0x25,
|
||||
0xa4, 0x56, 0x94, 0x2b, 0xe5, 0x92, 0x62, 0xe9, 0xf0, 0xd0, 0x7d, 0x91, 0x90, 0x8b, 0x06, 0xd0,
|
||||
0xb4, 0x0a, 0x62, 0x71, 0x74, 0x50, 0x50, 0xd0, 0x07, 0x9b, 0x40, 0xb1, 0xd1, 0x57, 0x0f, 0xcf,
|
||||
0xce, 0xb8, 0x46, 0x57, 0x56, 0x96, 0x5d, 0x4b, 0x5e, 0xaf, 0x0d, 0x40, 0x8c, 0xf3, 0xf3, 0x1e,
|
||||
0xad, 0xc7, 0x33, 0x3b, 0x3a, 0x37, 0xeb, 0x14, 0x01, 0x08, 0xcf, 0x61, 0xb7, 0xf5, 0xcd, 0xd4,
|
||||
0x3e, 0xf0, 0x3a, 0x8b, 0xd3, 0xe0, 0x49, 0x3e, 0xb3, 0x67, 0x02, 0x52, 0x53, 0x20, 0xd5, 0x28,
|
||||
0x41, 0x39, 0x2a, 0x29, 0x92, 0x0e, 0xf3, 0x73, 0x85, 0x43, 0xec, 0xcc, 0xc1, 0xfe, 0xee, 0x94,
|
||||
0xbe, 0xee, 0xd6, 0xf8, 0x0e, 0x5a, 0x7d, 0x42, 0xfa, 0xed, 0x84, 0x50, 0x30, 0x80, 0xd7, 0x5e,
|
||||
0x80, 0x90, 0x46, 0x6e, 0xf6, 0xed, 0x33, 0x20, 0xb9, 0x05, 0x40, 0xac, 0xe0, 0xae, 0x9f, 0x9f,
|
||||
0x77, 0xab, 0xdd, 0xee, 0x19, 0x19, 0x80, 0x08, 0x01, 0x84, 0xfb, 0xd4, 0x3e, 0xd5, 0x6b, 0xb3,
|
||||
0x4e, 0xb6, 0x3b, 0x1f, 0x15, 0x39, 0x1d, 0xd9, 0x37, 0x61, 0x53, 0x5f, 0x5b, 0xbb, 0x46, 0x29,
|
||||
0xc5, 0x83, 0x72, 0x16, 0x8e, 0x88, 0x06, 0x73, 0x84, 0x83, 0xec, 0x8c, 0x01, 0x36, 0xe3, 0x56,
|
||||
0x6f, 0x67, 0x0b, 0xaa, 0xa7, 0xb3, 0x25, 0x0e, 0xd1, 0x83, 0xa2, 0x7b, 0x97, 0x40, 0xee, 0x37,
|
||||
0xd7, 0x83, 0xde, 0xc0, 0x62, 0xb3, 0x2e, 0x2c, 0x2e, 0x2c, 0x98, 0x16, 0x17, 0x9e, 0xeb, 0x00,
|
||||
0x44, 0x39, 0x37, 0x37, 0x33, 0xe2, 0x72, 0x3d, 0x13, 0x3c, 0x73, 0x4c, 0xf7, 0x03, 0x48, 0xb7,
|
||||
0xcd, 0x6a, 0xa6, 0x4f, 0x9a, 0xf4, 0x4d, 0x56, 0x5a, 0xb5, 0xc0, 0x9e, 0x1a, 0x01, 0x43, 0xfc,
|
||||
0x3e, 0x8a, 0x42, 0x26, 0x2e, 0x00, 0x90, 0x6c, 0x01, 0x8f, 0x79, 0x97, 0xdd, 0x4b, 0x4f, 0x0a,
|
||||
0x00, 0x02, 0x22, 0x96, 0xe3, 0x7e, 0x47, 0x2c, 0x79, 0x09, 0x84, 0xc3, 0xde, 0xbb, 0x00, 0x4a,
|
||||
0xa5, 0xf1, 0xb8, 0xe7, 0x14, 0x00, 0x22, 0x01, 0x10, 0x3e, 0x80, 0xb0, 0xed, 0x36, 0x2b, 0x63,
|
||||
0xca, 0x6a, 0x6e, 0x35, 0x9b, 0x74, 0x0d, 0x7a, 0x9d, 0xba, 0xca, 0xdc, 0x44, 0xe4, 0xd8, 0x6e,
|
||||
0x9e, 0x83, 0x35, 0x75, 0x84, 0x46, 0x00, 0x48, 0x47, 0x00, 0x4c, 0x06, 0x35, 0x6e, 0x23, 0x04,
|
||||
0x51, 0xc5, 0x76, 0x20, 0xf7, 0xec, 0x8c, 0x6c, 0x76, 0xc6, 0x29, 0x76, 0xb9, 0x1c, 0x3c, 0x00,
|
||||
0xe9, 0x9b, 0xb6, 0x59, 0x3a, 0xa7, 0x26, 0x8d, 0x54, 0xb3, 0x51, 0x57, 0x0f, 0x20, 0x95, 0x5a,
|
||||
0xb5, 0xbc, 0xdc, 0x8a, 0xbe, 0x61, 0xb1, 0x25, 0x5c, 0x84, 0x75, 0x57, 0x42, 0xc7, 0x37, 0x26,
|
||||
0x46, 0x80, 0x5c, 0x56, 0x67, 0x32, 0xf0, 0x2a, 0x43, 0x2a, 0x1e, 0xca, 0xab, 0xae, 0x20, 0x44,
|
||||
0x6f, 0x09, 0x72, 0x39, 0x9f, 0x21, 0x7e, 0x0c, 0x38, 0xec, 0x53, 0x4c, 0xdb, 0xd4, 0x64, 0x87,
|
||||
0xc5, 0x6c, 0x78, 0x6c, 0x36, 0x8e, 0xd7, 0x4e, 0x8c, 0xab, 0x2b, 0x34, 0xc0, 0x74, 0x15, 0x9f,
|
||||
0x85, 0x37, 0x9f, 0x3b, 0xec, 0x5f, 0xd2, 0xa9, 0x60, 0xd3, 0xd9, 0x6f, 0x57, 0x86, 0x13, 0x2f,
|
||||
0x57, 0x33, 0xbb, 0xa8, 0x09, 0x22, 0x01, 0x07, 0x2d, 0x1f, 0x15, 0x17, 0x22, 0xef, 0x20, 0x1f,
|
||||
0x13, 0x50, 0x0d, 0xa5, 0xec, 0xda, 0x96, 0x20, 0xc7, 0xd3, 0x69, 0x0e, 0xf0, 0xa3, 0x07, 0xf8,
|
||||
0xd1, 0x66, 0x31, 0xe9, 0x9b, 0x8d, 0x13, 0x50, 0xcd, 0xc4, 0xb8, 0x8a, 0x04, 0x12, 0x94, 0x8e,
|
||||
0x8e, 0x08, 0xf3, 0xe5, 0x89, 0x97, 0xe8, 0xd6, 0x98, 0xf0, 0x25, 0xd0, 0x07, 0xf6, 0x8e, 0x89,
|
||||
0x61, 0xe3, 0x89, 0x83, 0x3e, 0xa8, 0xa1, 0xfc, 0xf1, 0xfa, 0xe4, 0x3b, 0x02, 0xd9, 0x6d, 0x96,
|
||||
0x2e, 0xe0, 0x07, 0x0d, 0x40, 0x1a, 0x8d, 0x3a, 0xed, 0xa3, 0x71, 0x8d, 0x82, 0xa8, 0x52, 0x48,
|
||||
0x4b, 0xa4, 0x62, 0x7e, 0x6e, 0x7f, 0x23, 0x39, 0xcd, 0x70, 0xf2, 0x0b, 0xef, 0x3c, 0xb7, 0x13,
|
||||
0x5e, 0x1c, 0x1e, 0x84, 0xe7, 0xa8, 0x14, 0xd8, 0xf2, 0xdb, 0xb1, 0x55, 0xe3, 0xf1, 0x83, 0x2b,
|
||||
0x86, 0x93, 0x5f, 0x2e, 0x1b, 0x4f, 0x7f, 0xb5, 0xa4, 0x4f, 0x8d, 0x90, 0xed, 0x08, 0x34, 0x69,
|
||||
0x36, 0x50, 0x37, 0x4e, 0x42, 0x89, 0x70, 0x20, 0xbb, 0x8f, 0x5e, 0x97, 0xa4, 0xb9, 0x12, 0x2a,
|
||||
0x31, 0x84, 0x1d, 0x00, 0xa3, 0xf8, 0xcc, 0x6f, 0xbc, 0x78, 0xc4, 0x6d, 0x88, 0x3e, 0x6d, 0x9c,
|
||||
0xb8, 0x15, 0x21, 0x31, 0xa0, 0xce, 0x2b, 0x0d, 0xc7, 0x3f, 0xf5, 0x1b, 0x8f, 0x1d, 0x58, 0xd5,
|
||||
0xc7, 0x9d, 0x57, 0xed, 0x08, 0x04, 0x4a, 0x55, 0x8b, 0x4c, 0x42, 0x8d, 0x5a, 0x5e, 0x06, 0x26,
|
||||
0x21, 0x4e, 0xce, 0xa4, 0x15, 0x6b, 0x22, 0x7f, 0x7c, 0x62, 0xf8, 0xe9, 0xf3, 0x25, 0xc3, 0xf1,
|
||||
0x83, 0xcb, 0xba, 0xf4, 0x6b, 0x02, 0x88, 0xdd, 0x51, 0xb3, 0xa9, 0x4c, 0xa2, 0x01, 0x0a, 0xd4,
|
||||
0xdb, 0x5a, 0xb7, 0xe3, 0xd2, 0x8d, 0x6b, 0x94, 0x64, 0xe0, 0x07, 0x5e, 0x01, 0x8c, 0x55, 0xd0,
|
||||
0x6a, 0x1e, 0x1a, 0xcf, 0x7d, 0xe7, 0xb1, 0xa7, 0x45, 0xf9, 0x4c, 0xe1, 0xdf, 0xf8, 0x75, 0x98,
|
||||
0x58, 0xfe, 0x76, 0x5e, 0xec, 0xda, 0x23, 0xc4, 0x8f, 0xc0, 0x24, 0x94, 0xa7, 0x45, 0x51, 0xcd,
|
||||
0x17, 0x8f, 0xf8, 0xad, 0x7f, 0x9e, 0x5c, 0x31, 0x46, 0x84, 0x59, 0xb5, 0x0a, 0xe9, 0xc3, 0xff,
|
||||
0x0d, 0x04, 0x56, 0xe6, 0xfc, 0xe1, 0x27, 0x3c, 0x0c, 0x8f, 0xd3, 0x95, 0x2a, 0xb9, 0x97, 0x88,
|
||||
0xd7, 0xff, 0x71, 0x4a, 0x3f, 0x91, 0xfc, 0xab, 0x4c, 0x33, 0x26, 0x21, 0xee, 0x16, 0xf2, 0xaf,
|
||||
0x20, 0x21, 0x9f, 0x83, 0x6e, 0x69, 0x69, 0x71, 0x66, 0x64, 0x64, 0xac, 0xa6, 0xa7, 0xa7, 0xaf,
|
||||
0x09, 0x8b, 0xc5, 0x2e, 0x71, 0x39, 0x2c, 0x21, 0x04, 0xa9, 0xda, 0x03, 0xcf, 0x10, 0x65, 0x65,
|
||||
0x65, 0xf9, 0x6b, 0x6b, 0x6b, 0xec, 0x5a, 0xcd, 0x18, 0x09, 0x49, 0xaa, 0x54, 0xc8, 0x59, 0x64,
|
||||
0x32, 0xd9, 0x0b, 0x9e, 0xaf, 0xc5, 0xf3, 0xf2, 0xf2, 0x16, 0xb7, 0x05, 0x71, 0x59, 0x1d, 0xa9,
|
||||
0x78, 0x3c, 0xde, 0x8d, 0x42, 0xc5, 0xf9, 0x28, 0x14, 0x32, 0x44, 0x26, 0x93, 0xf4, 0x49, 0x49,
|
||||
0x49, 0x7e, 0x14, 0x0a, 0xe5, 0xd7, 0x6a, 0x55, 0x1d, 0x91, 0x91, 0x91, 0x70, 0x21, 0x16, 0x3b,
|
||||
0x5d, 0x59, 0x59, 0x01, 0xa1, 0xd1, 0xe8, 0x45, 0xa4, 0xdd, 0x50, 0x5f, 0xa7, 0x85, 0x80, 0xb7,
|
||||
0x20, 0xb1, 0x3f, 0x3e, 0x3e, 0x7e, 0xa5, 0xbc, 0xbc, 0xcc, 0x80, 0xf4, 0xad, 0xae, 0x7e, 0x34,
|
||||
0xba, 0x2d, 0x88, 0xd1, 0xde, 0x84, 0xc2, 0xe3, 0x4b, 0x3d, 0x77, 0xef, 0xde, 0x59, 0x0c, 0x0c,
|
||||
0xbf, 0x8d, 0x4e, 0xb7, 0x20, 0x09, 0x07, 0xb8, 0x6c, 0x2e, 0x72, 0x6f, 0xa3, 0x51, 0x39, 0x81,
|
||||
0x58, 0x4e, 0x4e, 0x8e, 0x2f, 0x3f, 0xff, 0xbe, 0x5b, 0x22, 0x11, 0x09, 0xd6, 0x62, 0x6d, 0x34,
|
||||
0xc6, 0x8e, 0x4a, 0x07, 0xf6, 0x91, 0xa4, 0x32, 0x02, 0xe1, 0x79, 0x72, 0x72, 0xb2, 0xaf, 0x8f,
|
||||
0xd9, 0x0b, 0xf5, 0xf6, 0x74, 0x1b, 0x32, 0x33, 0x33, 0xfd, 0x31, 0x31, 0x31, 0x7e, 0x8d, 0x66,
|
||||
0xac, 0x73, 0x23, 0xa8, 0xaa, 0xb2, 0x72, 0x2e, 0x26, 0xe6, 0xc6, 0x2a, 0x9b, 0xcd, 0x52, 0x22,
|
||||
0xb1, 0xdc, 0xdc, 0x5c, 0x00, 0xce, 0x5f, 0x53, 0x69, 0x69, 0x89, 0x7b, 0x4b, 0x10, 0xb2, 0x4d,
|
||||
0x20, 0x0b, 0x21, 0x81, 0x80, 0x5f, 0x88, 0x8a, 0x8a, 0x82, 0xaf, 0x5f, 0xbf, 0xbe, 0x8a, 0x08,
|
||||
0x40, 0xbd, 0x8d, 0x0d, 0xf5, 0x82, 0x40, 0xe9, 0xd6, 0x83, 0x88, 0xc4, 0x87, 0x0b, 0x09, 0x09,
|
||||
0xf1, 0x2b, 0xfd, 0x1c, 0x96, 0x0a, 0x89, 0xe1, 0xf1, 0x25, 0x26, 0x12, 0x91, 0xa8, 0x47, 0x54,
|
||||
0x55, 0x55, 0xa9, 0xa8, 0xda, 0x02, 0x04, 0x36, 0xbe, 0xf4, 0x33, 0xe0, 0xd7, 0x2e, 0x41, 0x40,
|
||||
0xeb, 0x4b, 0xf7, 0x42, 0x1b, 0x40, 0xe3, 0x90, 0x9a, 0x9e, 0x92, 0x92, 0x02, 0x17, 0x16, 0x62,
|
||||
0x1d, 0x01, 0x90, 0x80, 0xdf, 0x5f, 0x1d, 0x78, 0x5f, 0xa3, 0x94, 0x11, 0x4a, 0x4b, 0x0b, 0x2e,
|
||||
0x07, 0x0e, 0x2a, 0x2f, 0xb6, 0xf2, 0x9b, 0xd7, 0xa2, 0xbe, 0x1f, 0x1a, 0xec, 0xcb, 0xfb, 0x2f,
|
||||
0x10, 0x06, 0x83, 0xf1, 0xe1, 0x70, 0x45, 0xcb, 0xb1, 0xb1, 0xb1, 0x30, 0xd2, 0xa6, 0x52, 0x9b,
|
||||
0x79, 0x5b, 0x81, 0x24, 0x62, 0x5e, 0x41, 0xc6, 0x9d, 0xa4, 0x63, 0x2f, 0x6d, 0xe5, 0xff, 0x8c,
|
||||
0xea, 0xdd, 0x0a, 0x12, 0xfe, 0x6a, 0x63, 0x63, 0x9d, 0xb4, 0x82, 0x4c, 0x52, 0x6d, 0x04, 0x81,
|
||||
0x65, 0xa9, 0xb6, 0xb8, 0x18, 0x67, 0x0b, 0x88, 0x00, 0xca, 0x44, 0x6f, 0x7d, 0xcc, 0x42, 0x62,
|
||||
0xfc, 0xc1, 0x81, 0x1e, 0x1c, 0x0e, 0x37, 0x35, 0x2c, 0x11, 0x52, 0x90, 0xf6, 0x98, 0x4c, 0x5c,
|
||||
0xdc, 0xd2, 0x50, 0x85, 0x0a, 0x0e, 0xfe, 0x20, 0x68, 0xcb, 0xe3, 0x56, 0x70, 0x70, 0x70, 0xd0,
|
||||
0x7d, 0xcc, 0x9d, 0xb3, 0xcd, 0xf5, 0x94, 0xbf, 0x98, 0x8c, 0x56, 0x34, 0x93, 0x41, 0xdf, 0xb5,
|
||||
0x5a, 0x9b, 0x6b, 0x6e, 0x15, 0x14, 0x60, 0xce, 0x87, 0x84, 0x7c, 0xbd, 0x1f, 0x7c, 0xfc, 0xab,
|
||||
0x5b, 0x82, 0x02, 0x3f, 0x06, 0xd0, 0xde, 0x13, 0x27, 0x7e, 0xf8, 0x24, 0x3c, 0x3c, 0xfc, 0xc0,
|
||||
0x6e, 0x74, 0x3a, 0x2c, 0x2c, 0x18, 0xe9, 0x0b, 0xf4, 0xf6, 0xc6, 0xbc, 0x7f, 0x03, 0xdc, 0x7e,
|
||||
0xbd, 0xdc, 0x1e, 0xdc, 0x1a, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
|
||||
0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x06, 0x0b, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xad, 0x96, 0x5b, 0x6c, 0x1c,
|
||||
0x57, 0x19, 0xc7, 0xbf, 0x33, 0x33, 0x3b, 0xbb, 0xeb, 0xf5, 0x2d, 0xb6, 0xb3, 0xb6, 0x37, 0x8e,
|
||||
0x9d, 0x26, 0xb5, 0x9a, 0x36, 0x76, 0x93, 0x86, 0xd8, 0x49, 0x21, 0x6e, 0x5a, 0x41, 0x2b, 0x59,
|
||||
0x6d, 0x94, 0xa8, 0x8d, 0x28, 0x12, 0x85, 0x40, 0x84, 0xa8, 0x10, 0x20, 0x51, 0x24, 0x10, 0x25,
|
||||
0x42, 0x20, 0xf2, 0x00, 0x0f, 0x15, 0xa2, 0x49, 0xe1, 0x21, 0x48, 0xa8, 0xaa, 0x48, 0x1f, 0x7a,
|
||||
0x09, 0x02, 0x1a, 0x41, 0xe8, 0x45, 0x8d, 0x4c, 0xd3, 0xa2, 0x36, 0x55, 0x02, 0xa2, 0x97, 0x24,
|
||||
0x8d, 0x5d, 0xdf, 0xbd, 0xf6, 0xda, 0x8e, 0xb3, 0xde, 0x99, 0xf3, 0xdd, 0x0e, 0x0f, 0xbb, 0x76,
|
||||
0x13, 0x68, 0xd5, 0x40, 0xfa, 0x97, 0xbe, 0x39, 0x9a, 0xd1, 0x9c, 0xef, 0x77, 0xfe, 0xf3, 0x3f,
|
||||
0x33, 0x1a, 0xe3, 0x9c, 0x03, 0x63, 0x8c, 0xdf, 0xdb, 0xb3, 0x39, 0xbb, 0xf7, 0x81, 0x2f, 0xec,
|
||||
0xd8, 0xd0, 0xd5, 0xbd, 0xb1, 0xba, 0xba, 0xa6, 0x09, 0x00, 0x9c, 0xaa, 0x3a, 0xe7, 0x9c, 0xaa,
|
||||
0x6a, 0xe5, 0xa8, 0xea, 0x54, 0x2f, 0xbb, 0x5c, 0x39, 0x55, 0x5d, 0xbe, 0x87, 0x05, 0x79, 0x61,
|
||||
0xa1, 0x38, 0x37, 0x36, 0x36, 0x7a, 0xe1, 0xd7, 0x87, 0x1f, 0x7f, 0x65, 0x68, 0x68, 0x78, 0xde,
|
||||
0x39, 0x27, 0x81, 0x31, 0xc6, 0xec, 0xda, 0xd9, 0xdf, 0x71, 0xe0, 0xc0, 0x81, 0x1f, 0xad, 0xbf,
|
||||
0xa9, 0x7b, 0xa7, 0x67, 0xbc, 0x40, 0x9d, 0xa2, 0xaa, 0x5a, 0xa7, 0x8a, 0xaa, 0x8a, 0xaa, 0x62,
|
||||
0x55, 0x15, 0x45, 0x04, 0xe3, 0xe7, 0x8e, 0x34, 0xb8, 0x54, 0x3a, 0xf2, 0xb6, 0xf7, 0x8f, 0x8a,
|
||||
0x30, 0x0a, 0xb3, 0xe5, 0xf2, 0x88, 0xcc, 0x84, 0x44, 0x68, 0x99, 0x28, 0x68, 0x6b, 0x5b, 0xd5,
|
||||
0xd0, 0xd2, 0xda, 0xb2, 0xf6, 0xe0, 0x63, 0x87, 0x9f, 0x32, 0xc6, 0x4c, 0xf8, 0x00, 0x50, 0x7d,
|
||||
0xe8, 0xe0, 0x2f, 0xbe, 0xd1, 0xbb, 0x75, 0xfb, 0x3e, 0x30, 0x00, 0x15, 0x40, 0xac, 0xaa, 0xb6,
|
||||
0x5c, 0xb2, 0x3c, 0xe2, 0x9b, 0xaf, 0xa4, 0xec, 0x6f, 0x7e, 0xde, 0xad, 0xff, 0xf8, 0x7b, 0x8b,
|
||||
0xd6, 0x35, 0xe4, 0x35, 0xd7, 0x51, 0x60, 0x66, 0x2b, 0x4c, 0x96, 0x08, 0x97, 0x0b, 0x6d, 0x6c,
|
||||
0x85, 0x29, 0x4e, 0x24, 0x02, 0x58, 0xdd, 0x96, 0xcb, 0xfe, 0xf9, 0xf8, 0x8b, 0xe7, 0x83, 0xdd,
|
||||
0x3b, 0xfb, 0xb3, 0x9d, 0x9d, 0x37, 0x6c, 0x76, 0xce, 0x51, 0xd9, 0x49, 0x79, 0xf5, 0x4b, 0x6e,
|
||||
0x44, 0xc4, 0xaa, 0x0a, 0xaa, 0x08, 0xf2, 0x6c, 0x3e, 0xe5, 0x37, 0xe7, 0x34, 0x75, 0xe3, 0x66,
|
||||
0xaf, 0xf8, 0xce, 0xe9, 0x5a, 0xde, 0xdc, 0x17, 0x33, 0x91, 0x65, 0x26, 0x64, 0x42, 0x44, 0x42,
|
||||
0x4b, 0x68, 0x11, 0xad, 0x45, 0x66, 0xe2, 0xc0, 0xf7, 0x21, 0x9b, 0x6d, 0x6a, 0x6b, 0x5f, 0xdd,
|
||||
0x96, 0x09, 0xd6, 0xae, 0xbb, 0xae, 0x39, 0x95, 0xae, 0x4a, 0x8b, 0x4a, 0x5c, 0x69, 0x5e, 0x6e,
|
||||
0xac, 0x8a, 0x2a, 0x82, 0xa2, 0x62, 0x55, 0x04, 0x45, 0x04, 0x5d, 0x53, 0xcb, 0x9c, 0x4e, 0x8e,
|
||||
0xf8, 0xda, 0xd9, 0xad, 0x4e, 0x85, 0x08, 0x6d, 0xc4, 0x44, 0x48, 0x84, 0x48, 0x65, 0x02, 0xda,
|
||||
0x38, 0xb2, 0xce, 0x39, 0x07, 0x15, 0x25, 0xc3, 0xa4, 0xbb, 0x6d, 0xfb, 0xad, 0x2b, 0x83, 0xc0,
|
||||
0xf3, 0x3c, 0x55, 0x25, 0x15, 0x89, 0xf4, 0x83, 0x4c, 0xb0, 0xe2, 0xc2, 0x4a, 0x19, 0x56, 0xce,
|
||||
0x62, 0xf5, 0xba, 0x05, 0x2f, 0x59, 0x85, 0xf6, 0xd4, 0xdf, 0x42, 0xb9, 0x71, 0x13, 0x22, 0xda,
|
||||
0x98, 0x10, 0x6d, 0xa9, 0x54, 0x5c, 0x24, 0xb4, 0xa4, 0xaa, 0x0a, 0xff, 0x25, 0x03, 0x61, 0x32,
|
||||
0x0c, 0x3c, 0x00, 0x00, 0x15, 0xe1, 0xf2, 0x23, 0x93, 0x58, 0x84, 0xcb, 0xc5, 0x1c, 0xf3, 0x52,
|
||||
0x11, 0xc5, 0xcc, 0x14, 0xb3, 0x83, 0x88, 0xbb, 0x7a, 0xce, 0xc8, 0xfc, 0x8c, 0xb1, 0x4d, 0xb9,
|
||||
0xd1, 0xf9, 0xb9, 0x42, 0x61, 0x7e, 0x6e, 0x66, 0xce, 0xc6, 0x91, 0xfd, 0x30, 0x88, 0x31, 0xc6,
|
||||
0xf8, 0xbe, 0xef, 0x01, 0x00, 0x04, 0x00, 0x00, 0x22, 0x42, 0x22, 0x12, 0x95, 0x5d, 0x28, 0x8a,
|
||||
0xb0, 0x95, 0xa5, 0x5c, 0x98, 0xad, 0x08, 0x23, 0x33, 0xa3, 0x30, 0xa1, 0x74, 0xf5, 0xbc, 0x95,
|
||||
0x79, 0xf5, 0xf9, 0xde, 0x05, 0xcf, 0x8c, 0xa0, 0x8d, 0xf1, 0xf2, 0xa6, 0x61, 0x98, 0x0c, 0x53,
|
||||
0xe9, 0xaa, 0x54, 0x18, 0x26, 0x53, 0x61, 0x32, 0x95, 0x0a, 0x12, 0x89, 0xe4, 0xd4, 0xe4, 0xc4,
|
||||
0xc2, 0x32, 0x48, 0x55, 0x48, 0x84, 0x63, 0x15, 0xc5, 0x32, 0x80, 0x2d, 0x33, 0xa3, 0x88, 0x60,
|
||||
0x19, 0x42, 0x96, 0x89, 0xb0, 0x78, 0xe9, 0xe2, 0x7c, 0x78, 0x6a, 0xa0, 0x11, 0x00, 0x60, 0xc5,
|
||||
0xe9, 0x57, 0x3f, 0x53, 0xbc, 0xfe, 0xe6, 0xa7, 0x93, 0xa9, 0x74, 0xb2, 0xb6, 0xb6, 0xbe, 0x3e,
|
||||
0x9d, 0xa9, 0xae, 0xf5, 0x8c, 0xe7, 0xc3, 0x47, 0xa8, 0xe2, 0x88, 0x59, 0x44, 0x62, 0x11, 0xae,
|
||||
0x04, 0xcf, 0xc8, 0x2c, 0x28, 0x4c, 0x96, 0x99, 0x91, 0x19, 0x71, 0x7e, 0xae, 0x30, 0x53, 0x5a,
|
||||
0x2c, 0x96, 0xd6, 0x4c, 0x8d, 0x74, 0x57, 0x7d, 0xfa, 0x4e, 0x30, 0x6f, 0x0c, 0xf4, 0xb4, 0xd5,
|
||||
0xaf, 0x38, 0x1d, 0x34, 0x64, 0x3f, 0xb2, 0xf9, 0xe5, 0xf2, 0x00, 0x00, 0x84, 0x85, 0x84, 0x29,
|
||||
0x16, 0x66, 0xcb, 0x44, 0x31, 0x11, 0xc5, 0x4c, 0x18, 0x13, 0xa1, 0xb5, 0x36, 0x2a, 0xcd, 0xe4,
|
||||
0x27, 0x27, 0x4b, 0x8b, 0xc5, 0x52, 0x38, 0x9b, 0xcf, 0x24, 0xa6, 0xc6, 0x6e, 0x5a, 0xf1, 0xe0,
|
||||
0x0f, 0x21, 0xec, 0xdc, 0x00, 0xc9, 0x17, 0x8f, 0xde, 0x02, 0x57, 0x29, 0xaf, 0xe2, 0x88, 0x98,
|
||||
0x39, 0x62, 0xa2, 0x88, 0x98, 0xe2, 0x32, 0x0c, 0xa3, 0x28, 0x2a, 0x5d, 0x9a, 0xc9, 0x4f, 0x4e,
|
||||
0x21, 0x5a, 0x4c, 0xa6, 0xd2, 0xc9, 0xdc, 0xb9, 0x33, 0x77, 0x26, 0x6f, 0xd8, 0xa8, 0x89, 0xb6,
|
||||
0xb5, 0x50, 0xbf, 0xf7, 0xa1, 0xc0, 0x7f, 0xed, 0xa5, 0x2d, 0x66, 0x62, 0x38, 0xf3, 0x3f, 0x81,
|
||||
0x88, 0x28, 0x26, 0xc6, 0x98, 0x08, 0x63, 0x44, 0x1b, 0x5b, 0x1b, 0x47, 0x73, 0x85, 0xe9, 0x82,
|
||||
0xaa, 0x68, 0x63, 0x53, 0xf3, 0xca, 0xd6, 0x5c, 0xfb, 0x9a, 0xe4, 0x3b, 0xa7, 0x6f, 0xa9, 0xdd,
|
||||
0xf5, 0xa5, 0x00, 0x00, 0x20, 0xfd, 0xa9, 0x3e, 0xc8, 0xec, 0xb8, 0xdb, 0x24, 0x8e, 0x3c, 0x7a,
|
||||
0xc7, 0x55, 0x83, 0x98, 0x99, 0x99, 0x31, 0x26, 0xa4, 0x98, 0xd0, 0x46, 0x88, 0x36, 0x9a, 0x9f,
|
||||
0x9b, 0x99, 0x75, 0x4e, 0x5d, 0x73, 0x6b, 0x5b, 0xae, 0xa6, 0xb6, 0xbe, 0xd1, 0xbc, 0x71, 0x22,
|
||||
0x07, 0xd1, 0x62, 0x55, 0x55, 0x5f, 0xff, 0xf2, 0xe4, 0x86, 0x6f, 0xfe, 0xd8, 0x37, 0x17, 0x67,
|
||||
0x9b, 0xbd, 0x3f, 0x3e, 0xb1, 0xfe, 0xe3, 0x40, 0x01, 0x00, 0x00, 0x13, 0x11, 0x21, 0x9a, 0xa5,
|
||||
0xb7, 0xbc, 0x58, 0x5c, 0x58, 0x70, 0xea, 0x5c, 0xeb, 0xaa, 0x8e, 0xf6, 0x44, 0x22, 0x4c, 0x01,
|
||||
0x00, 0x04, 0x2f, 0x3c, 0xbb, 0xb5, 0xee, 0xfe, 0x07, 0x3d, 0x13, 0x26, 0x3f, 0x58, 0x65, 0xa6,
|
||||
0x06, 0xb2, 0xfb, 0x0f, 0xf9, 0x93, 0x0f, 0xef, 0xdd, 0x0e, 0x41, 0x42, 0xa1, 0xb1, 0xb9, 0x68,
|
||||
0xa6, 0xc7, 0x6b, 0x21, 0x91, 0x64, 0x48, 0x67, 0x50, 0xb7, 0xf4, 0x8d, 0x5f, 0x09, 0x62, 0x22,
|
||||
0x44, 0xab, 0x44, 0x68, 0xe3, 0xa8, 0x14, 0x31, 0x11, 0xe7, 0xda, 0x3a, 0x3a, 0x7c, 0x3f, 0x08,
|
||||
0x01, 0x00, 0xbc, 0xd7, 0x5f, 0xce, 0x79, 0xf3, 0xb3, 0x8d, 0x35, 0xf7, 0xee, 0x33, 0x1a, 0x2d,
|
||||
0x02, 0x0d, 0x9e, 0x05, 0x1c, 0x7a, 0x17, 0x68, 0xe8, 0x2c, 0xe0, 0x7b, 0xff, 0x62, 0x63, 0x8c,
|
||||
0xe7, 0x1f, 0x3b, 0x72, 0x3b, 0x78, 0x3e, 0x24, 0xd7, 0x6f, 0x62, 0x65, 0x74, 0x32, 0x39, 0xe2,
|
||||
0xeb, 0xc9, 0xbf, 0xe4, 0xe1, 0x2b, 0x3f, 0x78, 0x62, 0x19, 0x44, 0x44, 0x54, 0xf9, 0x9a, 0x58,
|
||||
0x1b, 0x47, 0xb6, 0xb9, 0x75, 0xf5, 0xaa, 0x25, 0x08, 0x00, 0x80, 0xff, 0xfc, 0x33, 0xdb, 0x12,
|
||||
0xab, 0x3a, 0xfc, 0xa9, 0xfd, 0xfb, 0xd8, 0xfe, 0xf3, 0x75, 0xdf, 0xa4, 0xab, 0xc8, 0x34, 0xb5,
|
||||
0xcc, 0x4b, 0x43, 0x36, 0xef, 0x5a, 0xaf, 0x2b, 0xe8, 0xb6, 0xbb, 0x66, 0xcd, 0xcc, 0x64, 0x26,
|
||||
0x38, 0xfe, 0xd4, 0x6d, 0x3c, 0x3d, 0x1e, 0xa4, 0x7b, 0x76, 0xf8, 0x8b, 0xa3, 0x83, 0xce, 0xad,
|
||||
0xeb, 0x7a, 0xff, 0x0a, 0x47, 0x44, 0x48, 0x9e, 0x71, 0x1c, 0xc7, 0x91, 0x6d, 0x5a, 0xd9, 0x92,
|
||||
0x4d, 0x26, 0x53, 0x19, 0xc0, 0xd8, 0xf7, 0x8e, 0x3f, 0xdd, 0x19, 0x9c, 0x1a, 0xd8, 0xe4, 0x0a,
|
||||
0x53, 0xd5, 0xd6, 0x0f, 0xa6, 0x34, 0xb7, 0xe6, 0x3d, 0xfd, 0xde, 0x23, 0xc3, 0xae, 0xbd, 0x73,
|
||||
0xe1, 0x3f, 0x33, 0x70, 0x00, 0xd3, 0xb6, 0xaf, 0x7f, 0x38, 0x38, 0x71, 0xac, 0x83, 0x06, 0xdf,
|
||||
0x6e, 0xd6, 0xfb, 0xbe, 0x36, 0xe2, 0xb6, 0x7d, 0x6e, 0x0c, 0x26, 0xc7, 0xaf, 0x00, 0xb1, 0x0a,
|
||||
0xc5, 0x75, 0xf5, 0x0d, 0xf5, 0x19, 0x07, 0x59, 0xff, 0xc9, 0xc7, 0xba, 0xfc, 0x33, 0x27, 0x37,
|
||||
0x1a, 0x3f, 0x08, 0xf4, 0xe2, 0xac, 0xa7, 0xbb, 0xbe, 0xfc, 0x92, 0xdc, 0xf5, 0xf9, 0xf3, 0x1f,
|
||||
0x17, 0xb8, 0x09, 0x12, 0x2a, 0x9f, 0xdd, 0x3d, 0x08, 0xb0, 0x7b, 0xf0, 0xc3, 0x77, 0x1d, 0x11,
|
||||
0x57, 0x55, 0x55, 0xa7, 0x1b, 0x4a, 0xc5, 0xeb, 0xc3, 0x47, 0xbe, 0x7b, 0x5f, 0x6a, 0x76, 0x6a,
|
||||
0x73, 0x76, 0xff, 0xa1, 0x30, 0x75, 0xf3, 0x56, 0x67, 0x3a, 0x37, 0x0c, 0x5f, 0x0d, 0xe4, 0xaa,
|
||||
0xb6, 0xb7, 0x31, 0xc6, 0xac, 0xcc, 0x8f, 0x74, 0x27, 0x1e, 0x7d, 0x78, 0x4f, 0x4d, 0x5f, 0x7f,
|
||||
0x75, 0xee, 0xe0, 0xb3, 0xbe, 0xcc, 0xcf, 0x40, 0x74, 0x6a, 0x40, 0xf0, 0x81, 0x87, 0x5e, 0x86,
|
||||
0x4f, 0x40, 0x9e, 0x88, 0x68, 0x5d, 0x7d, 0x43, 0x5d, 0x78, 0xe2, 0xb9, 0xde, 0x9a, 0xfe, 0xfb,
|
||||
0xc3, 0x86, 0x6f, 0xfd, 0xc4, 0x5b, 0xf8, 0xd3, 0xef, 0xa0, 0xf0, 0xcb, 0xfd, 0xc2, 0x7b, 0xbe,
|
||||
0xfe, 0x57, 0x68, 0x6a, 0x89, 0xaf, 0x15, 0x42, 0x48, 0x12, 0x5c, 0x18, 0x1a, 0xce, 0x8b, 0x4a,
|
||||
0xe0, 0x82, 0x10, 0xed, 0xf9, 0xb7, 0x74, 0xfa, 0x67, 0xdf, 0x81, 0xd2, 0xc9, 0x17, 0x98, 0xbe,
|
||||
0xfa, 0xfd, 0x63, 0xae, 0xbb, 0x77, 0xfa, 0x5a, 0x21, 0xa5, 0xc5, 0x45, 0x3e, 0x31, 0x70, 0x32,
|
||||
0xef, 0xfd, 0xfe, 0x0f, 0xc7, 0xa6, 0x27, 0xc7, 0x27, 0x26, 0xe8, 0xee, 0x2f, 0xbe, 0x19, 0xab,
|
||||
0x9e, 0x2d, 0x16, 0xa6, 0xde, 0xa6, 0x6f, 0xff, 0xf4, 0xe8, 0x27, 0x01, 0x11, 0x11, 0x37, 0x3c,
|
||||
0x3c, 0x72, 0x6e, 0x78, 0x64, 0xb4, 0xe4, 0x03, 0x00, 0x11, 0xd3, 0xcc, 0xda, 0x4d, 0x9b, 0xda,
|
||||
0x33, 0x77, 0xdc, 0x93, 0x37, 0x3d, 0xb7, 0x8f, 0x42, 0x5d, 0xa3, 0xbd, 0x56, 0x88, 0xb5, 0x31,
|
||||
0x9f, 0x3b, 0xfb, 0xee, 0xd8, 0xa1, 0x5f, 0x1d, 0x3e, 0x3a, 0x3a, 0x36, 0x3e, 0x6b, 0x2a, 0x3f,
|
||||
0x90, 0xc1, 0xb6, 0xde, 0x2d, 0xcd, 0x7b, 0xee, 0xbd, 0xe7, 0xd6, 0x96, 0x96, 0xd6, 0xb6, 0xea,
|
||||
0xea, 0xea, 0x3a, 0xcf, 0x03, 0xf3, 0xff, 0x00, 0x54, 0x9d, 0xbb, 0xb4, 0x70, 0x71, 0x76, 0x74,
|
||||
0x7c, 0xe2, 0xfd, 0xdf, 0x3e, 0xfe, 0xe4, 0x6b, 0xe7, 0xce, 0x5f, 0x28, 0x38, 0xe7, 0xe4, 0xdf,
|
||||
0x37, 0x89, 0xa4, 0x7d, 0x90, 0x97, 0xe7, 0x08, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
|
||||
0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE datasheet_xpm[1] = {{ png, sizeof( png ), "datasheet_xpm" }};
|
||||
|
|
|
@ -8,84 +8,96 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x04, 0xbb, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x4b, 0x6c, 0x1b,
|
||||
0x55, 0x14, 0x86, 0xbf, 0x7b, 0x67, 0xfc, 0x4a, 0x1c, 0xdb, 0x72, 0xd3, 0x34, 0x4a, 0xe3, 0x28,
|
||||
0xa5, 0xb1, 0xe2, 0x3a, 0x21, 0x88, 0x22, 0x0a, 0x34, 0x52, 0xda, 0xaa, 0xa2, 0x5d, 0x20, 0xd2,
|
||||
0xec, 0x40, 0xa2, 0x11, 0x0b, 0x58, 0x50, 0x56, 0xac, 0x91, 0x8a, 0x58, 0x21, 0x58, 0x74, 0xd3,
|
||||
0x15, 0xad, 0x94, 0x45, 0x57, 0x45, 0x42, 0x42, 0x65, 0x55, 0xb1, 0xa0, 0x40, 0xc5, 0x06, 0xa5,
|
||||
0x4f, 0x35, 0xcd, 0x4b, 0x4e, 0x1f, 0x4e, 0x5b, 0x8b, 0x46, 0x69, 0x1c, 0xb7, 0x71, 0x33, 0x9e,
|
||||
0xc7, 0x61, 0x41, 0xc6, 0xb2, 0x63, 0x07, 0xe8, 0x86, 0x2b, 0xfd, 0x9a, 0x3b, 0x9a, 0x3b, 0xf7,
|
||||
0x3f, 0xff, 0x39, 0x67, 0xfe, 0x3b, 0x4a, 0x44, 0xf8, 0x3f, 0x86, 0x09, 0x70, 0xf6, 0xec, 0xd9,
|
||||
0xf3, 0x4a, 0xa9, 0xf7, 0x4d, 0xd3, 0xc4, 0x30, 0x0c, 0x44, 0x04, 0xc7, 0x71, 0x70, 0x5d, 0x17,
|
||||
0xc7, 0x71, 0xaa, 0x78, 0xd1, 0x7b, 0xad, 0xf5, 0xb7, 0x13, 0x13, 0x13, 0x27, 0x00, 0x38, 0x7d,
|
||||
0xfa, 0x74, 0xec, 0xcc, 0x99, 0x33, 0x15, 0xdb, 0xb6, 0xc5, 0x75, 0xdd, 0xa6, 0x70, 0x1c, 0xa7,
|
||||
0x0a, 0xdb, 0xb6, 0xeb, 0x50, 0xa9, 0x54, 0xaa, 0xb0, 0x2c, 0xab, 0x8a, 0x52, 0xa9, 0x24, 0xe3,
|
||||
0xe3, 0xe3, 0x9e, 0x88, 0x20, 0x22, 0x98, 0xae, 0xeb, 0x6a, 0xad, 0xb5, 0xa7, 0x94, 0x22, 0x9f,
|
||||
0xcf, 0xa3, 0x94, 0x02, 0x40, 0x29, 0x55, 0x37, 0x6f, 0x76, 0xdd, 0x6a, 0x68, 0xad, 0x49, 0x24,
|
||||
0x12, 0x88, 0x88, 0xaa, 0x4b, 0x9d, 0xe7, 0x79, 0x4d, 0x37, 0x6f, 0x36, 0xff, 0x2f, 0x44, 0xcd,
|
||||
0x9e, 0x9b, 0x00, 0xae, 0xeb, 0x02, 0x50, 0x2a, 0x95, 0x58, 0x59, 0x59, 0xa1, 0xa7, 0xa7, 0x07,
|
||||
0xad, 0x35, 0x0b, 0x0b, 0x0b, 0x6c, 0x6e, 0x96, 0x7f, 0x22, 0x11, 0x11, 0xfa, 0xfb, 0xfb, 0xab,
|
||||
0x6b, 0x6a, 0xdf, 0x6d, 0x50, 0xd4, 0xd7, 0xd7, 0x47, 0x28, 0x14, 0xa2, 0x5c, 0x2e, 0x93, 0x4e,
|
||||
0xa7, 0x5f, 0x28, 0x7d, 0x22, 0x82, 0xd6, 0x1a, 0xad, 0x75, 0x23, 0xd1, 0xea, 0xea, 0x2a, 0x89,
|
||||
0x44, 0x02, 0x80, 0x44, 0x22, 0x81, 0x52, 0x0a, 0xcb, 0xb2, 0x50, 0x4a, 0x91, 0xcb, 0xe5, 0xea,
|
||||
0x16, 0x6f, 0xde, 0x5c, 0x44, 0x18, 0x18, 0x18, 0xd8, 0x32, 0x75, 0x0d, 0x8a, 0x5c, 0xd7, 0x45,
|
||||
0x44, 0x50, 0x4a, 0x55, 0x1f, 0x2a, 0xa5, 0x48, 0xa7, 0xd3, 0xd5, 0xe8, 0x9a, 0x35, 0x87, 0xaf,
|
||||
0x60, 0x33, 0xb9, 0xbf, 0xb6, 0x81, 0xc8, 0x71, 0x9c, 0xa6, 0x11, 0xfd, 0x9b, 0xa2, 0x66, 0x0a,
|
||||
0xb3, 0xd9, 0x6c, 0xf5, 0xde, 0x2f, 0x49, 0x43, 0x33, 0xf8, 0x91, 0xf8, 0x1b, 0xf8, 0x85, 0xad,
|
||||
0x55, 0x92, 0xcb, 0xe5, 0xb0, 0x6d, 0x9b, 0xb6, 0xb6, 0x36, 0x4c, 0xd3, 0xa4, 0x58, 0x2c, 0xb2,
|
||||
0xbe, 0xbe, 0x4e, 0x36, 0x9b, 0x25, 0x14, 0x0a, 0xd5, 0x29, 0x6c, 0x20, 0xb2, 0x6d, 0xbb, 0x4e,
|
||||
0xb2, 0xbf, 0xf1, 0xfc, 0xfc, 0x7c, 0x55, 0x91, 0x65, 0x59, 0x88, 0x08, 0x83, 0x43, 0xaf, 0xf0,
|
||||
0xd3, 0xd5, 0x87, 0x4c, 0xdd, 0x5c, 0xc2, 0x71, 0x3c, 0xd2, 0xdd, 0x09, 0xde, 0x79, 0xa3, 0x8f,
|
||||
0xc5, 0xc5, 0xfb, 0x14, 0x0a, 0x05, 0x46, 0x46, 0x46, 0x30, 0x0c, 0xa3, 0x91, 0xa8, 0x58, 0x2c,
|
||||
0x12, 0x8b, 0xc5, 0xea, 0xd2, 0xb1, 0x59, 0x91, 0xe7, 0x79, 0xcc, 0xcc, 0xcc, 0xd0, 0xb2, 0xbd,
|
||||
0x97, 0x93, 0xe7, 0xae, 0x71, 0x6c, 0x64, 0x0f, 0x1f, 0x0e, 0xec, 0xc2, 0xb2, 0x3d, 0xee, 0x14,
|
||||
0x56, 0xf9, 0xea, 0xbb, 0x9b, 0x1c, 0x7d, 0xb5, 0x93, 0x3d, 0xe9, 0x34, 0x4b, 0x4b, 0x4b, 0x74,
|
||||
0x76, 0x76, 0x36, 0x57, 0xe4, 0x38, 0x4e, 0xc3, 0x47, 0x09, 0x30, 0x37, 0x37, 0x87, 0x88, 0xf0,
|
||||
0xf8, 0xf1, 0x63, 0x5e, 0x7f, 0x73, 0x98, 0x2f, 0xce, 0x5d, 0xe5, 0xb3, 0xf7, 0xf6, 0xd1, 0xb5,
|
||||
0x2d, 0x8a, 0xe3, 0x7a, 0x94, 0x2d, 0x9b, 0x4c, 0x77, 0x8c, 0x64, 0x6c, 0x88, 0xef, 0x7f, 0xbe,
|
||||
0x4d, 0x3a, 0xd5, 0xcf, 0xfd, 0x85, 0x5b, 0x74, 0x74, 0x74, 0x6c, 0x5d, 0xa3, 0x66, 0xa9, 0xcb,
|
||||
0x64, 0x32, 0x68, 0xad, 0xb1, 0x2c, 0x8b, 0x1f, 0x7e, 0xbf, 0xcb, 0xdb, 0x6f, 0xf5, 0x13, 0x8f,
|
||||
0x46, 0x70, 0x3c, 0x01, 0xa5, 0x09, 0x06, 0x02, 0x78, 0x68, 0x44, 0x2a, 0xbc, 0x36, 0xd8, 0xc3,
|
||||
0xc4, 0xc5, 0x69, 0x4e, 0x1c, 0xdd, 0xc5, 0xf2, 0xf2, 0x32, 0x91, 0x48, 0xa4, 0xb9, 0xa2, 0x66,
|
||||
0x63, 0x7e, 0x7e, 0x1e, 0xdb, 0xb6, 0x31, 0x4d, 0x93, 0x85, 0x47, 0x25, 0x76, 0xf7, 0xec, 0xe0,
|
||||
0xe9, 0xb3, 0x32, 0xeb, 0xa6, 0x42, 0x21, 0xb8, 0xae, 0xc7, 0xda, 0xba, 0xcd, 0x83, 0x47, 0x4b,
|
||||
0xd8, 0x15, 0xe1, 0xb9, 0xe5, 0x10, 0x0e, 0x87, 0x29, 0x14, 0x0a, 0x74, 0x77, 0x77, 0xd7, 0xfb,
|
||||
0x5f, 0xb1, 0x58, 0xac, 0x76, 0xdd, 0xe6, 0x3a, 0x65, 0x32, 0x19, 0x32, 0x99, 0x0c, 0x86, 0x61,
|
||||
0x60, 0x1a, 0x0a, 0xcc, 0x20, 0xda, 0x0c, 0x12, 0x0c, 0x86, 0x88, 0x44, 0x22, 0x44, 0x5a, 0x5a,
|
||||
0xc0, 0x0c, 0x93, 0xda, 0xd9, 0x49, 0x57, 0xe7, 0x76, 0x42, 0xc1, 0x00, 0x96, 0x65, 0xe1, 0x79,
|
||||
0x5e, 0x43, 0x19, 0xaa, 0x8a, 0x6a, 0x53, 0xe7, 0x8f, 0xd9, 0xd9, 0x59, 0x3c, 0xcf, 0x63, 0x6d,
|
||||
0x6d, 0x8d, 0xc1, 0xde, 0x76, 0xae, 0xdc, 0xbe, 0xc7, 0xb3, 0xd5, 0x36, 0xa2, 0x21, 0x8d, 0x16,
|
||||
0x07, 0x25, 0x36, 0xcf, 0x6d, 0xc5, 0xba, 0xa3, 0x58, 0x29, 0x7b, 0x84, 0x03, 0x42, 0xb9, 0x5c,
|
||||
0x26, 0x99, 0x4c, 0x36, 0x3a, 0xba, 0xdf, 0xde, 0x00, 0x4f, 0x9e, 0x3c, 0x61, 0x7a, 0x7a, 0x1a,
|
||||
0xcb, 0xb2, 0xaa, 0x35, 0x1a, 0x1c, 0x1c, 0x44, 0x6b, 0xcd, 0xb1, 0xfd, 0xbb, 0x78, 0xf8, 0xe7,
|
||||
0x53, 0x08, 0x44, 0x69, 0x8d, 0x6f, 0x63, 0xfb, 0x8e, 0x9d, 0x74, 0xa5, 0x76, 0xd3, 0xd3, 0xd3,
|
||||
0x4b, 0x47, 0x67, 0x17, 0x33, 0xf9, 0xa7, 0x7c, 0x3a, 0x3a, 0xc4, 0xf5, 0xeb, 0xd7, 0x49, 0xa5,
|
||||
0x52, 0xcd, 0xdd, 0xdb, 0xaf, 0x91, 0x61, 0x18, 0xa4, 0xd3, 0x69, 0x5a, 0x5b, 0x5b, 0xa9, 0x54,
|
||||
0x2a, 0xcc, 0xce, 0xce, 0x22, 0x22, 0x84, 0xc3, 0x61, 0x2e, 0x5f, 0xfe, 0x8d, 0x93, 0xe3, 0x07,
|
||||
0xf8, 0xe6, 0xfc, 0x24, 0xd1, 0x48, 0x80, 0x9d, 0xed, 0x61, 0xa2, 0xad, 0x11, 0xd6, 0x2a, 0x26,
|
||||
0x53, 0xb9, 0x02, 0x9f, 0xbc, 0x3b, 0x40, 0x40, 0x39, 0x58, 0x96, 0xc5, 0xe4, 0xe4, 0x24, 0xc3,
|
||||
0xc3, 0xc3, 0xf5, 0x44, 0xc5, 0x62, 0x91, 0x78, 0x3c, 0x8e, 0x88, 0x10, 0x8f, 0xc7, 0xd1, 0x5a,
|
||||
0x57, 0x15, 0xf6, 0xf7, 0xf7, 0x63, 0x18, 0x06, 0x4a, 0x29, 0x8a, 0xc5, 0x22, 0xd7, 0xfe, 0xb8,
|
||||
0xcc, 0x97, 0xe3, 0xc3, 0xdc, 0x5b, 0x5a, 0xe7, 0xd6, 0x9d, 0x65, 0xca, 0x65, 0x9b, 0x97, 0x5f,
|
||||
0x4a, 0xf0, 0xc1, 0x81, 0x7d, 0x5c, 0xbd, 0x32, 0x89, 0x93, 0x48, 0x10, 0x0a, 0x85, 0xc8, 0xe7,
|
||||
0xf3, 0x2c, 0x2e, 0x2e, 0x36, 0xa6, 0xae, 0xb6, 0xeb, 0x6a, 0xbd, 0xad, 0xd6, 0x50, 0x93, 0xc9,
|
||||
0x24, 0x87, 0x0f, 0x1f, 0x26, 0x97, 0xcb, 0xf1, 0x60, 0xee, 0x0a, 0xa9, 0xd0, 0x12, 0x43, 0x1d,
|
||||
0xcf, 0x59, 0xbe, 0x7b, 0x8d, 0x5f, 0x7f, 0xb9, 0x44, 0xa9, 0x54, 0x22, 0x9f, 0xcf, 0xfb, 0x27,
|
||||
0x2b, 0x22, 0x42, 0x7b, 0x7b, 0x3b, 0xa3, 0xa3, 0xa3, 0x2d, 0x00, 0x66, 0x20, 0x10, 0x10, 0xcb,
|
||||
0xb2, 0xb4, 0xaf, 0xa8, 0xd6, 0xa7, 0x6a, 0x7d, 0xcb, 0x0f, 0x60, 0xef, 0xde, 0xbd, 0x78, 0x9e,
|
||||
0x87, 0xeb, 0xba, 0xd8, 0xb6, 0x5d, 0xb5, 0x1b, 0xa5, 0x14, 0x97, 0x2e, 0xfd, 0x4d, 0xd8, 0xd6,
|
||||
0xd6, 0x46, 0xa5, 0x52, 0xe1, 0xe0, 0xc1, 0x83, 0x4c, 0x4d, 0x4d, 0xcd, 0x1f, 0x39, 0x72, 0x64,
|
||||
0x9f, 0x02, 0x92, 0x63, 0x63, 0x63, 0x3f, 0x2a, 0xa5, 0xf6, 0xfb, 0x2f, 0xd5, 0xda, 0xbd, 0x3f,
|
||||
0xf7, 0x3c, 0xaf, 0xee, 0xea, 0xc3, 0x3f, 0x0e, 0x6a, 0x8f, 0x86, 0x43, 0x87, 0x0e, 0xe9, 0xde,
|
||||
0xde, 0x5e, 0x5a, 0x5a, 0x5a, 0x48, 0xa5, 0x52, 0x9c, 0x3a, 0x75, 0xea, 0xa2, 0x09, 0x78, 0x17,
|
||||
0x2e, 0x5c, 0xf8, 0x38, 0x16, 0x8b, 0xf5, 0x2a, 0xa5, 0xa2, 0x7e, 0x83, 0x00, 0x0a, 0x10, 0x40,
|
||||
0x89, 0x88, 0x29, 0x22, 0x06, 0x60, 0x88, 0x88, 0x21, 0x22, 0xda, 0x9f, 0x6f, 0xa4, 0x5f, 0x01,
|
||||
0x9e, 0x52, 0xca, 0x03, 0xec, 0x1b, 0x37, 0x6e, 0xc4, 0x8e, 0x1f, 0x3f, 0xfe, 0xf9, 0xd8, 0xd8,
|
||||
0x58, 0x3c, 0x1a, 0x8d, 0x12, 0x0c, 0x06, 0x5d, 0xb5, 0x11, 0x8d, 0x06, 0xc2, 0x1b, 0x08, 0x6e,
|
||||
0xf5, 0x73, 0xb3, 0x11, 0x84, 0xb1, 0x01, 0x5d, 0x43, 0xc2, 0x46, 0x50, 0x02, 0xb8, 0xc0, 0x7a,
|
||||
0x2a, 0x95, 0xf2, 0xb2, 0xd9, 0xec, 0x47, 0xf1, 0x78, 0x3c, 0xb9, 0xbc, 0xbc, 0xfc, 0xf5, 0x5f,
|
||||
0x8c, 0x86, 0xc8, 0x61, 0x09, 0x89, 0x45, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
|
||||
0xae, 0x42, 0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x05, 0x7d, 0x49, 0x44, 0x41, 0x54, 0x48, 0x4b, 0xbd, 0x95, 0xd9, 0x4f, 0x54,
|
||||
0x67, 0x18, 0xc6, 0x69, 0xaf, 0x9a, 0x36, 0x05, 0xda, 0x9b, 0x36, 0xbd, 0xed, 0x45, 0xfb, 0x87,
|
||||
0x34, 0xe9, 0x0d, 0x91, 0x75, 0x2c, 0xbb, 0x06, 0x4c, 0x34, 0x46, 0x22, 0x2d, 0x09, 0x04, 0x90,
|
||||
0xcd, 0x85, 0x04, 0x8b, 0x28, 0x16, 0x94, 0x4d, 0x36, 0x45, 0x10, 0x18, 0x86, 0x75, 0x70, 0x1a,
|
||||
0xa2, 0xec, 0xc8, 0x80, 0xc8, 0x3e, 0x08, 0x38, 0x1b, 0x30, 0x2c, 0xb3, 0x00, 0x0e, 0xe8, 0x08,
|
||||
0xd2, 0xa7, 0xdf, 0xfb, 0xea, 0x39, 0x72, 0xac, 0x4d, 0xd3, 0x34, 0xe9, 0x24, 0xcf, 0xcc, 0x9c,
|
||||
0x93, 0x73, 0xbe, 0xdf, 0xf7, 0xbc, 0xdb, 0xe7, 0x05, 0xc0, 0xeb, 0xff, 0x10, 0x7f, 0x15, 0x17,
|
||||
0x17, 0xd7, 0x96, 0x94, 0x94, 0xa0, 0xbc, 0xbc, 0x1c, 0x55, 0x55, 0x55, 0xa8, 0xac, 0xac, 0x44,
|
||||
0x59, 0x59, 0x19, 0xc4, 0x7d, 0x14, 0x16, 0x16, 0x22, 0x3f, 0x3f, 0x1f, 0x57, 0xae, 0x5c, 0xc1,
|
||||
0xe5, 0xcb, 0x97, 0x91, 0x9d, 0x9d, 0x8d, 0xf3, 0xe7, 0xcf, 0x23, 0x3d, 0x3d, 0x1d, 0xa9, 0xa9,
|
||||
0xa9, 0x48, 0x4a, 0x4a, 0x42, 0x42, 0x42, 0x02, 0xce, 0x9e, 0x3d, 0x8b, 0x33, 0x67, 0xce, 0xe0,
|
||||
0xd4, 0xa9, 0x53, 0x38, 0x71, 0xe2, 0x04, 0x8e, 0x1f, 0x3f, 0x8e, 0x98, 0x98, 0x98, 0x9b, 0x32,
|
||||
0xe8, 0xfa, 0xf5, 0xeb, 0xde, 0x62, 0xc1, 0xbd, 0xfd, 0xfd, 0x7d, 0x1c, 0x1c, 0x1c, 0x7c, 0x50,
|
||||
0xaf, 0x5f, 0xbf, 0x96, 0x45, 0xcf, 0x1d, 0xd6, 0xde, 0xde, 0x9e, 0xac, 0x57, 0xaf, 0x5e, 0xc9,
|
||||
0x7a, 0xfe, 0xfc, 0x39, 0xa2, 0xa2, 0xa2, 0xfe, 0x90, 0x41, 0x57, 0xaf, 0x5e, 0xf5, 0x2d, 0x2d,
|
||||
0x2d, 0xf5, 0xd0, 0x22, 0x26, 0x93, 0x09, 0x66, 0xb3, 0x99, 0x65, 0xb1, 0x58, 0x60, 0xb5, 0x5a,
|
||||
0x59, 0x4b, 0x4b, 0x4b, 0x18, 0x1e, 0x1e, 0x46, 0x7b, 0x7b, 0x3b, 0x6e, 0xdf, 0xbe, 0xcd, 0xce,
|
||||
0x6b, 0x6b, 0x6b, 0xa1, 0xd3, 0xe9, 0x30, 0x3d, 0x3d, 0x8d, 0x95, 0x95, 0x15, 0x85, 0x56, 0x57,
|
||||
0x57, 0xf1, 0xf2, 0xe5, 0x4b, 0x44, 0x46, 0x46, 0x42, 0x01, 0x12, 0x8e, 0x18, 0x24, 0x01, 0x24,
|
||||
0x08, 0x01, 0xe6, 0xe7, 0xe7, 0x51, 0x53, 0x53, 0x83, 0xb1, 0xb1, 0x31, 0x38, 0x1c, 0x0e, 0x6c,
|
||||
0x6f, 0x6f, 0xc3, 0xe1, 0xda, 0xc4, 0xd6, 0xd6, 0x16, 0xd6, 0xd6, 0xd6, 0xa0, 0x56, 0xab, 0x79,
|
||||
0x03, 0xf4, 0xac, 0xcd, 0x66, 0x63, 0xd1, 0xfd, 0x0f, 0x82, 0x6e, 0xdc, 0xb8, 0xc1, 0xa0, 0xc9,
|
||||
0xc9, 0x49, 0xf4, 0xf4, 0xf4, 0xb0, 0x33, 0x82, 0x69, 0xb5, 0x5a, 0xdc, 0xbd, 0x7b, 0x17, 0x9b,
|
||||
0x9b, 0x9b, 0x68, 0xed, 0x99, 0x46, 0x58, 0x66, 0x33, 0x82, 0x52, 0x9b, 0xa0, 0x4a, 0xd7, 0x20,
|
||||
0xe4, 0x5c, 0x13, 0x7e, 0xc9, 0xd7, 0xc1, 0xb6, 0xe1, 0xe2, 0xcd, 0x88, 0x35, 0xd0, 0xd5, 0xd5,
|
||||
0xc5, 0x8e, 0xd6, 0xd7, 0xd7, 0x19, 0x14, 0x11, 0x11, 0xa1, 0x04, 0x15, 0x14, 0x14, 0x30, 0x68,
|
||||
0x6a, 0x6a, 0x8a, 0x1f, 0xa4, 0x9d, 0x93, 0x3b, 0x2a, 0x0c, 0x72, 0x10, 0x2f, 0x16, 0x8c, 0xc9,
|
||||
0xe9, 0x84, 0x76, 0xc4, 0x8a, 0x09, 0xa3, 0x13, 0xa6, 0x75, 0x37, 0x9e, 0x2e, 0x6f, 0xa1, 0xee,
|
||||
0xe1, 0x02, 0x02, 0x52, 0xd4, 0xe8, 0x7d, 0xbc, 0x88, 0xd9, 0xd9, 0x59, 0xb4, 0xb4, 0xb4, 0x30,
|
||||
0xc4, 0x6e, 0xb7, 0x33, 0x28, 0x3c, 0x3c, 0xfc, 0x1d, 0x28, 0x33, 0x33, 0xd3, 0xf7, 0xda, 0xb5,
|
||||
0x6b, 0x0c, 0x92, 0xec, 0x13, 0x4c, 0xa3, 0xd1, 0xc0, 0x68, 0x34, 0xa2, 0xac, 0x59, 0x8f, 0x58,
|
||||
0x01, 0x69, 0x1b, 0x5a, 0xc4, 0xe3, 0xf9, 0x35, 0xcc, 0x5a, 0x1c, 0x30, 0xad, 0x8a, 0xb0, 0xb9,
|
||||
0x76, 0x61, 0x73, 0xb8, 0xd1, 0x33, 0xb5, 0x0a, 0xff, 0x64, 0x35, 0xec, 0xae, 0x6d, 0x34, 0x34,
|
||||
0x34, 0x70, 0x54, 0x68, 0xa3, 0x04, 0x0a, 0x0b, 0x0b, 0x53, 0x82, 0x44, 0xe9, 0x7a, 0xa8, 0x82,
|
||||
0x96, 0x97, 0x97, 0xe5, 0x84, 0x8a, 0xfb, 0x70, 0x8a, 0x5c, 0xd0, 0x22, 0x45, 0x5a, 0x03, 0x3a,
|
||||
0x47, 0x97, 0xd8, 0xcd, 0x9c, 0x70, 0x62, 0x5a, 0x73, 0x63, 0xc9, 0xbe, 0xc3, 0x32, 0x0b, 0x77,
|
||||
0x85, 0x2d, 0x93, 0xb8, 0x54, 0xd9, 0x83, 0xb9, 0xb9, 0x39, 0xb4, 0xb6, 0xb6, 0xc2, 0xe9, 0x74,
|
||||
0xc2, 0xe3, 0xf1, 0x20, 0x34, 0x34, 0x54, 0x09, 0xca, 0xc9, 0xc9, 0x51, 0x80, 0x9e, 0x3d, 0x7b,
|
||||
0xc6, 0xa0, 0xc1, 0x27, 0x0b, 0x88, 0xbe, 0xd8, 0x86, 0x5f, 0xef, 0xe9, 0x51, 0xdc, 0x36, 0x8e,
|
||||
0xc1, 0x99, 0x15, 0x8c, 0x0a, 0x57, 0x93, 0x46, 0x3b, 0x66, 0xcd, 0x76, 0x18, 0x2c, 0x76, 0xcc,
|
||||
0x98, 0xd6, 0xd1, 0x31, 0x60, 0x40, 0x44, 0x96, 0x86, 0x0b, 0xe8, 0xd6, 0xad, 0x5b, 0x32, 0xe8,
|
||||
0xe8, 0xd1, 0xa3, 0x4a, 0x90, 0x68, 0x42, 0x06, 0x11, 0x84, 0x42, 0xd7, 0xdb, 0xdb, 0x8b, 0xdc,
|
||||
0xdc, 0x5c, 0xdc, 0xd1, 0x8e, 0x22, 0xee, 0xb7, 0x07, 0x28, 0xee, 0x9c, 0x63, 0xb5, 0xe9, 0xad,
|
||||
0x18, 0x59, 0xb0, 0x63, 0x5c, 0x38, 0x9b, 0xb5, 0x8a, 0x22, 0x58, 0xd9, 0xc2, 0xa2, 0xd0, 0xe3,
|
||||
0xf9, 0x75, 0x84, 0x65, 0x68, 0x38, 0xf4, 0xa2, 0x2f, 0xe1, 0x72, 0xb9, 0x18, 0x14, 0x12, 0x12,
|
||||
0xa2, 0x04, 0x65, 0x65, 0x65, 0x79, 0xa8, 0xe1, 0x08, 0x42, 0x3d, 0x40, 0x89, 0x8d, 0x8b, 0x8b,
|
||||
0xc3, 0x83, 0x47, 0xd3, 0x88, 0xbc, 0xd0, 0x82, 0xdc, 0xfa, 0x11, 0x59, 0xd5, 0xbf, 0xcf, 0xe0,
|
||||
0xe1, 0x13, 0x33, 0x06, 0xa6, 0x2c, 0x18, 0x9e, 0xb6, 0x60, 0x64, 0xc6, 0x8c, 0xd6, 0xee, 0x31,
|
||||
0x44, 0xbe, 0x75, 0x54, 0x54, 0x54, 0xc4, 0xa5, 0x4f, 0xa0, 0xa0, 0xa0, 0xa0, 0x77, 0xa0, 0xf8,
|
||||
0xf8, 0x78, 0x5f, 0x31, 0x4e, 0x64, 0x10, 0xf5, 0x00, 0x55, 0x0e, 0x55, 0x8c, 0x75, 0x69, 0x19,
|
||||
0x7e, 0x49, 0x0d, 0xec, 0xa6, 0xe4, 0xfe, 0x53, 0x59, 0x77, 0x1e, 0x2c, 0xa2, 0x5d, 0x6f, 0x41,
|
||||
0xef, 0xe4, 0x0a, 0x1e, 0x19, 0x6c, 0xa8, 0xd2, 0x4d, 0xe1, 0x62, 0xf9, 0x43, 0xce, 0x51, 0x63,
|
||||
0x63, 0xa3, 0x0c, 0x0a, 0x08, 0x08, 0x50, 0x82, 0x52, 0x52, 0x52, 0x38, 0x74, 0xe4, 0x46, 0x02,
|
||||
0xd1, 0x2c, 0x1b, 0x1a, 0x1a, 0x42, 0x91, 0xfa, 0x91, 0xa8, 0x3a, 0xad, 0xc2, 0x55, 0xbe, 0x5a,
|
||||
0x8f, 0xa2, 0xe6, 0x61, 0x54, 0xb4, 0x0d, 0xa3, 0xe6, 0xfe, 0x08, 0x54, 0x69, 0x1a, 0xac, 0x6e,
|
||||
0x38, 0x51, 0x5f, 0x5f, 0x8f, 0xf1, 0xf1, 0x71, 0x6e, 0x09, 0x02, 0x1d, 0x39, 0x72, 0x44, 0x09,
|
||||
0x12, 0x83, 0x91, 0x1d, 0x49, 0x90, 0x8d, 0x8d, 0x0d, 0x18, 0x0c, 0x06, 0x1c, 0x3b, 0x76, 0x8c,
|
||||
0x9b, 0x35, 0x2e, 0x4f, 0x8b, 0xa8, 0x4b, 0x5a, 0xdc, 0xd4, 0xce, 0xa1, 0x54, 0x37, 0x8f, 0x8a,
|
||||
0xae, 0x05, 0xdc, 0xeb, 0x33, 0xa2, 0x40, 0x54, 0x1b, 0x35, 0x70, 0xff, 0xb8, 0x91, 0x1b, 0x5c,
|
||||
0xb4, 0x09, 0xfa, 0xfb, 0xfb, 0x79, 0xce, 0x51, 0x79, 0xfb, 0xf9, 0xf9, 0x29, 0x41, 0x62, 0xfa,
|
||||
0xfe, 0x05, 0x44, 0xbf, 0x34, 0xb9, 0xd3, 0xd2, 0xd2, 0xde, 0x4c, 0x86, 0xde, 0x19, 0xa8, 0xce,
|
||||
0xa9, 0x45, 0xb9, 0x37, 0x20, 0x38, 0x55, 0xcd, 0xfa, 0x39, 0xff, 0x3e, 0xd6, 0x1c, 0x5b, 0xfc,
|
||||
0xbc, 0x5e, 0xaf, 0xe7, 0x86, 0xad, 0xae, 0xae, 0xe6, 0x89, 0xf2, 0xe2, 0xc5, 0x0b, 0x25, 0x48,
|
||||
0x8c, 0x73, 0x5f, 0x01, 0x53, 0x80, 0xa8, 0xb3, 0xe9, 0x65, 0x6a, 0xbc, 0xe6, 0xe6, 0x66, 0x9e,
|
||||
0x59, 0xb4, 0x53, 0x8a, 0xbd, 0x7b, 0x67, 0x87, 0x9b, 0x73, 0x77, 0x77, 0x97, 0x9f, 0xa3, 0xbe,
|
||||
0xa1, 0xbc, 0xd0, 0xa0, 0xcd, 0xc8, 0xc8, 0xe0, 0x69, 0x42, 0x21, 0x24, 0xf9, 0xfb, 0xfb, 0x2b,
|
||||
0x41, 0xe2, 0x1c, 0xf1, 0xd0, 0x68, 0x97, 0xdc, 0x48, 0x20, 0x5a, 0x9c, 0x4a, 0xbd, 0xb3, 0xb3,
|
||||
0x13, 0x89, 0x89, 0x89, 0x5c, 0x20, 0xd1, 0xd1, 0xd1, 0x7c, 0xf6, 0x9c, 0x3c, 0x79, 0x12, 0xc9,
|
||||
0xc9, 0xc9, 0xa8, 0xab, 0xab, 0x63, 0xe7, 0x4d, 0x4d, 0x4d, 0x5c, 0x71, 0x14, 0x01, 0x3a, 0xc7,
|
||||
0xe8, 0x9a, 0x7a, 0x51, 0x9c, 0x61, 0xdf, 0xc8, 0x20, 0xf1, 0x12, 0x83, 0x28, 0x2f, 0xdd, 0xdd,
|
||||
0xdd, 0xdc, 0xb8, 0x92, 0x23, 0xea, 0x09, 0x0a, 0x1d, 0xb9, 0xa1, 0x24, 0x93, 0x6b, 0x2a, 0x7f,
|
||||
0xba, 0xa6, 0xf0, 0x50, 0x2e, 0xe8, 0x3f, 0x0d, 0x5f, 0x1a, 0x41, 0x15, 0x15, 0x15, 0x5c, 0x48,
|
||||
0xd4, 0x4f, 0x14, 0x4a, 0x31, 0x75, 0x6c, 0x02, 0xf6, 0x3d, 0x83, 0x62, 0x63, 0x63, 0x19, 0x44,
|
||||
0x53, 0x98, 0x9a, 0x96, 0x5e, 0x94, 0x1c, 0xf5, 0xf5, 0xf5, 0xc9, 0xa2, 0xeb, 0x81, 0x81, 0x01,
|
||||
0xd6, 0xe0, 0xe0, 0x20, 0x9f, 0x45, 0x54, 0x5d, 0x14, 0x76, 0x02, 0xd2, 0x71, 0x41, 0x47, 0x0a,
|
||||
0x41, 0xc9, 0x0d, 0x9d, 0xd4, 0xa3, 0xa3, 0xa3, 0xe4, 0x4a, 0xe7, 0x25, 0x6a, 0xdd, 0x57, 0x54,
|
||||
0x97, 0x87, 0x5e, 0x90, 0xf2, 0x23, 0x85, 0x8e, 0x7e, 0xdf, 0x77, 0x44, 0x15, 0xb5, 0x23, 0xf2,
|
||||
0x44, 0x39, 0x22, 0x47, 0xf4, 0x9e, 0x74, 0xaa, 0xd2, 0x7f, 0xda, 0x10, 0xe5, 0x8b, 0xf2, 0x46,
|
||||
0x7d, 0x45, 0xbd, 0x99, 0x97, 0x97, 0xe7, 0x64, 0x90, 0x38, 0x37, 0x64, 0xd0, 0xe1, 0x1c, 0xd1,
|
||||
0xcc, 0x22, 0xd0, 0x61, 0x88, 0xdb, 0xed, 0x56, 0x80, 0xc8, 0xc9, 0x61, 0xd1, 0xbd, 0x89, 0x89,
|
||||
0x09, 0xce, 0x17, 0xb9, 0xee, 0xe8, 0xe8, 0x20, 0x47, 0x85, 0x5e, 0x2a, 0x95, 0xca, 0x47, 0xcc,
|
||||
0xa4, 0x3d, 0x7a, 0x88, 0x60, 0x92, 0xa4, 0xdd, 0x4a, 0x7a, 0x7f, 0xc1, 0x7f, 0x12, 0x39, 0x39,
|
||||
0x7d, 0xfa, 0x34, 0x41, 0x02, 0x85, 0x3e, 0xf2, 0x12, 0x9f, 0x2f, 0x85, 0xab, 0xbe, 0xc0, 0xc0,
|
||||
0xc0, 0x03, 0x01, 0x94, 0x15, 0x1c, 0x1c, 0xac, 0xb8, 0xfe, 0x3b, 0x89, 0x8d, 0x2a, 0x24, 0xdd,
|
||||
0x17, 0x53, 0x81, 0xd4, 0x26, 0xd6, 0xff, 0x9c, 0xab, 0x4e, 0x7c, 0x7c, 0x85, 0xbe, 0xf3, 0xf6,
|
||||
0xf6, 0xfe, 0xd1, 0xc7, 0xc7, 0x27, 0x58, 0xe8, 0xa7, 0xb7, 0x0a, 0x3d, 0xf4, 0xff, 0xdf, 0x48,
|
||||
0xe5, 0xf3, 0x66, 0x9d, 0x1f, 0xc4, 0xba, 0xdf, 0x0a, 0x7d, 0xc6, 0xa0, 0xb7, 0xb4, 0x8f, 0x85,
|
||||
0x3e, 0x25, 0x77, 0x42, 0x5f, 0xff, 0x47, 0x7d, 0x25, 0xf4, 0x85, 0xd0, 0x27, 0x52, 0xb3, 0x92,
|
||||
0xfe, 0x04, 0xe6, 0x65, 0xc3, 0xbb, 0x89, 0x46, 0xb5, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
|
||||
0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE find_xpm[1] = {{ png, sizeof( png ), "find_xpm" }};
|
||||
|
|
|
@ -8,32 +8,39 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x01, 0x7e, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f,
|
||||
0x03, 0x39, 0x38, 0x3d, 0x3d, 0x3d, 0x2d, 0x35, 0x35, 0x35, 0x89, 0x58, 0xf5, 0x18, 0x02, 0x0d,
|
||||
0x0c, 0x0c, 0x49, 0x40, 0xdc, 0x0c, 0xc4, 0x5c, 0xf8, 0x34, 0xa6, 0xa5, 0xa5, 0x1d, 0x00, 0x61,
|
||||
0x4a, 0x2c, 0x3a, 0x00, 0xc4, 0xff, 0x9b, 0x98, 0x99, 0xef, 0x01, 0x69, 0x1b, 0x9a, 0x5a, 0xd4,
|
||||
0x2f, 0x2f, 0xff, 0x7f, 0x82, 0xbc, 0xfc, 0x9f, 0x46, 0x46, 0xc6, 0x7f, 0x40, 0x7e, 0x3f, 0x36,
|
||||
0xdf, 0x51, 0xc5, 0xa2, 0x79, 0x76, 0x76, 0xff, 0xbf, 0xbc, 0x7f, 0xff, 0x7f, 0x4b, 0x56, 0xd6,
|
||||
0xff, 0x06, 0x46, 0x46, 0xac, 0xbe, 0xa3, 0x9a, 0x45, 0x3f, 0x7f, 0xfe, 0x04, 0xe3, 0x3b, 0x7b,
|
||||
0xf6, 0x60, 0xf5, 0x1d, 0xd5, 0x2d, 0x02, 0x61, 0xb0, 0xef, 0xb2, 0xb3, 0x51, 0x7c, 0x47, 0x13,
|
||||
0x8b, 0xb0, 0xf9, 0xae, 0x5c, 0x4d, 0xed, 0x71, 0x46, 0x62, 0xe2, 0x21, 0xa2, 0x2d, 0x82, 0x26,
|
||||
0xe7, 0x03, 0x48, 0xf8, 0xfd, 0x24, 0x55, 0x55, 0xac, 0x16, 0xa1, 0xfb, 0xae, 0x9e, 0x87, 0xe7,
|
||||
0x2b, 0xbe, 0x94, 0x89, 0x6e, 0x51, 0x1a, 0x86, 0x45, 0x6a, 0x6a, 0x60, 0x43, 0xdf, 0x3e, 0x78,
|
||||
0xf0, 0xff, 0xd9, 0xa5, 0x4b, 0x28, 0xf8, 0xeb, 0x87, 0x0f, 0x10, 0xdf, 0xed, 0xdd, 0xfb, 0x7f,
|
||||
0x82, 0x82, 0x02, 0xde, 0x94, 0x49, 0x54, 0xd0, 0x7d, 0xff, 0xfa, 0xf5, 0x7f, 0x1b, 0x2f, 0xef,
|
||||
0x7f, 0x50, 0x9e, 0x42, 0xc6, 0x07, 0xdb, 0xdb, 0x51, 0x7c, 0xb7, 0x35, 0x27, 0x07, 0x67, 0xca,
|
||||
0x24, 0x3a, 0x8e, 0xbe, 0x7f, 0xf9, 0xf2, 0xff, 0xeb, 0xc7, 0x8f, 0x28, 0x18, 0x6b, 0xdc, 0x11,
|
||||
0xe1, 0x3b, 0xa2, 0x12, 0xc3, 0xeb, 0x3b, 0x77, 0xfe, 0xbf, 0x7d, 0xf8, 0x10, 0x67, 0xbc, 0x21,
|
||||
0xfb, 0x0e, 0x6c, 0x19, 0x23, 0x23, 0x28, 0xee, 0x8e, 0x20, 0x45, 0x47, 0x1a, 0x51, 0x16, 0xad,
|
||||
0x8b, 0x8f, 0xff, 0xbf, 0xbd, 0xa0, 0x80, 0x12, 0x8b, 0x92, 0xf0, 0x5a, 0xf4, 0xe9, 0xf5, 0xeb,
|
||||
0xff, 0xef, 0x1e, 0x3d, 0xfa, 0xbf, 0x32, 0x24, 0xe4, 0xff, 0x86, 0xa4, 0x24, 0x30, 0x1b, 0x14,
|
||||
0x77, 0x54, 0x0d, 0x3a, 0x9c, 0x89, 0xa1, 0xb5, 0x95, 0xbc, 0xc4, 0x80, 0x2f, 0x1f, 0x7d, 0x7c,
|
||||
0xf9, 0x12, 0xc3, 0x47, 0x3f, 0xbe, 0x7f, 0x27, 0x2f, 0x79, 0xe3, 0xcb, 0x47, 0x30, 0xbc, 0x3e,
|
||||
0x31, 0xf1, 0xff, 0xb6, 0xbc, 0x3c, 0xca, 0x32, 0x2c, 0xd1, 0xa9, 0x0e, 0x98, 0x79, 0x29, 0x2a,
|
||||
0x82, 0x06, 0x4d, 0xa1, 0x4a, 0xf3, 0x6a, 0x82, 0x2e, 0x15, 0x1f, 0xdd, 0xaa, 0x72, 0x7a, 0x35,
|
||||
0x4e, 0x40, 0xf9, 0xaa, 0x83, 0xe6, 0xcd, 0x2d, 0x62, 0x31, 0xa8, 0xf1, 0x08, 0x6a, 0x44, 0x12,
|
||||
0xab, 0x1e, 0x00, 0x39, 0x9d, 0x1a, 0x1b, 0x9d, 0x19, 0x48, 0x46, 0x00, 0x00, 0x00, 0x00, 0x49,
|
||||
0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x01, 0xf4, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x96, 0xbd, 0x4b, 0x42,
|
||||
0x51, 0x18, 0x87, 0xbd, 0x08, 0x59, 0x41, 0xe1, 0x26, 0xda, 0xa0, 0x86, 0x3a, 0xf8, 0x17, 0x34,
|
||||
0x84, 0x4d, 0x35, 0x45, 0x4b, 0x34, 0xb4, 0x3a, 0x38, 0xa8, 0xa3, 0xee, 0x96, 0x04, 0x0e, 0xa5,
|
||||
0x72, 0x0d, 0x3f, 0x51, 0xf7, 0x0b, 0x6d, 0x49, 0x8b, 0x8a, 0x44, 0x43, 0x4d, 0xad, 0x41, 0xd6,
|
||||
0xe6, 0xe0, 0xe2, 0x07, 0x78, 0x51, 0x41, 0x7c, 0x7b, 0xcf, 0xc5, 0x44, 0xbc, 0x1e, 0xef, 0x87,
|
||||
0x3a, 0x3c, 0x9c, 0xab, 0xdc, 0x7b, 0x1e, 0x7e, 0xe7, 0xbc, 0xe7, 0x43, 0x03, 0x00, 0x1a, 0x35,
|
||||
0x64, 0x32, 0x99, 0x2b, 0xe4, 0x25, 0x9b, 0xcd, 0x96, 0x90, 0x0b, 0xa9, 0xf7, 0x45, 0x7f, 0x84,
|
||||
0x34, 0x1a, 0x37, 0x12, 0x46, 0x76, 0x69, 0x1f, 0xe5, 0x72, 0x39, 0x2b, 0x4a, 0xbe, 0x11, 0x0e,
|
||||
0x79, 0x42, 0xbe, 0x10, 0xa3, 0x52, 0x51, 0x0d, 0x81, 0x5b, 0xad, 0xf6, 0x17, 0xdb, 0xe3, 0x45,
|
||||
0x1f, 0x61, 0x82, 0x73, 0x22, 0x4a, 0x26, 0x93, 0x47, 0xf8, 0x7c, 0x32, 0x91, 0x9e, 0x29, 0x16,
|
||||
0xc5, 0xcc, 0x66, 0x88, 0x9b, 0xcd, 0xa3, 0x1b, 0x86, 0x19, 0xe3, 0xef, 0xd8, 0x7c, 0x3a, 0x96,
|
||||
0x65, 0xf7, 0xb1, 0xe3, 0x4f, 0xa4, 0x9e, 0x4e, 0xa7, 0x7f, 0x50, 0xf6, 0x11, 0x8d, 0x46, 0x77,
|
||||
0x14, 0x8b, 0x0a, 0x2e, 0x17, 0xf4, 0xda, 0x6d, 0x78, 0xf6, 0x7a, 0x21, 0xc4, 0x30, 0x0b, 0xd3,
|
||||
0x4d, 0x86, 0x6f, 0x80, 0xf0, 0xe4, 0x59, 0xcd, 0x1c, 0x09, 0xa2, 0xe1, 0x70, 0x28, 0x50, 0x2f,
|
||||
0x97, 0xa9, 0xe9, 0x50, 0x02, 0x84, 0x62, 0xb1, 0xb8, 0xbd, 0xb2, 0x88, 0x20, 0xa4, 0xf3, 0xf9,
|
||||
0x44, 0xe9, 0xd6, 0x2e, 0xa2, 0xa5, 0x4b, 0x27, 0x12, 0xf2, 0x45, 0x93, 0x72, 0xae, 0xcd, 0xd0,
|
||||
0x66, 0xed, 0xf6, 0x85, 0xa2, 0xf9, 0x74, 0x77, 0x06, 0x03, 0x24, 0x82, 0x41, 0xc0, 0xe2, 0xd0,
|
||||
0xc9, 0x11, 0x79, 0x44, 0x22, 0x87, 0x83, 0x2a, 0x9a, 0xa6, 0xab, 0x54, 0x20, 0x6e, 0xb5, 0x8e,
|
||||
0x89, 0x70, 0x51, 0x65, 0xca, 0x1f, 0xba, 0xc1, 0x00, 0x58, 0x9b, 0x0d, 0x22, 0x7a, 0xfd, 0x94,
|
||||
0x47, 0xa7, 0x53, 0x94, 0xae, 0xe4, 0xf7, 0x53, 0x2b, 0x53, 0xf6, 0x1c, 0xf5, 0x5a, 0x2d, 0xe8,
|
||||
0x36, 0x9b, 0x53, 0xf8, 0x4e, 0x87, 0x9e, 0xce, 0x62, 0xa1, 0xae, 0x3b, 0xc5, 0xc5, 0xb0, 0x8c,
|
||||
0xff, 0x74, 0x82, 0x8c, 0x61, 0x78, 0xec, 0xe7, 0x6d, 0x66, 0x3a, 0x3c, 0xb2, 0x44, 0xaf, 0x91,
|
||||
0xc8, 0xaa, 0x22, 0xf7, 0x52, 0x51, 0x9f, 0xe7, 0x81, 0xef, 0x76, 0x21, 0xac, 0xd3, 0x09, 0x6d,
|
||||
0xbf, 0xd7, 0xdb, 0xc0, 0xd0, 0x61, 0x31, 0xdc, 0x1b, 0x8d, 0xa4, 0xa2, 0xa6, 0x3c, 0x98, 0x4c,
|
||||
0xea, 0x8b, 0x41, 0xce, 0x3a, 0x22, 0x89, 0x68, 0xe5, 0xbd, 0x2c, 0x85, 0xe2, 0x75, 0x54, 0x0d,
|
||||
0x85, 0xe8, 0x0b, 0x36, 0x10, 0x18, 0x73, 0x1c, 0xb7, 0xb5, 0xb9, 0x2d, 0x48, 0xab, 0x4d, 0x28,
|
||||
0xda, 0x82, 0xd4, 0x6e, 0xaa, 0xa4, 0xf3, 0xb5, 0x6e, 0xaa, 0xb4, 0x63, 0x62, 0x6d, 0x22, 0xa9,
|
||||
0x83, 0x0f, 0x4f, 0x56, 0x3b, 0x4a, 0x46, 0x44, 0x54, 0x28, 0x14, 0x0e, 0x55, 0x89, 0xa4, 0x8e,
|
||||
0xf2, 0x7c, 0x3e, 0xbf, 0x37, 0x39, 0xca, 0x1b, 0x78, 0x8c, 0x37, 0xb0, 0x7d, 0x97, 0x4a, 0xa5,
|
||||
0xea, 0x72, 0x92, 0x4a, 0xa5, 0x44, 0x97, 0x13, 0x4c, 0x78, 0xaa, 0xe6, 0xba, 0x15, 0x59, 0xb6,
|
||||
0x2e, 0xc8, 0x50, 0xcd, 0x5f, 0xb7, 0x50, 0x7e, 0xa0, 0x48, 0x24, 0x17, 0xbc, 0x90, 0x5c, 0xa3,
|
||||
0xa0, 0x8a, 0x94, 0x31, 0xd5, 0xa5, 0xd4, 0xfb, 0x7f, 0x24, 0x96, 0x19, 0xb2, 0xcd, 0x00, 0xac,
|
||||
0xcd, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE hidden_pin_xpm[1] = {{ png, sizeof( png ), "hidden_pin_xpm" }};
|
||||
|
|
|
@ -8,84 +8,72 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x04, 0xba, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x96, 0xcf, 0x6f, 0x54,
|
||||
0x55, 0x14, 0xc7, 0x3f, 0xf7, 0xcd, 0x9b, 0x9f, 0x9d, 0x96, 0x29, 0x9d, 0x99, 0x76, 0x86, 0x52,
|
||||
0x09, 0xa5, 0x50, 0xa0, 0x88, 0x8a, 0x89, 0x88, 0xa2, 0xd5, 0x0d, 0xa2, 0x22, 0x1b, 0x15, 0xf7,
|
||||
0xc6, 0x85, 0xd1, 0xb8, 0x72, 0x61, 0xe2, 0x46, 0x37, 0x12, 0xff, 0x01, 0x59, 0xb0, 0x30, 0x24,
|
||||
0x2e, 0x8c, 0x86, 0xc4, 0x68, 0xfc, 0x81, 0x0b, 0xa9, 0x91, 0x5f, 0x89, 0x18, 0x02, 0x48, 0x11,
|
||||
0x69, 0x4b, 0x29, 0xb4, 0x9d, 0xb6, 0xd0, 0x99, 0x32, 0xd3, 0xf7, 0xeb, 0xde, 0xfb, 0xae, 0x8b,
|
||||
0x19, 0x60, 0x08, 0xd5, 0x05, 0x31, 0x2c, 0x8c, 0xe7, 0xe5, 0x2e, 0xee, 0xb9, 0x79, 0xe7, 0x7b,
|
||||
0xce, 0xbb, 0xe7, 0xfb, 0x3d, 0x4f, 0x18, 0x63, 0xb8, 0x1f, 0x66, 0x71, 0x9f, 0xec, 0x7f, 0xa0,
|
||||
0x7b, 0x36, 0x31, 0x38, 0x38, 0x68, 0xb7, 0x76, 0x74, 0xbc, 0x18, 0x6a, 0xfd, 0x48, 0xf3, 0xc1,
|
||||
0xa3, 0x5b, 0xb6, 0xac, 0xcd, 0xe7, 0x72, 0xdd, 0xb3, 0x33, 0x33, 0x13, 0x27, 0x4f, 0x9d, 0x1a,
|
||||
0xb9, 0xe7, 0x4a, 0x22, 0x91, 0xd3, 0x85, 0x8e, 0x8e, 0xaf, 0xed, 0xc2, 0xca, 0x07, 0xbe, 0x94,
|
||||
0x81, 0xbf, 0x43, 0x47, 0x22, 0x49, 0x81, 0x00, 0x20, 0x12, 0x89, 0xf0, 0xf0, 0xa6, 0x4d, 0x78,
|
||||
0x9e, 0x47, 0xb1, 0xab, 0xeb, 0x89, 0xb3, 0xe7, 0xce, 0x23, 0xfe, 0xae, 0x76, 0x73, 0xe7, 0xc6,
|
||||
0x34, 0xf9, 0x0c, 0x06, 0xcb, 0x8a, 0x78, 0x55, 0xd7, 0xfb, 0xc9, 0xce, 0x64, 0x32, 0xeb, 0x9f,
|
||||
0x7f, 0x6e, 0x47, 0x32, 0xdb, 0x91, 0x05, 0x01, 0x02, 0x70, 0x5d, 0x8f, 0xb1, 0x89, 0x71, 0x26,
|
||||
0xaf, 0x5c, 0xa5, 0xbb, 0xbb, 0x9b, 0x77, 0xde, 0x7e, 0x8b, 0x54, 0x32, 0x89, 0x10, 0xe2, 0x56,
|
||||
0xc8, 0x30, 0xd4, 0x94, 0x66, 0x4a, 0xb4, 0xb5, 0xb6, 0x91, 0x4a, 0xb5, 0xd4, 0xc3, 0x9a, 0x26,
|
||||
0x6c, 0x63, 0xc0, 0x18, 0xe6, 0xcb, 0xe5, 0xc4, 0xf7, 0x87, 0x0e, 0xad, 0xb3, 0x37, 0x0d, 0x6c,
|
||||
0x48, 0x3f, 0xb9, 0x6d, 0x2b, 0x4a, 0xa9, 0x3b, 0x12, 0x1d, 0xd8, 0xd8, 0xcf, 0x52, 0x1c, 0x5b,
|
||||
0xb8, 0xb1, 0x40, 0xba, 0x25, 0xcd, 0xd0, 0xcf, 0x87, 0x39, 0xf0, 0xd9, 0xe7, 0x3c, 0xb5, 0x7d,
|
||||
0x1b, 0x7b, 0x5e, 0x7e, 0x05, 0x21, 0xc0, 0x18, 0x41, 0x2c, 0x16, 0x43, 0x6b, 0x8d, 0xd6, 0x0a,
|
||||
0x29, 0x15, 0xb9, 0x5c, 0x96, 0x99, 0xb9, 0xd9, 0xb4, 0x1d, 0x8f, 0x27, 0x2c, 0xc7, 0x59, 0x44,
|
||||
0x29, 0xb5, 0x64, 0xe0, 0x66, 0xd7, 0xe2, 0xe2, 0x22, 0xfb, 0xf6, 0xef, 0xe7, 0x85, 0x9d, 0x3b,
|
||||
0x69, 0x49, 0xa7, 0x59, 0x96, 0x59, 0x46, 0x76, 0x79, 0x96, 0x4b, 0x97, 0xc6, 0x68, 0x6d, 0x6b,
|
||||
0xa5, 0xb3, 0xb3, 0x13, 0xa9, 0x1d, 0x2c, 0x21, 0xc0, 0xd2, 0x58, 0x11, 0x8d, 0x65, 0x45, 0x88,
|
||||
0x27, 0xe2, 0x96, 0x6d, 0x47, 0x23, 0xc6, 0x71, 0x5d, 0xa4, 0x94, 0xff, 0xf0, 0xed, 0xeb, 0x76,
|
||||
0xed, 0xfa, 0x75, 0x76, 0xef, 0xda, 0x45, 0x32, 0x11, 0x23, 0x91, 0x58, 0xce, 0x9b, 0x6f, 0xbc,
|
||||
0xce, 0xd4, 0xd4, 0x34, 0xe5, 0x85, 0x05, 0xf2, 0x9d, 0x5d, 0x0c, 0x0f, 0x9f, 0xa7, 0xa7, 0x67,
|
||||
0x25, 0xe3, 0xe3, 0x13, 0xf4, 0xf4, 0xf4, 0x20, 0x84, 0x40, 0xdb, 0x0a, 0x5b, 0x58, 0xc6, 0x56,
|
||||
0x81, 0xc4, 0xf3, 0x3c, 0x82, 0x20, 0x58, 0xba, 0xa2, 0x46, 0x83, 0xf8, 0xbe, 0x4f, 0xa5, 0x52,
|
||||
0x61, 0x4d, 0xef, 0x6a, 0x4a, 0xa5, 0x69, 0x0e, 0x1e, 0xfc, 0x0a, 0x15, 0x2a, 0x04, 0x10, 0x89,
|
||||
0xd8, 0x0c, 0x0d, 0x0d, 0xf1, 0xd0, 0xe6, 0xcd, 0xf4, 0xf7, 0xf7, 0xb3, 0xa2, 0xb8, 0x82, 0xb1,
|
||||
0xd1, 0x31, 0x0a, 0xc5, 0x02, 0xd1, 0x68, 0x14, 0x5f, 0x06, 0x58, 0x81, 0x92, 0xc6, 0x75, 0x5c,
|
||||
0x1c, 0xc7, 0xc1, 0x75, 0x5d, 0x5c, 0xd7, 0x45, 0xeb, 0x10, 0xd7, 0xf5, 0x70, 0x1c, 0x17, 0xd7,
|
||||
0x71, 0x70, 0x1c, 0x87, 0xb1, 0xd1, 0x51, 0xd6, 0xf4, 0xae, 0x66, 0x64, 0x74, 0x84, 0xa3, 0xc7,
|
||||
0x8e, 0xb3, 0xba, 0x77, 0x15, 0xae, 0xe3, 0x72, 0x79, 0x62, 0x92, 0xab, 0x93, 0x93, 0x14, 0xba,
|
||||
0x8a, 0x38, 0x8e, 0xc3, 0x89, 0x13, 0xc7, 0xc8, 0xe7, 0x73, 0xf8, 0xbe, 0x4f, 0xad, 0x56, 0xc3,
|
||||
0x75, 0x5c, 0xa4, 0x94, 0xc6, 0x0e, 0x7c, 0x69, 0x1c, 0xd7, 0xc5, 0xf7, 0xfd, 0x5b, 0x55, 0x64,
|
||||
0x32, 0x19, 0x1c, 0xd7, 0xe1, 0x46, 0xb5, 0x8a, 0xd6, 0x9a, 0x54, 0x32, 0x85, 0x92, 0x0a, 0x83,
|
||||
0xa0, 0x54, 0x9a, 0x66, 0x60, 0xe3, 0x00, 0xdf, 0x7c, 0xfb, 0x1d, 0xbd, 0x7d, 0xbd, 0x3c, 0xf6,
|
||||
0xf8, 0x56, 0xca, 0xf3, 0x65, 0x7e, 0x3f, 0x37, 0xcc, 0x86, 0xf5, 0xeb, 0xa8, 0xd6, 0x1c, 0x8e,
|
||||
0x1e, 0xfb, 0x85, 0x7c, 0x67, 0x17, 0x33, 0x33, 0xb3, 0x74, 0x64, 0xb3, 0x04, 0x52, 0x1b, 0x4b,
|
||||
0x69, 0x8d, 0x54, 0x0a, 0xa9, 0x14, 0x4a, 0x6b, 0x94, 0xd6, 0x84, 0x61, 0x88, 0xd6, 0x21, 0x81,
|
||||
0xef, 0xe3, 0x7b, 0x1e, 0x4a, 0x49, 0xa2, 0x31, 0x9b, 0x2b, 0x57, 0xc6, 0xc9, 0x66, 0x73, 0x8c,
|
||||
0x8d, 0x5f, 0xe2, 0xb5, 0x3d, 0xaf, 0x22, 0xb0, 0x38, 0xf0, 0xe9, 0x17, 0x9c, 0x3e, 0x73, 0x96,
|
||||
0xc1, 0x67, 0xb6, 0x53, 0x9e, 0x9f, 0x67, 0x6d, 0x5f, 0x1f, 0xe5, 0x4a, 0x85, 0x7c, 0x3e, 0x4f,
|
||||
0xad, 0x56, 0x83, 0x30, 0x44, 0x2b, 0x89, 0xad, 0x94, 0xac, 0xdf, 0x84, 0xb8, 0x4d, 0x38, 0x03,
|
||||
0x77, 0xdd, 0x57, 0x9d, 0x16, 0x86, 0xcc, 0xb2, 0x76, 0x0a, 0x45, 0xc9, 0xb1, 0xe3, 0x27, 0x28,
|
||||
0x7f, 0x62, 0xe8, 0x4e, 0x6d, 0xe6, 0x8f, 0xea, 0x19, 0xce, 0x0d, 0xef, 0xe3, 0xfd, 0xf7, 0xde,
|
||||
0x45, 0x29, 0x45, 0x6b, 0x3a, 0x8d, 0x65, 0x59, 0xc4, 0x63, 0x31, 0x0c, 0x06, 0xa9, 0x14, 0x96,
|
||||
0xd6, 0x0a, 0x8c, 0xc1, 0x98, 0x10, 0x63, 0xc2, 0x5b, 0x44, 0xab, 0x13, 0xd0, 0x70, 0xf3, 0x71,
|
||||
0x3d, 0x97, 0x7c, 0xbe, 0x93, 0xb9, 0x6b, 0x33, 0x64, 0xdb, 0xdb, 0xf9, 0xf1, 0x87, 0x23, 0x5c,
|
||||
0x4d, 0x97, 0x99, 0xd0, 0x97, 0xf1, 0xe4, 0x22, 0xb9, 0x5c, 0x96, 0xab, 0x93, 0x53, 0x08, 0x21,
|
||||
0xe8, 0xe9, 0x59, 0xc5, 0xf5, 0x6b, 0x73, 0x24, 0x5b, 0x12, 0x84, 0x46, 0xa3, 0x54, 0x20, 0x2c,
|
||||
0x19, 0x48, 0xa1, 0x43, 0x8d, 0x09, 0x4d, 0x63, 0x35, 0xc0, 0x42, 0x83, 0x65, 0x09, 0x22, 0x96,
|
||||
0x85, 0xd1, 0x06, 0x0c, 0xa4, 0x5b, 0xda, 0xea, 0xe0, 0x02, 0xf2, 0xc5, 0x76, 0x2e, 0x24, 0xcf,
|
||||
0x50, 0x8a, 0x8f, 0xd2, 0x96, 0x81, 0x5c, 0x36, 0x47, 0xa1, 0xd0, 0x49, 0x6b, 0x6b, 0x9a, 0xfe,
|
||||
0x75, 0xfd, 0xcc, 0xce, 0xcd, 0x11, 0x8d, 0xc6, 0xd0, 0x3a, 0x44, 0x05, 0x0a, 0x4b, 0x49, 0xd5,
|
||||
0x60, 0xf2, 0xed, 0x35, 0x7b, 0x6d, 0x96, 0x45, 0x77, 0x11, 0x3b, 0x62, 0x13, 0x8f, 0xc5, 0x09,
|
||||
0xb5, 0x26, 0x97, 0xcd, 0x72, 0xf4, 0xe8, 0x11, 0x06, 0x9f, 0x7e, 0x96, 0x6a, 0xb5, 0xca, 0xee,
|
||||
0x97, 0x76, 0x62, 0xc7, 0x6b, 0x64, 0x96, 0x47, 0x49, 0xa4, 0x5a, 0xc8, 0xe5, 0xb2, 0xe4, 0xb3,
|
||||
0x39, 0xfa, 0xfa, 0xd6, 0x32, 0x35, 0x35, 0x85, 0xd6, 0x9a, 0x30, 0xd4, 0x84, 0x5a, 0x23, 0xa5,
|
||||
0x12, 0x76, 0x20, 0x25, 0x5a, 0xd5, 0x01, 0x0c, 0x06, 0x61, 0xa0, 0xba, 0x50, 0x65, 0x09, 0xa9,
|
||||
0x24, 0x9e, 0x88, 0x73, 0x78, 0xe8, 0x30, 0x1b, 0x07, 0x36, 0x50, 0xab, 0xd6, 0xd8, 0xfb, 0xd1,
|
||||
0x07, 0x5c, 0xf8, 0x73, 0x84, 0x95, 0xc5, 0x22, 0xc5, 0x62, 0x91, 0xf5, 0xfd, 0xeb, 0x99, 0x9b,
|
||||
0x9b, 0xe5, 0xe2, 0xc8, 0x45, 0x80, 0x7a, 0xa7, 0x1a, 0x83, 0x54, 0x81, 0xb1, 0x95, 0x52, 0x48,
|
||||
0x19, 0xdc, 0xa5, 0x75, 0x37, 0xd5, 0xa1, 0x0e, 0x52, 0x27, 0x6d, 0x34, 0x1a, 0x45, 0x29, 0xc5,
|
||||
0xc9, 0x5f, 0x7f, 0xa3, 0xd0, 0x55, 0x20, 0x9e, 0x88, 0xf3, 0xe0, 0xc0, 0x06, 0xda, 0x97, 0x2d,
|
||||
0x27, 0x9e, 0x88, 0x33, 0x7c, 0xfe, 0x1c, 0xa5, 0xe9, 0x52, 0x5d, 0xce, 0xc4, 0xed, 0x24, 0x03,
|
||||
0x29, 0x85, 0x5d, 0x59, 0xa8, 0x78, 0xc6, 0x34, 0x2e, 0xbe, 0x59, 0x7e, 0xc5, 0xd2, 0x7a, 0x14,
|
||||
0xb1, 0x2c, 0x92, 0xc9, 0x04, 0xf3, 0xe5, 0xeb, 0x18, 0x63, 0x48, 0xa5, 0x52, 0xdc, 0xa8, 0x2c,
|
||||
0xa0, 0x43, 0x43, 0x10, 0x04, 0x8d, 0x0e, 0x16, 0xb7, 0x5f, 0xb1, 0x2c, 0xca, 0x95, 0x8a, 0x67,
|
||||
0x5f, 0x1c, 0x19, 0xd9, 0xeb, 0x7b, 0xc1, 0x87, 0xa9, 0x96, 0x44, 0xba, 0x71, 0x28, 0xc2, 0x26,
|
||||
0x35, 0xbd, 0xd5, 0xea, 0x4d, 0xfb, 0xa6, 0x81, 0x73, 0xa7, 0xaf, 0x69, 0x0e, 0x89, 0xc6, 0xd4,
|
||||
0xf0, 0x7d, 0x6f, 0x71, 0x6a, 0xba, 0xf4, 0xb1, 0x00, 0x62, 0x40, 0x1a, 0x68, 0x69, 0xd4, 0x11,
|
||||
0xfd, 0x97, 0xa6, 0xb7, 0x6c, 0xe4, 0xe0, 0x00, 0x35, 0xf1, 0x9f, 0xfb, 0xaf, 0xfb, 0x0b, 0x65,
|
||||
0x77, 0xac, 0x4d, 0xaa, 0xdb, 0x20, 0xef, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
|
||||
0x42, 0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x04, 0x02, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x96, 0x4f, 0x6c, 0x54,
|
||||
0x55, 0x14, 0xc6, 0x7f, 0xf7, 0xde, 0x37, 0x6f, 0xca, 0xbc, 0x19, 0x66, 0xe8, 0x14, 0xa4, 0x25,
|
||||
0x25, 0xad, 0x36, 0xe2, 0xa4, 0x35, 0x44, 0x49, 0x86, 0x56, 0xd0, 0xa5, 0x51, 0x16, 0x18, 0x84,
|
||||
0x15, 0x6e, 0x24, 0xae, 0x5c, 0xb0, 0x94, 0xa4, 0x09, 0x26, 0x68, 0x88, 0x0b, 0x37, 0xa2, 0xac,
|
||||
0x88, 0x1b, 0x13, 0x17, 0x06, 0x49, 0x48, 0x8c, 0x84, 0xd0, 0x00, 0x89, 0x04, 0x5b, 0x9b, 0x40,
|
||||
0x80, 0x50, 0x42, 0xac, 0xa5, 0xd3, 0xd2, 0x16, 0xa6, 0x33, 0x03, 0xb4, 0xd2, 0xd7, 0x79, 0xd3,
|
||||
0xf7, 0xef, 0xba, 0x18, 0x5a, 0x3a, 0xa0, 0x6d, 0x25, 0x86, 0x95, 0x27, 0x79, 0xc9, 0xbd, 0xe7,
|
||||
0x9d, 0x93, 0x2f, 0xe7, 0x9c, 0xef, 0x9c, 0x73, 0x85, 0xd6, 0x9a, 0xe7, 0x21, 0x92, 0xe7, 0x24,
|
||||
0xcf, 0x0d, 0xc8, 0x78, 0x52, 0xb1, 0x6f, 0xdf, 0x91, 0x94, 0x6d, 0x97, 0xb7, 0xcc, 0xce, 0xce,
|
||||
0x9a, 0xae, 0x3b, 0x7b, 0xe5, 0xdc, 0xb9, 0x23, 0x85, 0xff, 0x02, 0x48, 0x64, 0xb3, 0x1f, 0x37,
|
||||
0x00, 0xef, 0x0b, 0x21, 0x62, 0x96, 0x65, 0xb5, 0xa6, 0x52, 0x7a, 0xbf, 0x52, 0x9e, 0x00, 0x8d,
|
||||
0xe7, 0x09, 0xee, 0xdd, 0xd3, 0xc7, 0xa5, 0x54, 0xfd, 0x42, 0x08, 0x9e, 0xf1, 0x0b, 0x84, 0x10,
|
||||
0xa7, 0xc5, 0xd1, 0xa3, 0x27, 0xa6, 0x76, 0xee, 0x7c, 0x23, 0x65, 0x9a, 0x11, 0x7c, 0x3f, 0x64,
|
||||
0x66, 0xa6, 0xc2, 0xdc, 0x9c, 0x87, 0xd6, 0x20, 0x84, 0x44, 0x29, 0xf9, 0xc8, 0x41, 0x22, 0x84,
|
||||
0xa4, 0x58, 0x9c, 0x64, 0xfd, 0xfa, 0x26, 0xa4, 0x94, 0x38, 0x8e, 0x83, 0xef, 0xbb, 0xd4, 0xd7,
|
||||
0xaf, 0x45, 0x08, 0x09, 0x84, 0xb8, 0xae, 0x87, 0x10, 0x02, 0x29, 0x25, 0xe5, 0xb2, 0x4b, 0x10,
|
||||
0x08, 0xfa, 0xfa, 0x06, 0x02, 0xa3, 0xa9, 0x29, 0x99, 0x52, 0x4a, 0x23, 0x44, 0x48, 0x10, 0x78,
|
||||
0x4c, 0x4d, 0xcd, 0x30, 0x3d, 0x6d, 0x13, 0x86, 0xa0, 0x94, 0x81, 0x52, 0x0a, 0xa5, 0x0c, 0xa4,
|
||||
0x54, 0x7c, 0x7f, 0xfc, 0x07, 0xcc, 0x8e, 0x5d, 0x5c, 0xfd, 0xf2, 0x53, 0xbe, 0x3a, 0xf8, 0x11,
|
||||
0x37, 0x6e, 0x0c, 0x90, 0x4e, 0xa7, 0x09, 0x82, 0x8d, 0x94, 0x4a, 0xf7, 0x29, 0x04, 0x49, 0xde,
|
||||
0xde, 0xfe, 0x1a, 0x65, 0x37, 0x64, 0x62, 0x46, 0x33, 0xe1, 0x48, 0x82, 0xc1, 0x41, 0x84, 0x88,
|
||||
0x29, 0xc3, 0x75, 0xbd, 0x15, 0xe5, 0xd8, 0xf7, 0x3d, 0x6e, 0xdc, 0x1a, 0x26, 0x97, 0xec, 0xa0,
|
||||
0xae, 0x92, 0x24, 0x9b, 0xcd, 0xb2, 0x63, 0xc7, 0xbb, 0xb4, 0xb5, 0xb5, 0xd1, 0xdb, 0xfb, 0x1b,
|
||||
0x9e, 0xe7, 0x73, 0xf2, 0x6c, 0x3f, 0x17, 0x6e, 0x96, 0x70, 0x83, 0xaa, 0x4f, 0xe0, 0xbb, 0xc4,
|
||||
0x0c, 0x45, 0xa5, 0x52, 0x79, 0x9a, 0x0c, 0x7f, 0x27, 0x61, 0x18, 0x32, 0x35, 0x35, 0xcc, 0x37,
|
||||
0x87, 0x3f, 0xe1, 0xc4, 0xc9, 0xcf, 0x78, 0xef, 0xd0, 0x2e, 0x00, 0xfa, 0xfa, 0xfa, 0x88, 0xc7,
|
||||
0xe3, 0x0b, 0x76, 0xef, 0x6c, 0xdb, 0x4c, 0xa5, 0xe2, 0x92, 0xcb, 0x0d, 0xb1, 0x66, 0xcd, 0x26,
|
||||
0x3c, 0x2f, 0x41, 0x71, 0xce, 0xa0, 0x30, 0x39, 0xb2, 0x32, 0xa0, 0xf1, 0xf1, 0x9b, 0x6c, 0xdf,
|
||||
0xbe, 0x0d, 0xcb, 0xb2, 0x38, 0xd8, 0xdd, 0x4d, 0x34, 0x1a, 0x01, 0x20, 0x93, 0xc9, 0xa0, 0x35,
|
||||
0x78, 0x9e, 0x5f, 0xa5, 0xb0, 0x61, 0x10, 0x89, 0x68, 0x5a, 0x5b, 0x5f, 0xe6, 0xd2, 0xa5, 0x7e,
|
||||
0x5a, 0x5a, 0xde, 0xaa, 0x32, 0x4e, 0x08, 0x0c, 0x21, 0x96, 0x06, 0x79, 0xf8, 0xf0, 0x3e, 0x6d,
|
||||
0x6d, 0x2f, 0x21, 0x84, 0xaa, 0xd1, 0x5f, 0xbb, 0x76, 0x95, 0x52, 0xa9, 0x84, 0xeb, 0xba, 0x98,
|
||||
0xa6, 0x49, 0x57, 0xd7, 0xb6, 0x85, 0x7f, 0x5a, 0x6b, 0x32, 0x99, 0x76, 0xae, 0x5f, 0xef, 0x27,
|
||||
0x99, 0xcc, 0xcc, 0x37, 0xac, 0x58, 0x06, 0xa8, 0x48, 0x22, 0x51, 0xff, 0xb8, 0x1f, 0x04, 0x5c,
|
||||
0xbc, 0xf8, 0x0b, 0xc5, 0xe2, 0x03, 0x5c, 0xd7, 0x44, 0xa9, 0x14, 0x8e, 0x13, 0x70, 0xfe, 0xfc,
|
||||
0x59, 0x7c, 0xff, 0x71, 0xbd, 0x0d, 0xc3, 0x24, 0x1e, 0x17, 0x2b, 0x9f, 0x0c, 0xb1, 0xd8, 0x2a,
|
||||
0xc2, 0xf0, 0xf1, 0x3c, 0x1c, 0x1b, 0xcb, 0x61, 0x59, 0xab, 0x69, 0x58, 0xdb, 0xcc, 0xe5, 0xcb,
|
||||
0xbf, 0x72, 0xea, 0xd4, 0x8f, 0x24, 0x56, 0xa7, 0x49, 0x26, 0xd7, 0xd1, 0xd3, 0x73, 0xba, 0xc6,
|
||||
0x37, 0x91, 0x48, 0xa0, 0x75, 0x38, 0x3f, 0x19, 0x96, 0x8e, 0xc8, 0xb2, 0x12, 0x35, 0xf7, 0x42,
|
||||
0xa1, 0x40, 0x7d, 0xba, 0x91, 0x9e, 0x9e, 0x9f, 0x39, 0x7c, 0xf8, 0x10, 0x00, 0xb7, 0x6f, 0x8f,
|
||||
0xf0, 0xf5, 0xd1, 0x63, 0xe4, 0xf3, 0xa3, 0x28, 0x25, 0x17, 0x01, 0x25, 0xb9, 0x7b, 0xb7, 0x58,
|
||||
0xed, 0xab, 0xa5, 0x40, 0xb4, 0xd6, 0x18, 0x46, 0x2d, 0x5f, 0x82, 0x20, 0x20, 0x5a, 0x17, 0xe5,
|
||||
0xee, 0x9d, 0xf1, 0x05, 0xdd, 0xc4, 0xc4, 0x04, 0xb1, 0x58, 0x0c, 0xa5, 0x6a, 0x6d, 0xa5, 0x54,
|
||||
0xf8, 0xfe, 0x5c, 0xf5, 0xbc, 0x14, 0x19, 0x84, 0x10, 0x94, 0xcb, 0x76, 0x8d, 0x2e, 0x1a, 0x8d,
|
||||
0x52, 0x98, 0xbc, 0xc3, 0xde, 0x0f, 0x3e, 0xa4, 0xb3, 0xb3, 0x8b, 0x96, 0x96, 0x56, 0x0e, 0x1c,
|
||||
0xe8, 0x66, 0x74, 0x74, 0x18, 0xdb, 0x9e, 0xa9, 0x49, 0xf3, 0xec, 0xec, 0x0c, 0xa9, 0x54, 0xe3,
|
||||
0xca, 0x52, 0xe7, 0x38, 0x4e, 0xcd, 0x7d, 0xf3, 0xe6, 0x2d, 0xf4, 0xf6, 0x5e, 0x40, 0x48, 0xc5,
|
||||
0xb1, 0x6f, 0xbf, 0x43, 0x29, 0xc5, 0xfd, 0x7b, 0x45, 0xa6, 0xa7, 0x4a, 0xb4, 0xb7, 0xbf, 0xca,
|
||||
0xe2, 0xfd, 0x66, 0xdb, 0x7f, 0x62, 0x18, 0xeb, 0x96, 0x8f, 0xa8, 0x9a, 0x2a, 0x89, 0xd6, 0xfe,
|
||||
0xa2, 0x28, 0x25, 0xd9, 0x6c, 0x27, 0xc5, 0xc9, 0x3b, 0x8c, 0xe6, 0x7e, 0x67, 0x78, 0xe8, 0x26,
|
||||
0x23, 0xb9, 0x3f, 0x88, 0x5b, 0x71, 0x32, 0x99, 0xf6, 0x9a, 0x6c, 0x3c, 0x78, 0x60, 0xff, 0xf3,
|
||||
0x9a, 0x78, 0x52, 0x1a, 0x1b, 0x5f, 0x64, 0x70, 0xf0, 0x3a, 0x5b, 0xb7, 0xbe, 0xb9, 0xa8, 0xc8,
|
||||
0xab, 0xd9, 0xbd, 0x7b, 0x0f, 0x42, 0x54, 0x23, 0x36, 0xcd, 0x3a, 0x3c, 0xcf, 0x67, 0xf1, 0x38,
|
||||
0x1b, 0x1f, 0xcf, 0xd1, 0xd2, 0xd2, 0xc9, 0xf4, 0xf4, 0xdc, 0xf2, 0x64, 0x98, 0x97, 0x64, 0x72,
|
||||
0x23, 0xf9, 0xfc, 0xd8, 0x53, 0xf5, 0x53, 0x4a, 0x61, 0x59, 0xf1, 0xa7, 0xec, 0xcb, 0x65, 0x9b,
|
||||
0x30, 0x8c, 0x63, 0x9a, 0x75, 0xff, 0x6e, 0xc3, 0xae, 0x5a, 0x15, 0x67, 0x72, 0xd2, 0x66, 0x60,
|
||||
0xe0, 0x0a, 0x61, 0x18, 0x2c, 0x69, 0x3b, 0x36, 0x36, 0xc2, 0xf0, 0xf0, 0x04, 0x9b, 0x36, 0xbd,
|
||||
0x5e, 0xbb, 0x61, 0x1d, 0xc7, 0xd5, 0x2c, 0xc7, 0x08, 0xa0, 0xa1, 0xa1, 0x09, 0x80, 0x33, 0x67,
|
||||
0x7a, 0x68, 0x6f, 0x7f, 0x85, 0x0d, 0x1b, 0x9a, 0x48, 0xa7, 0xeb, 0x01, 0x81, 0x6d, 0xdb, 0xe4,
|
||||
0xf3, 0x79, 0x86, 0x86, 0x6e, 0xd1, 0xdc, 0xbc, 0x85, 0x8e, 0x8e, 0x17, 0x6a, 0x7c, 0x5d, 0xd7,
|
||||
0x43, 0xec, 0xdd, 0xfb, 0xc5, 0xe7, 0x1d, 0x1d, 0xcd, 0xfb, 0x41, 0x46, 0xc3, 0x50, 0x53, 0x2e,
|
||||
0xbb, 0xb8, 0x8f, 0xe6, 0x7c, 0x75, 0xe9, 0x29, 0xa4, 0xac, 0x2e, 0x3e, 0x29, 0xe7, 0xcf, 0x02,
|
||||
0xdf, 0xb7, 0xa5, 0x69, 0x56, 0x54, 0x24, 0xa2, 0xa8, 0x54, 0xcc, 0xa0, 0xae, 0xae, 0x3e, 0x54,
|
||||
0xca, 0x44, 0x4a, 0xb1, 0xe0, 0x57, 0xa9, 0xb8, 0x38, 0x8e, 0x1b, 0x16, 0x0a, 0xa5, 0x9f, 0xc4,
|
||||
0xff, 0xcf, 0xad, 0x67, 0x95, 0xbf, 0x00, 0x63, 0x72, 0x9e, 0xb4, 0x74, 0xe3, 0xad, 0xa6, 0x00,
|
||||
0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE image_xpm[1] = {{ png, sizeof( png ), "image_xpm" }};
|
||||
|
|
|
@ -8,90 +8,88 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x05, 0x22, 0x49, 0x44, 0x41, 0x54, 0x48, 0x4b, 0xb5, 0x96, 0x59, 0x4c, 0x5c,
|
||||
0x65, 0x14, 0xc7, 0xc7, 0x28, 0x3b, 0x6d, 0x11, 0x1f, 0x1a, 0x23, 0x46, 0xfa, 0xa2, 0x7d, 0x11,
|
||||
0xe3, 0x0b, 0xa6, 0xd4, 0x54, 0x1e, 0x88, 0x1a, 0xa1, 0x0a, 0xb4, 0xd5, 0xb6, 0x50, 0xa0, 0x36,
|
||||
0x94, 0x58, 0x13, 0x12, 0xe3, 0xfe, 0xa8, 0xd4, 0x17, 0x7d, 0x40, 0x53, 0xa7, 0x2c, 0xb2, 0xaf,
|
||||
0x03, 0x88, 0x82, 0x2c, 0x01, 0xc2, 0x0e, 0x65, 0x91, 0x25, 0x4a, 0x59, 0xc2, 0xbe, 0xaf, 0x33,
|
||||
0x30, 0xc3, 0xbe, 0x0c, 0x70, 0x3c, 0xff, 0x03, 0x77, 0x18, 0xca, 0xf6, 0xe4, 0x24, 0xff, 0xdc,
|
||||
0x73, 0xef, 0x9d, 0x39, 0xbf, 0xef, 0x2c, 0xdf, 0xf9, 0x46, 0xa5, 0x52, 0xa9, 0x9c, 0x59, 0x6f,
|
||||
0xb2, 0xdc, 0xff, 0x27, 0xc1, 0xb7, 0x33, 0x4b, 0x75, 0x49, 0xaf, 0x37, 0x90, 0x56, 0xab, 0x23,
|
||||
0xdd, 0xec, 0x2c, 0xcd, 0xce, 0xcd, 0xd1, 0x9c, 0x5e, 0x4f, 0x53, 0x53, 0x53, 0xa4, 0x37, 0x18,
|
||||
0xc8, 0x30, 0x3f, 0x2f, 0x9a, 0xd1, 0x6a, 0x69, 0x61, 0x61, 0x61, 0x47, 0x8b, 0x8b, 0xa2, 0xc5,
|
||||
0xa5, 0x25, 0xd1, 0x12, 0xb4, 0xbc, 0x2c, 0xc2, 0xef, 0x15, 0x1b, 0x5a, 0x5d, 0x5d, 0x25, 0x30,
|
||||
0x00, 0x72, 0x9f, 0x99, 0x99, 0xa1, 0xfa, 0xfa, 0x06, 0x9a, 0x9c, 0x9a, 0xa6, 0xe9, 0x19, 0x2d,
|
||||
0x8d, 0x8f, 0x8f, 0x93, 0x46, 0xa3, 0xa1, 0xc1, 0xa1, 0x21, 0x13, 0xb8, 0xae, 0xae, 0x8e, 0x2a,
|
||||
0x2a, 0x2a, 0x04, 0x3a, 0x0f, 0x31, 0x30, 0x33, 0x33, 0x73, 0x07, 0xb8, 0xab, 0xaa, 0xaa, 0x2a,
|
||||
0x6a, 0x68, 0x68, 0x30, 0x2d, 0x60, 0x72, 0x72, 0x92, 0x56, 0x56, 0x56, 0x00, 0x42, 0x64, 0x2a,
|
||||
0x77, 0x44, 0x32, 0x32, 0x32, 0x22, 0xab, 0xd6, 0xea, 0x76, 0x22, 0x1b, 0x1a, 0x1e, 0xa6, 0x8c,
|
||||
0x8c, 0x0c, 0x79, 0x6e, 0xd8, 0x8d, 0xac, 0xb2, 0xb2, 0x92, 0xaa, 0xab, 0xab, 0x77, 0x1c, 0xb3,
|
||||
0x23, 0x80, 0x94, 0x68, 0x6a, 0x6a, 0x6a, 0xe4, 0xdd, 0x32, 0xdb, 0xcb, 0xec, 0xbc, 0xb4, 0xac,
|
||||
0x8c, 0xe2, 0xe2, 0xe2, 0x94, 0x88, 0xf6, 0x40, 0x58, 0x09, 0x20, 0x45, 0x45, 0x45, 0x34, 0xcc,
|
||||
0x10, 0x3d, 0x47, 0x01, 0x08, 0x60, 0xa3, 0x63, 0x63, 0xa6, 0x95, 0xe3, 0x1e, 0x8e, 0xe1, 0x10,
|
||||
0x20, 0xac, 0x18, 0x82, 0x0d, 0xa7, 0x10, 0x22, 0x8f, 0x8f, 0x8f, 0xa7, 0xc4, 0xc4, 0x44, 0x5a,
|
||||
0x5f, 0x5f, 0xdf, 0x03, 0xa1, 0x16, 0x70, 0x86, 0x34, 0xc9, 0x17, 0x92, 0x92, 0x68, 0x64, 0x74,
|
||||
0x54, 0xd2, 0x33, 0xc6, 0x69, 0xcc, 0xca, 0xca, 0x92, 0x95, 0x9b, 0x3b, 0x87, 0x43, 0x3c, 0x5f,
|
||||
0x5b, 0x5b, 0x13, 0xc1, 0x86, 0x53, 0x08, 0x80, 0xa8, 0xa8, 0x28, 0xb9, 0x6e, 0x6c, 0x6c, 0x98,
|
||||
0x81, 0x78, 0xf5, 0x8d, 0x8d, 0x8d, 0x02, 0xc2, 0xcb, 0x98, 0x98, 0x18, 0x4a, 0x4e, 0x4e, 0x96,
|
||||
0x08, 0x00, 0x80, 0x73, 0xa4, 0x63, 0xc5, 0xdc, 0x39, 0x3b, 0x84, 0x0d, 0x47, 0x90, 0x62, 0x1b,
|
||||
0x8d, 0x46, 0x4a, 0xe2, 0x85, 0x02, 0x84, 0xeb, 0xe6, 0xe6, 0xe6, 0x1e, 0x08, 0xf9, 0x1f, 0xe3,
|
||||
0x88, 0x50, 0x0b, 0x80, 0x00, 0x45, 0x3d, 0x94, 0x14, 0x21, 0x5d, 0x88, 0x00, 0x00, 0x40, 0xb1,
|
||||
0x6a, 0x38, 0x85, 0x0d, 0xc7, 0x10, 0x6c, 0x38, 0x85, 0xcc, 0x41, 0x5b, 0x5b, 0x5b, 0x7b, 0x20,
|
||||
0x74, 0x51, 0x53, 0x53, 0x93, 0x14, 0x1c, 0xa0, 0xe6, 0xe6, 0x66, 0x9a, 0x35, 0xcc, 0x88, 0x73,
|
||||
0x74, 0x60, 0x74, 0x74, 0xb4, 0x74, 0x10, 0x04, 0x7b, 0x7a, 0x7a, 0x5a, 0xda, 0x1f, 0x36, 0x3a,
|
||||
0x16, 0xf7, 0x8a, 0x0d, 0xc7, 0x47, 0x82, 0x90, 0xa2, 0xf1, 0x89, 0x09, 0x29, 0xb8, 0x02, 0xfa,
|
||||
0x22, 0xde, 0x8b, 0xee, 0x67, 0x06, 0x72, 0x07, 0xea, 0x24, 0x95, 0x7d, 0x7d, 0x7d, 0x22, 0x38,
|
||||
0xe8, 0xef, 0xef, 0x17, 0xc1, 0x1e, 0x18, 0x18, 0x10, 0x29, 0xf6, 0xf6, 0xf6, 0xf6, 0x3e, 0x10,
|
||||
0xee, 0xf7, 0x81, 0x10, 0x91, 0x39, 0xe8, 0xdb, 0x14, 0x6f, 0xf2, 0x8d, 0xb5, 0xa3, 0xcf, 0x13,
|
||||
0xdf, 0xa5, 0xb1, 0x89, 0x61, 0xd9, 0xa8, 0xf8, 0x1e, 0xba, 0x12, 0x57, 0xa4, 0xb4, 0xb8, 0xb8,
|
||||
0x58, 0x6a, 0x88, 0xe6, 0x80, 0x8d, 0x67, 0x47, 0x82, 0xc2, 0xc2, 0xc2, 0xee, 0xe1, 0x0b, 0xd8,
|
||||
0x43, 0xf8, 0x41, 0x7e, 0x7e, 0x3e, 0x75, 0x74, 0x74, 0x30, 0xc8, 0x87, 0xae, 0xa5, 0xd8, 0xd0,
|
||||
0x75, 0x8d, 0x2d, 0x7d, 0x1a, 0x77, 0x81, 0xc6, 0xb5, 0x83, 0x92, 0x7f, 0xa4, 0x02, 0x3f, 0x56,
|
||||
0x3e, 0xb0, 0x21, 0x3c, 0x57, 0x74, 0x68, 0xea, 0x6a, 0xdb, 0xf3, 0xa9, 0xe0, 0xef, 0x84, 0x03,
|
||||
0x0a, 0x89, 0xb8, 0x48, 0xd7, 0x52, 0x6d, 0xc8, 0x2f, 0xdb, 0x9e, 0x02, 0xf3, 0x4e, 0x53, 0x70,
|
||||
0xbc, 0x0b, 0xb5, 0x0d, 0xd4, 0x0b, 0x4c, 0x01, 0x28, 0x8e, 0x95, 0x26, 0x50, 0x1a, 0xe3, 0xd0,
|
||||
0xae, 0xf3, 0xfb, 0xe5, 0x3c, 0xbd, 0xf7, 0xc0, 0xf2, 0x80, 0x2e, 0x47, 0x58, 0xd1, 0x87, 0x69,
|
||||
0x0c, 0xfa, 0xc3, 0x9e, 0x82, 0x0a, 0x4f, 0xd3, 0xdd, 0x72, 0x07, 0x0a, 0x4e, 0x3d, 0x4f, 0xa5,
|
||||
0xff, 0x6a, 0xc4, 0x99, 0x02, 0x50, 0x9c, 0xa3, 0x0b, 0x8f, 0xdd, 0x47, 0xb7, 0x1f, 0xba, 0xd0,
|
||||
0xfb, 0xd1, 0x96, 0x07, 0xe4, 0x1d, 0x6b, 0x25, 0x11, 0xdd, 0xcc, 0xb6, 0xa3, 0xa0, 0x02, 0x8e,
|
||||
0xa8, 0xd4, 0x81, 0xee, 0xd5, 0x3a, 0xd2, 0xdd, 0xec, 0x73, 0x94, 0x54, 0xf5, 0x83, 0xd4, 0xa3,
|
||||
0xa4, 0xa4, 0x44, 0xe6, 0x1e, 0xf6, 0x61, 0x61, 0x61, 0x21, 0xcd, 0xf2, 0x84, 0xc1, 0x73, 0x73,
|
||||
0x90, 0x69, 0x04, 0x1d, 0x05, 0xfa, 0x20, 0xc6, 0x92, 0xae, 0x26, 0xdb, 0xd0, 0x8d, 0x2c, 0x3b,
|
||||
0x0a, 0xf8, 0xeb, 0x14, 0xdd, 0x29, 0x3e, 0x43, 0x21, 0x15, 0xcf, 0xd2, 0x27, 0x35, 0x8e, 0x14,
|
||||
0x9c, 0xfb, 0x02, 0xfd, 0x98, 0x1b, 0x2c, 0xa3, 0xaa, 0xb7, 0xb7, 0x97, 0xba, 0xba, 0xba, 0xc4,
|
||||
0x71, 0x67, 0x67, 0xa7, 0x80, 0xcd, 0x41, 0x68, 0x96, 0x63, 0x41, 0xd0, 0x95, 0x44, 0x6b, 0xfa,
|
||||
0x88, 0x9b, 0xc1, 0xff, 0x4f, 0x7b, 0x89, 0xea, 0x4e, 0xc9, 0x19, 0x0a, 0x2e, 0x73, 0x10, 0x05,
|
||||
0xe5, 0x38, 0xd2, 0x37, 0x29, 0x5e, 0x34, 0x67, 0xd0, 0x99, 0xf6, 0x1a, 0x5a, 0x1e, 0x51, 0x25,
|
||||
0x24, 0x24, 0x08, 0x08, 0x57, 0x80, 0x4f, 0x04, 0xf9, 0xc4, 0xed, 0xa4, 0x0f, 0x51, 0xdd, 0xca,
|
||||
0xe1, 0xa6, 0xc8, 0x3f, 0x45, 0xb7, 0xb9, 0x5e, 0x10, 0xec, 0x1b, 0x31, 0xcf, 0x53, 0x51, 0x4b,
|
||||
0xaa, 0xa4, 0x2b, 0x3d, 0x3d, 0x5d, 0x36, 0xf1, 0x04, 0xef, 0x47, 0xcc, 0xcb, 0xc8, 0xc8, 0x48,
|
||||
0x01, 0x4d, 0x4c, 0x4c, 0x1a, 0x19, 0xf4, 0xd6, 0xb1, 0x20, 0xc8, 0x37, 0xc1, 0x5a, 0x9a, 0x02,
|
||||
0x30, 0x34, 0x06, 0x80, 0xfe, 0xac, 0x80, 0xd8, 0x73, 0x94, 0xd3, 0x10, 0x25, 0xa9, 0xc1, 0x64,
|
||||
0x48, 0x49, 0x49, 0xa1, 0x1e, 0x4e, 0x23, 0xb6, 0x86, 0x5a, 0xad, 0xa6, 0xd4, 0xd4, 0x54, 0x2a,
|
||||
0x2f, 0x2f, 0xa7, 0xd0, 0xd0, 0xd0, 0x58, 0x06, 0xbd, 0x7e, 0x22, 0x08, 0xb5, 0xf2, 0xe5, 0x14,
|
||||
0x22, 0x32, 0xa4, 0xf1, 0x7a, 0x86, 0x2d, 0x05, 0x46, 0xbd, 0x42, 0x8f, 0x3a, 0x0b, 0xa9, 0xa5,
|
||||
0xa5, 0x45, 0x20, 0x03, 0x83, 0x83, 0x14, 0x1e, 0x1e, 0x2e, 0xf3, 0xae, 0xbe, 0xbe, 0x5e, 0x6a,
|
||||
0x85, 0x4d, 0xef, 0xe7, 0xe7, 0x17, 0xc5, 0x10, 0x57, 0x96, 0xed, 0x89, 0x20, 0x81, 0xfd, 0xc6,
|
||||
0x69, 0x8c, 0xb7, 0x92, 0xe8, 0x3e, 0x8e, 0x78, 0x8d, 0xba, 0x47, 0xff, 0x91, 0xdc, 0xe3, 0x14,
|
||||
0xc6, 0x31, 0xd2, 0xdd, 0xdd, 0x4d, 0xb9, 0xb9, 0xb9, 0xb2, 0xbf, 0x00, 0x66, 0xc8, 0xb6, 0xa7,
|
||||
0xa7, 0xe7, 0x4f, 0x0c, 0x70, 0x61, 0x59, 0xb3, 0x9e, 0x52, 0xdd, 0xfa, 0xf9, 0x55, 0xba, 0xa1,
|
||||
0x76, 0x3e, 0xa0, 0x2b, 0x0f, 0xce, 0xee, 0x83, 0x79, 0x45, 0x58, 0x52, 0x48, 0xe4, 0x05, 0x1a,
|
||||
0x1a, 0xef, 0x95, 0x71, 0x84, 0xa2, 0x03, 0xd4, 0xc9, 0x1d, 0xf7, 0xf8, 0x71, 0xbb, 0x1c, 0xf5,
|
||||
0xa8, 0x0f, 0x4f, 0xfe, 0x2d, 0x0f, 0x0f, 0x8f, 0xfb, 0xec, 0xfc, 0x65, 0x96, 0x15, 0xb3, 0x55,
|
||||
0x90, 0xca, 0xb0, 0x30, 0x4b, 0x3a, 0xfd, 0xd4, 0x01, 0x7d, 0x99, 0xe8, 0x65, 0x82, 0x5c, 0x7e,
|
||||
0x68, 0x43, 0x9f, 0xc5, 0xbd, 0x43, 0x86, 0xc5, 0x39, 0xca, 0xcb, 0xcb, 0x93, 0xe3, 0x44, 0xc7,
|
||||
0xa7, 0x71, 0x4f, 0x4f, 0x8f, 0xd4, 0x02, 0xc7, 0x38, 0x06, 0x6e, 0x6d, 0x6d, 0xad, 0xd1, 0xcd,
|
||||
0xcd, 0xed, 0x6b, 0x06, 0xbc, 0xc4, 0x7a, 0x46, 0x81, 0x08, 0xc8, 0xc9, 0xc9, 0xe9, 0x6d, 0xec,
|
||||
0x5e, 0x84, 0x8c, 0x1d, 0xde, 0xde, 0xde, 0xbe, 0x3b, 0xeb, 0xbc, 0x05, 0xe2, 0xa3, 0x76, 0xa0,
|
||||
0xef, 0x34, 0xfe, 0xbc, 0xf1, 0x76, 0x8e, 0xec, 0xd6, 0xd6, 0x56, 0x13, 0x08, 0x11, 0xb4, 0xb5,
|
||||
0xb5, 0x49, 0x5d, 0xca, 0xca, 0xca, 0xe6, 0x5d, 0x5d, 0x5d, 0x03, 0x19, 0xf0, 0x1c, 0xeb, 0x69,
|
||||
0x73, 0x88, 0x80, 0xf8, 0x73, 0xc9, 0xb8, 0x3b, 0x4a, 0x94, 0xa1, 0x09, 0x1b, 0xa0, 0xab, 0xea,
|
||||
0xb3, 0xa4, 0x2e, 0xf8, 0xca, 0x74, 0x72, 0x62, 0xbc, 0x00, 0x86, 0x4e, 0x43, 0xfa, 0xe6, 0xf8,
|
||||
0x44, 0xe6, 0x03, 0xd3, 0x98, 0x96, 0x96, 0xd6, 0x60, 0x61, 0x61, 0xf1, 0x06, 0xfb, 0xb2, 0x43,
|
||||
0x3d, 0x9e, 0x84, 0x28, 0x20, 0x67, 0xd5, 0x13, 0x7f, 0x20, 0xf9, 0xc8, 0x48, 0xfb, 0x5e, 0x13,
|
||||
0x40, 0xbf, 0x3f, 0x52, 0x6f, 0x97, 0x96, 0x96, 0xfe, 0x6a, 0xfe, 0xee, 0x10, 0x5d, 0x64, 0xbd,
|
||||
0xa8, 0x32, 0xab, 0xc7, 0x61, 0xfa, 0x0f, 0x95, 0x20, 0x3b, 0xce, 0x3e, 0xbe, 0xf9, 0x26, 0x00,
|
||||
0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x05, 0x06, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x9d, 0x96, 0x59, 0x4c, 0x94,
|
||||
0x57, 0x14, 0xc7, 0xa7, 0x36, 0xb6, 0x69, 0x6a, 0xfb, 0x42, 0x9f, 0xfa, 0xe0, 0x83, 0x6f, 0x6d,
|
||||
0xe4, 0xb1, 0x29, 0xa6, 0xf5, 0xb1, 0xc5, 0xf6, 0xa1, 0x61, 0x53, 0x09, 0x58, 0x04, 0x42, 0x20,
|
||||
0x68, 0x4c, 0x59, 0x85, 0xb2, 0x23, 0x5b, 0x0d, 0x24, 0xf0, 0xd2, 0x6a, 0x40, 0x44, 0x24, 0x31,
|
||||
0x40, 0x02, 0x9a, 0xa2, 0x61, 0x71, 0x00, 0x41, 0x06, 0x85, 0x2a, 0x0c, 0x13, 0x28, 0xfb, 0x26,
|
||||
0xca, 0x36, 0x6c, 0xc3, 0xc0, 0x0c, 0xf3, 0xcd, 0x72, 0x7a, 0xfe, 0xb7, 0xf3, 0x4d, 0x87, 0xe1,
|
||||
0x73, 0x49, 0x6f, 0x72, 0xf2, 0xdd, 0xb9, 0xf7, 0x7e, 0xe7, 0x77, 0xb6, 0x7b, 0xbe, 0x51, 0x11,
|
||||
0x91, 0xca, 0x5d, 0x78, 0xbc, 0xef, 0xeb, 0xeb, 0x1b, 0x56, 0x59, 0x59, 0xf9, 0xe7, 0xb5, 0x6b,
|
||||
0xd7, 0x34, 0x78, 0xde, 0xbc, 0x79, 0xf3, 0x6e, 0x55, 0x55, 0x95, 0xa2, 0xdc, 0xb8, 0x71, 0xe3,
|
||||
0x6e, 0xd9, 0xef, 0x7f, 0x34, 0xf8, 0x7c, 0xf3, 0x6d, 0x0c, 0xbf, 0xfb, 0x91, 0xa7, 0x3e, 0x97,
|
||||
0x5e, 0x05, 0xd0, 0x11, 0x8d, 0x46, 0xa3, 0xbb, 0x7f, 0xff, 0x3e, 0x0d, 0x0d, 0x0d, 0x51, 0x5b,
|
||||
0x5b, 0x1b, 0xed, 0xed, 0xed, 0x91, 0xcd, 0x66, 0x13, 0x62, 0xb7, 0xdb, 0xc9, 0xe1, 0x70, 0xb8,
|
||||
0x04, 0x7b, 0xaf, 0x5e, 0xbd, 0xa2, 0x27, 0x7f, 0x3d, 0x97, 0xbe, 0x3f, 0xf5, 0x43, 0x0e, 0xbf,
|
||||
0xff, 0xf1, 0xbb, 0x82, 0x3e, 0x65, 0x4b, 0xf5, 0x2f, 0x5e, 0xbc, 0x20, 0x8c, 0xd5, 0xd5, 0x55,
|
||||
0xea, 0xeb, 0xeb, 0x7b, 0x2d, 0xc8, 0x6c, 0x36, 0xd3, 0xc2, 0xc2, 0x02, 0x3d, 0x7c, 0xa8, 0xa6,
|
||||
0xc1, 0x21, 0x9d, 0xdd, 0xe7, 0xe4, 0x49, 0xc0, 0x3e, 0x79, 0x2b, 0x28, 0x33, 0x33, 0xb3, 0x90,
|
||||
0x15, 0x6f, 0x93, 0x73, 0x48, 0x92, 0x44, 0x5d, 0x5d, 0x5d, 0x6f, 0xf4, 0x68, 0x71, 0x71, 0x91,
|
||||
0x3a, 0x3b, 0x1f, 0x91, 0x56, 0x3b, 0x44, 0xc3, 0x23, 0x23, 0x8e, 0xaf, 0x4f, 0x9c, 0xc8, 0x87,
|
||||
0xc1, 0xaf, 0x05, 0xe5, 0xe6, 0xe6, 0xfe, 0xc2, 0x21, 0x7b, 0xec, 0x80, 0x06, 0x1e, 0x78, 0x74,
|
||||
0x76, 0x76, 0xd2, 0xda, 0xda, 0x9a, 0x22, 0x48, 0x36, 0x64, 0x7d, 0x7d, 0x9d, 0x9e, 0x3d, 0x7b,
|
||||
0x4e, 0x2d, 0xad, 0x6d, 0xfc, 0xdb, 0x42, 0x03, 0x83, 0x83, 0x8e, 0xe3, 0xc7, 0xbf, 0x4c, 0x62,
|
||||
0xd8, 0x87, 0x07, 0x40, 0x71, 0x71, 0x71, 0x3f, 0xdf, 0xb9, 0x73, 0xa7, 0x9f, 0x15, 0xec, 0xc9,
|
||||
0xde, 0xe8, 0x74, 0x3a, 0x1a, 0x1f, 0x1f, 0x27, 0xab, 0xd5, 0xba, 0x0f, 0x24, 0xc3, 0x30, 0xb0,
|
||||
0x66, 0x34, 0x1a, 0x69, 0x6a, 0x6a, 0x9a, 0x1e, 0x3c, 0x78, 0x20, 0x3c, 0xb4, 0x58, 0xf6, 0xe8,
|
||||
0xb1, 0x46, 0x23, 0x79, 0x79, 0x79, 0x05, 0x30, 0xec, 0x90, 0x0b, 0x94, 0x90, 0x90, 0xf0, 0x63,
|
||||
0x69, 0x69, 0xe9, 0xdf, 0x3c, 0xdf, 0x92, 0x21, 0x2b, 0x2b, 0x2b, 0x54, 0x5b, 0x5b, 0x4b, 0xc3,
|
||||
0xc3, 0xc3, 0x34, 0x3a, 0x3a, 0x2a, 0x80, 0xd3, 0xd3, 0xd3, 0x34, 0x37, 0x37, 0x47, 0xc8, 0xdf,
|
||||
0xe6, 0xe6, 0x26, 0xc9, 0x5e, 0xc3, 0xab, 0x8d, 0x8d, 0x0d, 0x1a, 0x19, 0x19, 0x61, 0xaf, 0x9a,
|
||||
0x39, 0xa7, 0xfd, 0x22, 0x6f, 0xad, 0x6a, 0xb5, 0xf1, 0xf0, 0xe1, 0xc3, 0x5f, 0x31, 0xec, 0x3d,
|
||||
0x40, 0x7c, 0x0a, 0x0a, 0x0a, 0x26, 0xd8, 0xca, 0x65, 0x19, 0x82, 0xd0, 0xe9, 0xf5, 0x7a, 0x82,
|
||||
0xa0, 0x18, 0x96, 0x97, 0x97, 0x69, 0x69, 0x69, 0x49, 0xe4, 0x02, 0x15, 0x06, 0x01, 0x48, 0xf6,
|
||||
0x0a, 0x1e, 0xc2, 0x13, 0xc0, 0xe0, 0x19, 0xc2, 0xd8, 0xa3, 0xe9, 0xa5, 0x01, 0xed, 0x20, 0xd5,
|
||||
0x37, 0xde, 0x1d, 0x67, 0xd0, 0x51, 0x55, 0x52, 0x52, 0x52, 0x1b, 0x87, 0x66, 0x9a, 0xde, 0x30,
|
||||
0xe4, 0x9c, 0xc8, 0x61, 0x83, 0x20, 0x64, 0xee, 0xb9, 0xc2, 0x9a, 0xc5, 0x62, 0xa1, 0xed, 0xed,
|
||||
0x6d, 0x91, 0x33, 0x44, 0x04, 0x06, 0xae, 0xad, 0x6f, 0xd0, 0xd1, 0x63, 0xc7, 0x82, 0x54, 0xf1,
|
||||
0xf1, 0xf1, 0xbf, 0x71, 0xc2, 0xbb, 0xfe, 0x0f, 0xc8, 0xb3, 0x30, 0xf0, 0xc4, 0x3a, 0x42, 0x09,
|
||||
0x0f, 0x21, 0x92, 0x64, 0x25, 0x6f, 0x6f, 0xef, 0x50, 0x55, 0x4e, 0x4e, 0xce, 0x21, 0x86, 0xd5,
|
||||
0xf1, 0xe5, 0xec, 0x74, 0x0f, 0x1d, 0x4a, 0xfa, 0xf6, 0xed, 0xdb, 0xd4, 0xd0, 0xd0, 0x40, 0x4d,
|
||||
0x4d, 0x4d, 0xd4, 0xd2, 0xd2, 0x42, 0xed, 0xed, 0xed, 0xd4, 0xdd, 0xdd, 0x4d, 0x4f, 0x9f, 0x3e,
|
||||
0xa5, 0xd9, 0xd9, 0xd9, 0x7d, 0x85, 0x21, 0xc3, 0x3c, 0x8d, 0xc3, 0x10, 0x20, 0x14, 0x03, 0xc3,
|
||||
0x3e, 0x60, 0xd8, 0x43, 0xce, 0xc1, 0x23, 0xf9, 0x20, 0x14, 0xa0, 0x3b, 0x20, 0x0c, 0x08, 0x09,
|
||||
0xac, 0x44, 0xf5, 0x29, 0x55, 0xa0, 0xe7, 0xdd, 0x72, 0x87, 0x62, 0xee, 0x02, 0x41, 0x2e, 0x5c,
|
||||
0xb8, 0x70, 0xe4, 0xca, 0x95, 0x2b, 0xdd, 0xac, 0xb8, 0x4f, 0x3e, 0x84, 0x5b, 0xdf, 0xdc, 0xdc,
|
||||
0x4c, 0x26, 0x93, 0xe9, 0x9d, 0x60, 0x4a, 0xc0, 0x03, 0x20, 0xa7, 0x67, 0x9f, 0x15, 0x16, 0x16,
|
||||
0x3e, 0xd9, 0xda, 0xda, 0x32, 0xcb, 0x30, 0x54, 0x5b, 0x7f, 0x7f, 0xbf, 0xf3, 0x7e, 0x28, 0xc3,
|
||||
0x94, 0x80, 0xee, 0x72, 0x00, 0x04, 0x39, 0x77, 0xee, 0xdc, 0x17, 0xe5, 0xe5, 0xe5, 0xbb, 0x50,
|
||||
0x88, 0x01, 0x85, 0xc8, 0x0d, 0xbc, 0xfb, 0x37, 0xb9, 0xd2, 0x3e, 0x98, 0x27, 0x50, 0x09, 0xaa,
|
||||
0x08, 0x42, 0x43, 0x6c, 0x6d, 0x6d, 0x1d, 0x6f, 0x6c, 0x6c, 0x14, 0xca, 0xd1, 0xbd, 0x5f, 0xbe,
|
||||
0x7c, 0x29, 0xc2, 0x27, 0x60, 0x4e, 0xaf, 0x3c, 0x61, 0x4a, 0x40, 0x59, 0x5e, 0x0b, 0xea, 0xed,
|
||||
0xed, 0xd5, 0x4d, 0x4e, 0x4d, 0x11, 0x60, 0xa8, 0xae, 0x9d, 0x9d, 0x1d, 0xda, 0xdd, 0xdd, 0xfd,
|
||||
0x0f, 0xe6, 0x16, 0x46, 0x25, 0xa0, 0xa7, 0xc8, 0xa0, 0xcf, 0x59, 0xbe, 0x93, 0x85, 0x5b, 0xcc,
|
||||
0x4f, 0x63, 0x63, 0x63, 0x33, 0x46, 0x56, 0xbe, 0xe3, 0x54, 0xee, 0x0e, 0x70, 0x87, 0x60, 0x0e,
|
||||
0x03, 0xde, 0xe6, 0xd5, 0xf5, 0xeb, 0xd7, 0x8b, 0x54, 0x67, 0xcf, 0x9e, 0x5d, 0x0d, 0x0a, 0x0a,
|
||||
0x72, 0xf0, 0xd3, 0x9e, 0x9a, 0x9a, 0x6a, 0x52, 0xab, 0xd5, 0x2b, 0xac, 0xc0, 0x82, 0xd8, 0xe2,
|
||||
0x96, 0x07, 0x07, 0x07, 0xd3, 0xe9, 0xd3, 0xa7, 0x45, 0x1f, 0x93, 0xab, 0x0a, 0xad, 0xa6, 0xa8,
|
||||
0xa8, 0x48, 0xac, 0xfb, 0xfb, 0xfb, 0x53, 0x5a, 0x5a, 0x9a, 0x80, 0x87, 0x87, 0x87, 0x13, 0xb7,
|
||||
0x33, 0x71, 0x66, 0x60, 0x60, 0x80, 0x58, 0x27, 0x95, 0x95, 0x95, 0xa1, 0xe9, 0x2e, 0xab, 0xce,
|
||||
0x9c, 0x39, 0xb3, 0x19, 0x19, 0x19, 0x69, 0xad, 0xab, 0xab, 0xd3, 0x47, 0x47, 0x47, 0x4b, 0x5c,
|
||||
0x0c, 0x36, 0x0e, 0x95, 0xc5, 0xc6, 0x4a, 0x71, 0x69, 0xfd, 0xfc, 0xfc, 0x84, 0xdc, 0xba, 0x75,
|
||||
0xcb, 0x95, 0xdc, 0x5f, 0x59, 0x31, 0xd6, 0x32, 0x32, 0x32, 0xe8, 0xde, 0xbd, 0x7b, 0x94, 0x92,
|
||||
0x92, 0x22, 0x3a, 0x78, 0x48, 0x48, 0x08, 0xf1, 0xa7, 0x46, 0x34, 0xd4, 0xd0, 0xd0, 0x50, 0x4a,
|
||||
0x4c, 0x4c, 0x14, 0x91, 0x70, 0x81, 0xb8, 0xb1, 0xa2, 0x9c, 0x27, 0x99, 0x6e, 0x80, 0x02, 0x2e,
|
||||
0x69, 0x09, 0x2e, 0x17, 0x17, 0x17, 0x53, 0x58, 0x58, 0x18, 0xa5, 0xa7, 0xa7, 0xd3, 0xc5, 0x8b,
|
||||
0x17, 0x05, 0x64, 0x72, 0x72, 0x52, 0x40, 0xf2, 0xf2, 0xf2, 0x0e, 0xb4, 0x26, 0x80, 0x2e, 0x5f,
|
||||
0xbe, 0x4c, 0xb1, 0xb1, 0xb1, 0xc4, 0xc6, 0x8b, 0xa6, 0x8c, 0x7d, 0x17, 0x28, 0x30, 0x30, 0xd0,
|
||||
0x11, 0x11, 0x11, 0x61, 0x85, 0x82, 0xab, 0x57, 0xaf, 0x1a, 0x11, 0x3a, 0x84, 0x02, 0x2f, 0x96,
|
||||
0x94, 0x94, 0x88, 0x36, 0x84, 0x3d, 0x54, 0x5f, 0x47, 0x47, 0x87, 0x98, 0xa3, 0x6b, 0xb8, 0x4a,
|
||||
0xd8, 0x09, 0xc4, 0x79, 0xec, 0x21, 0x9c, 0x9c, 0x67, 0x97, 0x21, 0x2e, 0x10, 0x20, 0xfc, 0x3f,
|
||||
0x61, 0xfd, 0xd2, 0xa5, 0x4b, 0x7b, 0x9c, 0x13, 0xfb, 0xfc, 0xfc, 0xbc, 0xa4, 0xd5, 0x6a, 0xc5,
|
||||
0x4b, 0x9c, 0x33, 0xf1, 0x1d, 0xc2, 0x1c, 0x61, 0x52, 0x04, 0xb9, 0x79, 0x04, 0x08, 0xf6, 0xab,
|
||||
0xb9, 0x4f, 0xda, 0x3d, 0x41, 0x72, 0xe8, 0x7a, 0x7a, 0x7a, 0x16, 0x71, 0x88, 0xef, 0x8e, 0xb5,
|
||||
0xa2, 0xa2, 0x42, 0xbc, 0x80, 0x62, 0x90, 0x2d, 0x4d, 0xe3, 0x10, 0x4e, 0x4c, 0x4c, 0x88, 0x79,
|
||||
0x7e, 0x7e, 0xfe, 0x81, 0x6e, 0x8e, 0x73, 0x59, 0x59, 0x59, 0x94, 0x9d, 0x9d, 0x2d, 0xce, 0xe0,
|
||||
0x6f, 0x00, 0xf6, 0xf6, 0x15, 0x43, 0x7d, 0x7d, 0xbd, 0x1e, 0x40, 0x1c, 0xe0, 0xbb, 0x23, 0x45,
|
||||
0xc7, 0xc4, 0x50, 0x0c, 0x4b, 0x75, 0x75, 0xb5, 0x90, 0xe4, 0xe4, 0x64, 0x0a, 0x08, 0x08, 0xa0,
|
||||
0x2d, 0x83, 0x41, 0x24, 0x1f, 0xe7, 0xb8, 0x37, 0x8a, 0xcf, 0x37, 0x72, 0x88, 0x0a, 0x05, 0x88,
|
||||
0xdb, 0x98, 0x28, 0x0c, 0xe4, 0x14, 0x55, 0x89, 0xaf, 0xb3, 0x00, 0xc9, 0xe5, 0x0d, 0xe1, 0x0e,
|
||||
0x6e, 0xe6, 0xcf, 0xf7, 0x1a, 0x6f, 0x1a, 0x70, 0xa8, 0xa6, 0xa6, 0x46, 0x32, 0x39, 0x07, 0x57,
|
||||
0xa0, 0x05, 0x6b, 0x1c, 0x4a, 0x0b, 0xe7, 0xca, 0xcc, 0x96, 0xdb, 0x38, 0xb7, 0x02, 0xc8, 0x06,
|
||||
0xda, 0x0d, 0x06, 0x83, 0xe9, 0xfc, 0xf9, 0xf3, 0x0e, 0xae, 0x3a, 0x1b, 0xce, 0xcf, 0xcc, 0xcc,
|
||||
0x98, 0xf1, 0x3b, 0x2a, 0x2a, 0xca, 0xc1, 0xe7, 0x97, 0xfe, 0x01, 0x59, 0x66, 0x79, 0x68, 0xc5,
|
||||
0x68, 0xb6, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE import_footprint_names_xpm[1] = {{ png, sizeof( png ), "import_footprint_names_xpm" }};
|
||||
|
|
|
@ -8,85 +8,52 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x04, 0xd4, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x96, 0x49, 0x4f, 0x5d,
|
||||
0x75, 0x18, 0x87, 0x31, 0x6a, 0xe2, 0xc2, 0x98, 0xe8, 0x86, 0x8d, 0x89, 0x71, 0xa3, 0x18, 0x1a,
|
||||
0x59, 0x6a, 0x5c, 0xba, 0xe0, 0xdb, 0x98, 0x7e, 0x08, 0x16, 0x5d, 0xb0, 0x64, 0x86, 0x96, 0x05,
|
||||
0x94, 0x36, 0x1d, 0x80, 0x96, 0x99, 0x36, 0x05, 0x0a, 0x65, 0x86, 0x32, 0xcf, 0x73, 0x69, 0x65,
|
||||
0x86, 0x0b, 0x1c, 0xc6, 0x0b, 0xbc, 0xfe, 0x9e, 0x57, 0xcf, 0xe5, 0x5c, 0x5b, 0x63, 0x62, 0xe2,
|
||||
0x49, 0xde, 0x1c, 0xee, 0xff, 0x9c, 0xfb, 0x7b, 0xde, 0xf9, 0x92, 0x92, 0x92, 0x92, 0xf2, 0x45,
|
||||
0x5a, 0x5a, 0xda, 0x77, 0x19, 0x19, 0x19, 0x37, 0xfe, 0x0f, 0x4b, 0x4f, 0x4f, 0xff, 0x41, 0x8c,
|
||||
0x2f, 0x65, 0x29, 0xe9, 0xbf, 0xaf, 0xad, 0xc5, 0x36, 0xb7, 0xb6, 0x6c, 0x6b, 0x7b, 0xdb, 0xb6,
|
||||
0x77, 0x76, 0x6c, 0x71, 0x69, 0xc9, 0x76, 0xf7, 0xf6, 0x6c, 0x2f, 0x16, 0xb3, 0x2d, 0x9d, 0x2f,
|
||||
0x2e, 0x2e, 0x5a, 0x6c, 0x7f, 0x3f, 0x61, 0x73, 0xf3, 0xf3, 0x76, 0x70, 0x78, 0xe8, 0xb6, 0xba,
|
||||
0xba, 0x6a, 0x87, 0x41, 0x60, 0x83, 0xaf, 0x5f, 0x5b, 0x4d, 0x6d, 0xad, 0xad, 0xbe, 0x7d, 0xeb,
|
||||
0x9f, 0x03, 0x99, 0xdf, 0x8f, 0x8e, 0xe2, 0x62, 0xfc, 0x04, 0xe8, 0xc7, 0xb5, 0xb5, 0xb5, 0x60,
|
||||
0x71, 0x69, 0xd9, 0xd6, 0x37, 0x36, 0xdd, 0x9e, 0x3c, 0x7d, 0x6a, 0x23, 0xa3, 0xa3, 0x0e, 0xdd,
|
||||
0xd8, 0xd4, 0xe7, 0x27, 0x4f, 0x6c, 0x6a, 0x7a, 0xda, 0xc1, 0x38, 0xc0, 0xf3, 0xf5, 0xf5, 0x75,
|
||||
0xdb, 0x17, 0xf4, 0xa9, 0xfe, 0xde, 0x3f, 0x38, 0xb0, 0x87, 0x0f, 0x1f, 0x5a, 0x5e, 0x5e, 0x9e,
|
||||
0x03, 0x43, 0x27, 0x30, 0x81, 0x2e, 0xc5, 0xf8, 0xc5, 0x41, 0xeb, 0x1b, 0x1b, 0xc1, 0xca, 0x9b,
|
||||
0x37, 0xb6, 0xb4, 0xbc, 0x6c, 0x43, 0xc3, 0xc3, 0x46, 0x74, 0x2e, 0x3e, 0x35, 0xe5, 0xc2, 0x3b,
|
||||
0xbb, 0xbb, 0x56, 0x5f, 0x5f, 0xef, 0x91, 0x22, 0xfe, 0xa2, 0xa5, 0xc5, 0xe4, 0x9c, 0x0b, 0xd5,
|
||||
0xd4, 0xd4, 0xd8, 0xa1, 0xee, 0x8f, 0x1e, 0x3d, 0xb2, 0xfc, 0xfc, 0x7c, 0x1b, 0x1a, 0x1a, 0xf2,
|
||||
0x68, 0x42, 0x3b, 0x8a, 0x82, 0x36, 0x04, 0xea, 0xed, 0xeb, 0xb3, 0xb1, 0xf1, 0x71, 0x2b, 0x2c,
|
||||
0x2c, 0x74, 0x20, 0x69, 0xc4, 0xf3, 0xb9, 0xb9, 0x39, 0x4f, 0x17, 0x11, 0x8e, 0xca, 0x10, 0x6f,
|
||||
0x6d, 0x6d, 0x55, 0xe4, 0x1b, 0x2e, 0x54, 0x5b, 0x57, 0x87, 0x98, 0x3d, 0x7e, 0xfc, 0xd8, 0x0a,
|
||||
0x0a, 0x0a, 0x6c, 0x58, 0x8e, 0x1e, 0x1d, 0x1f, 0x27, 0xec, 0xf8, 0xe4, 0xe4, 0x1a, 0xb4, 0xb9,
|
||||
0xb9, 0x19, 0x90, 0xa6, 0x49, 0x45, 0x90, 0x93, 0x93, 0x63, 0xe5, 0x77, 0xef, 0x7a, 0x54, 0x6f,
|
||||
0xdf, 0xbd, 0x73, 0xef, 0x0f, 0x94, 0x9a, 0xd1, 0xb1, 0x31, 0x1b, 0x93, 0x21, 0xde, 0xda, 0xd6,
|
||||
0x66, 0x72, 0xce, 0x85, 0xea, 0x04, 0x3a, 0xd6, 0xbd, 0xb2, 0xb2, 0xd2, 0x9d, 0x1c, 0x19, 0x19,
|
||||
0xb1, 0x93, 0x93, 0x93, 0xa8, 0x45, 0x40, 0x5b, 0x5b, 0x01, 0x29, 0xa3, 0x0e, 0x39, 0xb9, 0xb9,
|
||||
0x96, 0x2b, 0x7b, 0xf9, 0xf2, 0xa5, 0xa9, 0x49, 0xac, 0x45, 0xde, 0x53, 0x54, 0x20, 0xe3, 0x8a,
|
||||
0x18, 0x71, 0x9e, 0xe1, 0x08, 0x42, 0xa4, 0xf4, 0xf4, 0xf4, 0xd4, 0xaa, 0xaa, 0xaa, 0xac, 0xa8,
|
||||
0xa8, 0xc8, 0xa3, 0x3e, 0x3d, 0x3b, 0xb3, 0x33, 0x19, 0x77, 0x3d, 0xbb, 0x06, 0xa9, 0xb3, 0x02,
|
||||
0xea, 0x30, 0x2d, 0x10, 0x90, 0x5c, 0x15, 0x15, 0x31, 0x0a, 0x4e, 0x9a, 0x54, 0x50, 0x1b, 0x9f,
|
||||
0x98, 0xb0, 0x09, 0x19, 0xe2, 0xed, 0xed, 0xed, 0xb6, 0xad, 0xd4, 0x02, 0x68, 0x6c, 0x6c, 0x74,
|
||||
0xd1, 0xea, 0xea, 0x6a, 0x2b, 0x2e, 0x2e, 0x76, 0x67, 0xce, 0xcf, 0xcf, 0xa3, 0x16, 0x01, 0x6d,
|
||||
0x6f, 0x07, 0x0b, 0x6a, 0xe1, 0xe9, 0x99, 0x19, 0x87, 0xe4, 0xa9, 0xa8, 0x80, 0x48, 0x4f, 0x9b,
|
||||
0xd2, 0x44, 0x6a, 0x26, 0x27, 0x27, 0xdd, 0x10, 0xef, 0xe8, 0xe8, 0xb0, 0x1d, 0xa5, 0x1a, 0x21,
|
||||
0x40, 0xdc, 0x01, 0x95, 0x94, 0x94, 0xb8, 0x33, 0xf1, 0x78, 0x3c, 0x61, 0x49, 0x20, 0xd5, 0x27,
|
||||
0x98, 0x90, 0x08, 0x20, 0x20, 0x74, 0x4f, 0xc7, 0xab, 0x57, 0x0e, 0x02, 0x48, 0x14, 0x74, 0x20,
|
||||
0x11, 0xe3, 0xfd, 0x2b, 0x3d, 0xdb, 0x55, 0x06, 0x10, 0x6a, 0x6a, 0x6a, 0xf2, 0x7b, 0x43, 0x43,
|
||||
0x43, 0x12, 0xe8, 0xe2, 0xe2, 0xe2, 0x7d, 0x90, 0xbc, 0x0b, 0x68, 0xe3, 0x59, 0x75, 0x18, 0x90,
|
||||
0x7c, 0x75, 0x4f, 0x67, 0x57, 0x97, 0xd7, 0x81, 0x88, 0x88, 0x82, 0x68, 0x00, 0xe1, 0x3d, 0x11,
|
||||
0xed, 0xe9, 0x7d, 0x84, 0x88, 0x08, 0x51, 0x3a, 0x2f, 0x04, 0xf1, 0x39, 0x34, 0xbd, 0x93, 0x0c,
|
||||
0x1a, 0x18, 0x18, 0xf0, 0x89, 0x07, 0x42, 0x9b, 0x76, 0x75, 0x77, 0x5b, 0xbf, 0xce, 0x00, 0x13,
|
||||
0x05, 0x83, 0x49, 0xe1, 0x11, 0xe7, 0x79, 0xd8, 0x81, 0xb7, 0x6e, 0xdd, 0xf2, 0xe8, 0x2e, 0x2f,
|
||||
0x2f, 0xed, 0xf6, 0xed, 0xdb, 0xee, 0x10, 0x7f, 0x87, 0x26, 0xd8, 0x35, 0x48, 0x2f, 0x06, 0x0c,
|
||||
0xdd, 0xbc, 0x40, 0x88, 0x14, 0xa8, 0x4d, 0x7b, 0x7a, 0x7a, 0x6c, 0x60, 0x70, 0xd0, 0xca, 0xcb,
|
||||
0xcb, 0x3d, 0x8a, 0xe6, 0xe6, 0x66, 0x7b, 0xfe, 0xfc, 0xb9, 0x83, 0x2a, 0x2a, 0x2a, 0xbc, 0xbb,
|
||||
0x18, 0x5e, 0xc4, 0x19, 0xde, 0x10, 0x44, 0x8a, 0xaf, 0xae, 0xae, 0x12, 0xf6, 0x1e, 0x68, 0x76,
|
||||
0x76, 0xd6, 0x16, 0x16, 0x16, 0x1c, 0xc4, 0x3c, 0xf4, 0xf6, 0xf6, 0xba, 0xa7, 0x9c, 0x21, 0x8e,
|
||||
0x18, 0x5d, 0x48, 0x3a, 0x38, 0x63, 0xb6, 0x10, 0x47, 0x98, 0xe7, 0x88, 0xfe, 0x3b, 0x68, 0x6f,
|
||||
0x2f, 0x60, 0x66, 0x58, 0x9e, 0x40, 0x98, 0x87, 0x3e, 0x6d, 0x0a, 0x22, 0x09, 0xbb, 0x27, 0xcc,
|
||||
0x79, 0x34, 0x2d, 0x51, 0x41, 0xae, 0x3b, 0x77, 0xee, 0x78, 0x1d, 0xa3, 0xe7, 0x7a, 0xef, 0x1a,
|
||||
0xa4, 0xc2, 0x06, 0x74, 0x18, 0xbb, 0x0c, 0x08, 0x46, 0xcd, 0xfe, 0x09, 0xf2, 0x77, 0x00, 0x17,
|
||||
0xe7, 0xd1, 0xae, 0x0b, 0x9d, 0x4c, 0xea, 0x3a, 0x40, 0xaf, 0xb5, 0x75, 0x89, 0x08, 0x08, 0x83,
|
||||
0x37, 0xa8, 0xfa, 0xd0, 0x04, 0xd4, 0x01, 0x08, 0xb3, 0x44, 0x9b, 0x23, 0x4e, 0x13, 0x20, 0xcc,
|
||||
0x15, 0xd3, 0x46, 0x47, 0x90, 0x77, 0xc9, 0x06, 0xbb, 0x2e, 0xba, 0x54, 0xf5, 0xbd, 0x64, 0x90,
|
||||
0x96, 0x9f, 0x2d, 0x6b, 0x99, 0x86, 0x20, 0xc0, 0xec, 0xad, 0x07, 0x0f, 0x1e, 0x38, 0xa8, 0x45,
|
||||
0x3b, 0x8f, 0x99, 0x02, 0xc4, 0xd9, 0x8c, 0x66, 0x8e, 0x06, 0xe2, 0x5d, 0xea, 0xc7, 0xdf, 0x6c,
|
||||
0x15, 0x52, 0xce, 0x30, 0x87, 0x26, 0x47, 0x2f, 0xc4, 0xf8, 0xf9, 0x4f, 0x50, 0x2c, 0x16, 0xd0,
|
||||
0x96, 0x51, 0x10, 0xeb, 0x1e, 0x18, 0xe9, 0xc0, 0x7b, 0x06, 0x92, 0x99, 0x01, 0x54, 0x5a, 0x5a,
|
||||
0xea, 0x9e, 0x13, 0x4d, 0x76, 0x76, 0xb6, 0xd7, 0x05, 0xd1, 0xce, 0xce, 0x4e, 0xdf, 0xf6, 0x2b,
|
||||
0x2b, 0x2b, 0x6e, 0x4b, 0x2a, 0x85, 0x96, 0xed, 0x0b, 0x31, 0xbe, 0x71, 0x90, 0xbe, 0xe0, 0xed,
|
||||
0xbd, 0xac, 0x87, 0x40, 0xe8, 0x1e, 0xa2, 0xa1, 0x6e, 0x00, 0x00, 0xf1, 0x19, 0xe3, 0xe2, 0x8c,
|
||||
0x67, 0xa4, 0xb3, 0x5b, 0xf3, 0x46, 0x84, 0x6c, 0x88, 0x67, 0xcf, 0x9e, 0xf9, 0x1c, 0x01, 0x60,
|
||||
0xe7, 0x49, 0xab, 0x49, 0xfa, 0xdf, 0xca, 0x3e, 0x4d, 0x80, 0xf8, 0x49, 0x7e, 0xa3, 0x1f, 0xbf,
|
||||
0xb2, 0xb2, 0x32, 0x5f, 0x9a, 0xe4, 0x1c, 0x8f, 0xbb, 0xb4, 0x21, 0x00, 0x31, 0x63, 0x18, 0x17,
|
||||
0x67, 0x2c, 0x55, 0x9c, 0x23, 0x12, 0xc4, 0xef, 0xdd, 0xbf, 0xef, 0xcf, 0x38, 0xc7, 0xa1, 0xac,
|
||||
0xac, 0xac, 0x7b, 0x7f, 0x45, 0xf2, 0x89, 0x8e, 0x53, 0x12, 0x20, 0xc2, 0xa7, 0xd8, 0x14, 0x3f,
|
||||
0xec, 0x36, 0xd2, 0xc3, 0x5c, 0x84, 0x20, 0xe6, 0x87, 0xd4, 0x21, 0xdc, 0xdf, 0xdf, 0xef, 0x8e,
|
||||
0xe8, 0xb7, 0xcc, 0xcf, 0x59, 0x4b, 0x44, 0xa9, 0x26, 0xba, 0xba, 0x79, 0xf3, 0x66, 0xbe, 0x74,
|
||||
0xbf, 0x0e, 0x21, 0x49, 0x20, 0x3a, 0x84, 0x28, 0x80, 0x91, 0x12, 0x06, 0x16, 0x50, 0xd8, 0xd2,
|
||||
0x51, 0x10, 0xad, 0x4b, 0xd1, 0xf9, 0x09, 0x21, 0x0b, 0x44, 0x40, 0x5b, 0x2b, 0x8d, 0xf1, 0xcc,
|
||||
0xcc, 0xcc, 0xdf, 0xa4, 0x99, 0x2a, 0xfb, 0x38, 0x84, 0x24, 0x81, 0x78, 0x19, 0x10, 0xf3, 0x43,
|
||||
0x87, 0x11, 0x61, 0x74, 0x76, 0x58, 0x9a, 0x38, 0x10, 0x82, 0xf8, 0xcc, 0x08, 0xf0, 0xf3, 0xc0,
|
||||
0xff, 0x0d, 0x5a, 0x51, 0xfb, 0xa9, 0xa9, 0xa9, 0xbf, 0x4a, 0xef, 0x73, 0xd9, 0x47, 0x51, 0x48,
|
||||
0x08, 0xba, 0xa1, 0xf6, 0x5c, 0x93, 0x48, 0x5c, 0xd1, 0xc4, 0xb5, 0xa9, 0x13, 0x26, 0x70, 0x5c,
|
||||
0xa2, 0x09, 0xe3, 0xe2, 0xce, 0x33, 0x65, 0x20, 0xae, 0x34, 0xc7, 0x55, 0x93, 0xb8, 0x20, 0xbd,
|
||||
0xd2, 0xf9, 0x5e, 0xf6, 0xd9, 0x87, 0x20, 0x21, 0x88, 0x7f, 0xee, 0xd2, 0x65, 0x19, 0xff, 0xd1,
|
||||
0xf8, 0xee, 0x57, 0xd1, 0x7a, 0x7c, 0xc8, 0xfe, 0x00, 0x0a, 0x0d, 0x10, 0x76, 0xc6, 0x00, 0x96,
|
||||
0x87, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
0xce, 0x00, 0x00, 0x02, 0xbc, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x96, 0xb1, 0x6e, 0x1b,
|
||||
0x47, 0x10, 0x86, 0xbf, 0x99, 0x3b, 0x16, 0x76, 0xc3, 0xe8, 0x00, 0x35, 0x24, 0x61, 0x50, 0x4f,
|
||||
0xe2, 0x56, 0x2f, 0xa1, 0x57, 0x48, 0xa0, 0x52, 0x11, 0x54, 0x07, 0x10, 0x90, 0x56, 0xb0, 0xe1,
|
||||
0xca, 0xae, 0xf8, 0x00, 0x2e, 0xd9, 0xa4, 0x15, 0x60, 0x40, 0x10, 0xd2, 0xa4, 0x10, 0xa1, 0x44,
|
||||
0xe1, 0x11, 0x48, 0x63, 0x8b, 0x80, 0x62, 0x92, 0xb7, 0xb7, 0xeb, 0xc2, 0xdc, 0xe3, 0xde, 0xf2,
|
||||
0x8e, 0xb4, 0x81, 0x64, 0x81, 0xc5, 0xce, 0x2d, 0xee, 0xf6, 0x9f, 0x6f, 0x66, 0x67, 0x70, 0x02,
|
||||
0x0c, 0x81, 0x01, 0x90, 0xf2, 0xff, 0x0c, 0x03, 0xfc, 0x9d, 0x02, 0x2f, 0x3e, 0x7e, 0xfc, 0xf4,
|
||||
0x9b, 0x31, 0x06, 0x51, 0x41, 0x64, 0x3d, 0x01, 0xc2, 0x55, 0x04, 0xe0, 0xeb, 0xf3, 0x7a, 0xaf,
|
||||
0x7a, 0x16, 0x69, 0x55, 0x49, 0x92, 0x84, 0xe7, 0xcf, 0x9e, 0xbd, 0x4c, 0x01, 0x2d, 0x8a, 0x15,
|
||||
0x77, 0x77, 0x13, 0x86, 0x47, 0x47, 0xa8, 0x2a, 0xaa, 0xeb, 0x43, 0x62, 0x51, 0xd9, 0xec, 0xe3,
|
||||
0x1c, 0x02, 0xb8, 0xc0, 0xa6, 0x41, 0xd4, 0x59, 0x0b, 0xa0, 0x29, 0x80, 0x26, 0x09, 0xfd, 0x7e,
|
||||
0x8f, 0x24, 0xd1, 0xcd, 0xe1, 0x91, 0xc0, 0x16, 0x61, 0xb8, 0xc6, 0x84, 0xc1, 0xf0, 0xce, 0xa9,
|
||||
0xdf, 0xc8, 0xf3, 0xbc, 0x4e, 0x21, 0x82, 0xa8, 0xa2, 0xb1, 0xdd, 0xb4, 0xae, 0xed, 0xf0, 0xdd,
|
||||
0x6a, 0xae, 0x85, 0x52, 0x1f, 0xc7, 0xfe, 0x60, 0x40, 0x92, 0x24, 0x88, 0xf7, 0xe2, 0x7b, 0xc8,
|
||||
0x62, 0x3b, 0x18, 0xaa, 0x1a, 0x10, 0x39, 0x47, 0x3e, 0x9d, 0x7e, 0x7d, 0x7f, 0xed, 0x85, 0x36,
|
||||
0x90, 0x35, 0x12, 0x89, 0x54, 0x44, 0xb2, 0x8f, 0x48, 0x54, 0xe9, 0xf7, 0xfb, 0xa8, 0x6a, 0x8d,
|
||||
0xc2, 0xdb, 0x44, 0x7b, 0xec, 0x58, 0xd9, 0x9b, 0xa3, 0xd9, 0xac, 0x9e, 0xa3, 0x40, 0x54, 0x23,
|
||||
0x42, 0xef, 0x50, 0xe8, 0xd8, 0x56, 0x7e, 0x83, 0x59, 0x11, 0xa9, 0x2a, 0xfd, 0x5e, 0xaf, 0x4e,
|
||||
0x14, 0x51, 0xc5, 0x07, 0xee, 0xa2, 0x68, 0x1a, 0x7b, 0x6f, 0x5d, 0x9b, 0x97, 0xfb, 0x28, 0x9a,
|
||||
0x89, 0x44, 0xb6, 0x73, 0xd4, 0x42, 0x16, 0xc7, 0xbe, 0xed, 0xb9, 0x91, 0xc8, 0x39, 0xc7, 0x74,
|
||||
0x3a, 0xad, 0x2a, 0x3c, 0x14, 0xd1, 0x16, 0x82, 0x98, 0x26, 0x14, 0x6c, 0x25, 0x12, 0x55, 0x06,
|
||||
0x83, 0xc1, 0x86, 0x68, 0x5d, 0xe1, 0x12, 0x79, 0xdb, 0x46, 0xf4, 0x2d, 0xb9, 0xaa, 0x72, 0x34,
|
||||
0xf5, 0x75, 0xb4, 0x23, 0x17, 0x6d, 0x44, 0x6d, 0x74, 0xe1, 0x77, 0xb5, 0x1c, 0x35, 0x25, 0x7f,
|
||||
0x5f, 0xcd, 0x78, 0xdb, 0x5a, 0x8b, 0x73, 0x0e, 0xe7, 0x1c, 0x3e, 0x1d, 0x5b, 0xa1, 0x73, 0xeb,
|
||||
0x5b, 0xd7, 0xed, 0x76, 0x6b, 0x5d, 0xba, 0xc9, 0xb3, 0x78, 0xb5, 0xd6, 0x6e, 0x4d, 0x2f, 0x06,
|
||||
0x90, 0xa6, 0x69, 0x9d, 0xa8, 0x17, 0xdc, 0xba, 0x7d, 0xb5, 0xe2, 0xf7, 0xca, 0xb2, 0xc4, 0x5a,
|
||||
0x4b, 0x59, 0x96, 0x18, 0x63, 0xb6, 0xc4, 0x54, 0x95, 0xc5, 0x62, 0x61, 0x00, 0x57, 0x11, 0xcd,
|
||||
0xf2, 0x9c, 0x1f, 0xba, 0xdd, 0xc6, 0xb0, 0x34, 0x89, 0xfa, 0x03, 0x8b, 0xa2, 0xc0, 0x18, 0xc3,
|
||||
0x6a, 0xb5, 0x62, 0xb1, 0x58, 0xb0, 0x5c, 0x2e, 0x29, 0x8a, 0x82, 0x4e, 0xa7, 0x83, 0xb5, 0xd6,
|
||||
0x5e, 0x5d, 0x5d, 0xbd, 0x03, 0xe6, 0x1b, 0xa2, 0xa8, 0x33, 0xec, 0x0a, 0x9d, 0x17, 0x31, 0xc6,
|
||||
0x60, 0x8c, 0xe1, 0xe9, 0xe9, 0x89, 0x9b, 0x9b, 0x1b, 0x44, 0x84, 0x2c, 0xcb, 0xc8, 0xb2, 0x8c,
|
||||
0xf9, 0x7c, 0xee, 0x2e, 0x2f, 0x2f, 0x5f, 0x8d, 0x46, 0xa3, 0xb7, 0xc0, 0x1f, 0x55, 0x1d, 0xe5,
|
||||
0x79, 0x5e, 0x8b, 0xed, 0xae, 0xab, 0xeb, 0x9c, 0xa3, 0x2c, 0xcb, 0x2a, 0x64, 0x45, 0x51, 0x20,
|
||||
0x22, 0x1c, 0x1f, 0x1f, 0x33, 0x1c, 0x0e, 0x79, 0x7c, 0x7c, 0x74, 0x17, 0x17, 0x17, 0xbf, 0x8e,
|
||||
0x46, 0xa3, 0xd7, 0xc0, 0x2d, 0xf0, 0x39, 0xf5, 0x87, 0xf5, 0x7a, 0xbd, 0xbd, 0xf5, 0x20, 0x22,
|
||||
0xd5, 0xcd, 0xf2, 0xb9, 0x29, 0xcb, 0x92, 0xe5, 0x6a, 0xc5, 0xc1, 0xc1, 0x01, 0xb3, 0xd9, 0x8c,
|
||||
0x87, 0x87, 0x07, 0x7b, 0x7e, 0x7e, 0xfe, 0xcb, 0x78, 0x3c, 0x7e, 0x07, 0xfc, 0xe9, 0x9c, 0x5b,
|
||||
0xd6, 0x3a, 0x43, 0x4c, 0xb4, 0x4b, 0xd4, 0x8b, 0x79, 0xb2, 0xe5, 0x62, 0xc1, 0xe1, 0xe1, 0x21,
|
||||
0x93, 0xc9, 0xc4, 0x9c, 0x9e, 0x9e, 0xfe, 0x3c, 0x1e, 0x8f, 0xdf, 0x00, 0x13, 0x2f, 0xb2, 0xe9,
|
||||
0x0c, 0xdf, 0x48, 0xe4, 0x45, 0x42, 0xb1, 0xb2, 0x2c, 0x49, 0x92, 0x84, 0xfb, 0xfb, 0xfb, 0xf9,
|
||||
0xd9, 0xd9, 0xd9, 0x8f, 0xd7, 0xd7, 0xd7, 0xef, 0x81, 0x4f, 0xce, 0xb9, 0x32, 0xfc, 0x2e, 0x05,
|
||||
0xac, 0x26, 0x09, 0x59, 0x96, 0xed, 0xec, 0x02, 0x71, 0x2f, 0x4b, 0xd3, 0x14, 0xe7, 0x1c, 0x69,
|
||||
0xa7, 0x63, 0x6e, 0x6f, 0x6f, 0x3f, 0x9c, 0x9c, 0x9c, 0xfc, 0x54, 0x14, 0xc5, 0xef, 0xc0, 0xbf,
|
||||
0xae, 0x21, 0xd9, 0xf2, 0x1f, 0xfc, 0x40, 0x16, 0xc0, 0x5f, 0xc0, 0x3f, 0x61, 0xa8, 0xe2, 0xf1,
|
||||
0x05, 0x95, 0x9b, 0x4e, 0x78, 0x5f, 0x66, 0xb8, 0x85, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,
|
||||
0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE new_pcb_xpm[1] = {{ png, sizeof( png ), "new_pcb_xpm" }};
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
|
||||
/* Do not modify this file, it was automatically generated by the
|
||||
* PNG2cpp CMake script, using a *.png file as input.
|
||||
*/
|
||||
|
||||
#include <bitmaps.h>
|
||||
|
||||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||
0xce, 0x00, 0x00, 0x05, 0x2f, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xad, 0x96, 0x4d, 0x6f, 0x14,
|
||||
0xd9, 0x15, 0x86, 0x9f, 0x5b, 0x75, 0xab, 0xab, 0x3f, 0xdc, 0x6e, 0x5b, 0x06, 0x0f, 0x99, 0xcc,
|
||||
0xe0, 0xb1, 0x3b, 0x0a, 0xd2, 0x10, 0x69, 0x3c, 0x2d, 0x88, 0x8c, 0x64, 0x40, 0x10, 0x90, 0x50,
|
||||
0x94, 0x59, 0x8d, 0x66, 0x97, 0x5d, 0x16, 0x88, 0x25, 0x8b, 0x2c, 0xf8, 0x15, 0x2c, 0xf2, 0x07,
|
||||
0x92, 0x45, 0xb2, 0x42, 0x42, 0x59, 0x86, 0x0c, 0x4a, 0x76, 0x64, 0x62, 0x8b, 0xaf, 0x40, 0x88,
|
||||
0x47, 0x96, 0x09, 0x89, 0x89, 0x8d, 0xed, 0x71, 0xb7, 0xbb, 0xba, 0xba, 0x3e, 0xba, 0xef, 0x3d,
|
||||
0x59, 0xe4, 0x96, 0xd5, 0xd8, 0x26, 0x1a, 0x45, 0x29, 0xe9, 0xe8, 0x54, 0xd7, 0xbd, 0x75, 0xde,
|
||||
0x73, 0xde, 0xf3, 0x9e, 0x5b, 0xad, 0x44, 0x84, 0xff, 0xc7, 0xa5, 0x94, 0x3a, 0x01, 0x2c, 0x02,
|
||||
0xe7, 0x9d, 0x1f, 0x03, 0x96, 0x80, 0x3f, 0x03, 0x5f, 0xaa, 0xff, 0x15, 0x48, 0x29, 0xf5, 0xfd,
|
||||
0x91, 0xa0, 0x8b, 0xc0, 0xf7, 0x00, 0xa6, 0xa6, 0xa6, 0x76, 0x2f, 0x5d, 0xba, 0xf4, 0x75, 0x9e,
|
||||
0xe7, 0xd9, 0xbd, 0x7b, 0xf7, 0x3e, 0x4c, 0xd3, 0x74, 0x0e, 0xf8, 0xd5, 0xb7, 0x02, 0x52, 0x4a,
|
||||
0x69, 0x60, 0xfe, 0x40, 0xe0, 0xe9, 0x30, 0x0c, 0x69, 0xb5, 0x5a, 0xff, 0xba, 0x72, 0xe5, 0xca,
|
||||
0xeb, 0xf3, 0xe7, 0xcf, 0x4b, 0xb3, 0xd9, 0xfc, 0x4e, 0x10, 0x04, 0x1f, 0x02, 0x6c, 0x6c, 0x6c,
|
||||
0xac, 0xb6, 0xdb, 0xed, 0x67, 0xd7, 0xae, 0x5d, 0x6b, 0x02, 0x7f, 0xd2, 0xef, 0x08, 0x5c, 0x03,
|
||||
0x16, 0x46, 0xa8, 0x58, 0x50, 0x4a, 0xd5, 0xe6, 0xe6, 0xe6, 0xec, 0xe2, 0xe2, 0xe2, 0xfa, 0xe5,
|
||||
0xcb, 0x97, 0xb7, 0xe6, 0xe7, 0xe7, 0x7b, 0x93, 0x93, 0x93, 0x27, 0x81, 0xf7, 0x9d, 0xd1, 0xe9,
|
||||
0x74, 0x92, 0x3c, 0xcf, 0xbf, 0x99, 0x9e, 0x9e, 0x9e, 0x12, 0x11, 0x2b, 0x22, 0x16, 0x28, 0x01,
|
||||
0x03, 0xed, 0x02, 0x1f, 0x3f, 0xc0, 0xef, 0xa7, 0xc7, 0x8f, 0x1f, 0xd7, 0xad, 0x56, 0x2b, 0xbf,
|
||||
0x78, 0xf1, 0xe2, 0xe6, 0xb9, 0x73, 0xe7, 0xb6, 0x66, 0x66, 0x66, 0xa6, 0xb5, 0xd6, 0x35, 0xe0,
|
||||
0x24, 0x40, 0x96, 0x65, 0x66, 0x79, 0x79, 0xd9, 0x2c, 0x2d, 0x2d, 0xf1, 0xf8, 0xf1, 0x63, 0x1e,
|
||||
0x3d, 0x7a, 0x34, 0xdc, 0xdc, 0xdc, 0xd4, 0xb7, 0x6e, 0xdd, 0xfa, 0xfb, 0x8d, 0x1b, 0x37, 0xa6,
|
||||
0xe4, 0x3f, 0x54, 0x59, 0x20, 0x00, 0x06, 0x5a, 0x29, 0xf5, 0x23, 0xad, 0xf5, 0x97, 0xad, 0x56,
|
||||
0x8b, 0xb3, 0x67, 0xcf, 0xf6, 0x2f, 0x5c, 0xb8, 0xb0, 0x77, 0xfa, 0xf4, 0xe9, 0xde, 0xf8, 0xf8,
|
||||
0xf8, 0x84, 0xcb, 0xe6, 0xa4, 0x31, 0x86, 0xb5, 0xb5, 0x35, 0xfb, 0xf0, 0xe1, 0x43, 0x9e, 0x3c,
|
||||
0x79, 0xc2, 0xb3, 0x67, 0xcf, 0x7a, 0xaf, 0x5e, 0xbd, 0x5a, 0xd5, 0x5a, 0xb7, 0x83, 0x20, 0x10,
|
||||
0x6b, 0xed, 0x84, 0x31, 0xa6, 0x19, 0x86, 0xe1, 0x46, 0xb9, 0x5c, 0xf6, 0x00, 0x8c, 0x31, 0x16,
|
||||
0x90, 0x7d, 0x20, 0xa0, 0x3c, 0x33, 0x33, 0xc3, 0x9d, 0x3b, 0x77, 0x00, 0xaa, 0x22, 0x52, 0x7d,
|
||||
0xf3, 0xe6, 0x0d, 0x0f, 0x1e, 0x3c, 0xe0, 0xe9, 0xd3, 0xa7, 0xac, 0xac, 0xac, 0x6c, 0xad, 0xae,
|
||||
0xae, 0xbe, 0x14, 0x91, 0xa8, 0x56, 0xab, 0x95, 0xc3, 0x30, 0x9c, 0xd6, 0x5a, 0x7f, 0x74, 0xea,
|
||||
0xd4, 0xa9, 0x79, 0xad, 0x35, 0x83, 0xc1, 0x80, 0x9d, 0x9d, 0x1d, 0x7a, 0xbd, 0x1e, 0x22, 0xb2,
|
||||
0x51, 0x2a, 0x95, 0x14, 0x80, 0x88, 0x88, 0x52, 0xea, 0x2d, 0xea, 0xf6, 0xfb, 0x74, 0xff, 0xfe,
|
||||
0x7d, 0x6e, 0xdf, 0xbe, 0xbd, 0xa4, 0x94, 0xea, 0x55, 0xa7, 0xc7, 0xc7, 0xc3, 0x81, 0xff, 0x9e,
|
||||
0x52, 0xea, 0xbb, 0xcd, 0x66, 0x73, 0xda, 0xf7, 0x7d, 0x3c, 0xcf, 0x03, 0xd8, 0xf7, 0x69, 0x9a,
|
||||
0xd2, 0xed, 0x76, 0x49, 0xd3, 0x14, 0x6b, 0x2d, 0x22, 0xa2, 0xc2, 0x30, 0xf4, 0x1c, 0x50, 0xd1,
|
||||
0xa3, 0xe0, 0x10, 0xd0, 0xe6, 0xe6, 0x26, 0x69, 0x9a, 0xae, 0x54, 0x7f, 0xfc, 0xfe, 0x4f, 0x97,
|
||||
0x7f, 0x6e, 0x69, 0xfe, 0xae, 0xc4, 0xdc, 0xef, 0xcb, 0x94, 0x12, 0x0f, 0xa5, 0xd4, 0xbe, 0x58,
|
||||
0x44, 0x84, 0x2c, 0xcb, 0xe8, 0x74, 0x3a, 0xb4, 0xdb, 0x6d, 0x06, 0x83, 0xc1, 0xbe, 0x8e, 0x46,
|
||||
0x2b, 0x72, 0x7d, 0x0a, 0x80, 0x81, 0x37, 0x0a, 0xa4, 0x94, 0xc2, 0xf7, 0x7d, 0xed, 0x97, 0x35,
|
||||
0xa5, 0x58, 0xf1, 0xb7, 0xcf, 0x13, 0xee, 0xdd, 0xee, 0xf0, 0xe2, 0x8b, 0x84, 0xbc, 0x2e, 0xfb,
|
||||
0x20, 0x79, 0x9e, 0xd3, 0x6e, 0xb7, 0xd9, 0xd9, 0xd9, 0x21, 0xcb, 0x32, 0x8a, 0x11, 0x11, 0x11,
|
||||
0xc2, 0x30, 0xf4, 0x8b, 0x8a, 0xde, 0x49, 0x9d, 0x88, 0xe0, 0x79, 0x9e, 0x3e, 0xf6, 0xc8, 0xe7,
|
||||
0xea, 0xad, 0x3a, 0xeb, 0x3f, 0xcc, 0xf8, 0xfa, 0xb3, 0x84, 0x95, 0x9f, 0xf4, 0x59, 0xbd, 0xda,
|
||||
0x67, 0xf6, 0x0f, 0x15, 0x66, 0x7f, 0xab, 0xe9, 0x6f, 0xef, 0xb1, 0xb5, 0xb5, 0x45, 0x92, 0x24,
|
||||
0x8c, 0xce, 0xa1, 0x88, 0x78, 0xa3, 0xd4, 0x39, 0xa0, 0xa3, 0x2b, 0xf2, 0x3c, 0x4f, 0x2b, 0xa5,
|
||||
0x50, 0x16, 0xa6, 0x56, 0x03, 0xc6, 0x36, 0xbc, 0x62, 0x11, 0x3f, 0x16, 0xd2, 0x9d, 0x98, 0xed,
|
||||
0xed, 0x6d, 0xfa, 0xfd, 0x3e, 0xd6, 0xda, 0xb7, 0xe6, 0x4f, 0x44, 0x08, 0x82, 0xa0, 0x50, 0x9d,
|
||||
0xb8, 0x75, 0xef, 0x5d, 0x15, 0x79, 0x26, 0x84, 0xbf, 0x7e, 0xde, 0x67, 0xf5, 0x5a, 0x82, 0x09,
|
||||
0x84, 0x0f, 0xbe, 0x0a, 0xf9, 0xf8, 0x37, 0x15, 0xcc, 0x3f, 0xfb, 0xbc, 0x7e, 0xfd, 0x86, 0x28,
|
||||
0x8a, 0x30, 0xc6, 0x1c, 0x35, 0xeb, 0x5e, 0xa9, 0x54, 0x2a, 0x62, 0xd9, 0x91, 0x3d, 0xb9, 0x3e,
|
||||
0x50, 0x91, 0xf8, 0xbe, 0x1f, 0x7c, 0xf3, 0x89, 0x61, 0xe5, 0xb3, 0x94, 0xc6, 0x3f, 0x34, 0x9f,
|
||||
0xfc, 0x7a, 0x8c, 0xc9, 0x17, 0x1e, 0x2b, 0x17, 0x22, 0x3a, 0x1f, 0x47, 0xc4, 0x43, 0x8d, 0xd1,
|
||||
0x93, 0x78, 0xdb, 0x86, 0xca, 0x2f, 0x77, 0x0f, 0x56, 0xa4, 0x8a, 0x8a, 0x9c, 0x16, 0x0a, 0x05,
|
||||
0x0d, 0xb4, 0xe3, 0xb0, 0x90, 0xad, 0x05, 0xfc, 0x13, 0xcb, 0x01, 0x0b, 0xbf, 0x28, 0x71, 0xe2,
|
||||
0x61, 0x80, 0x18, 0x21, 0x4d, 0x53, 0x56, 0xbf, 0xc8, 0x19, 0x36, 0xca, 0x40, 0x19, 0x00, 0xfd,
|
||||
0x3c, 0x3d, 0x04, 0xe4, 0x54, 0xe7, 0x01, 0x58, 0x6b, 0x47, 0x2b, 0xda, 0xa7, 0x4e, 0x00, 0xe5,
|
||||
0x79, 0x9e, 0xf5, 0x7d, 0x5f, 0x2b, 0xa5, 0x78, 0x6f, 0x49, 0x33, 0x18, 0x0e, 0x48, 0xd3, 0x94,
|
||||
0xdd, 0xdd, 0x5d, 0x8e, 0xfd, 0xac, 0x4b, 0x9e, 0xe6, 0x90, 0x5b, 0xc8, 0x04, 0x95, 0xd8, 0x43,
|
||||
0xbc, 0x89, 0x88, 0xe7, 0xe4, 0x9d, 0xbb, 0x3e, 0xbd, 0x55, 0x91, 0x56, 0x4a, 0x19, 0xe7, 0xad,
|
||||
0xb5, 0xd6, 0xcb, 0xb2, 0x8c, 0x24, 0x49, 0xe8, 0x74, 0x3a, 0xec, 0xed, 0xed, 0x91, 0x24, 0x09,
|
||||
0xf6, 0xf5, 0x10, 0xff, 0xbf, 0x9f, 0xf4, 0x43, 0xc0, 0xd3, 0x5a, 0x7b, 0x22, 0x92, 0x1d, 0x09,
|
||||
0xe4, 0x36, 0x69, 0xc0, 0x46, 0x51, 0x64, 0xb3, 0x2c, 0x23, 0x8e, 0x63, 0xb2, 0x2c, 0xc3, 0x18,
|
||||
0x73, 0x48, 0x5d, 0xef, 0xb8, 0xb2, 0x02, 0x48, 0x29, 0x95, 0x15, 0xe2, 0x3a, 0x58, 0xd1, 0xd0,
|
||||
0x3d, 0xb0, 0xeb, 0xeb, 0xeb, 0x33, 0x95, 0x4a, 0xe5, 0xb9, 0x31, 0xc6, 0x58, 0x6b, 0x0d, 0x60,
|
||||
0x45, 0xc4, 0x88, 0x48, 0x71, 0x6f, 0x01, 0x63, 0xad, 0xb5, 0x8e, 0x09, 0x6b, 0xad, 0x35, 0x22,
|
||||
0x32, 0x04, 0xae, 0x06, 0x41, 0xd0, 0x03, 0x52, 0x80, 0xe1, 0x70, 0x78, 0xa8, 0x22, 0x03, 0x70,
|
||||
0xe6, 0xcc, 0x19, 0x6e, 0xde, 0xbc, 0x79, 0x2c, 0x8e, 0x63, 0x1b, 0x45, 0x91, 0xc4, 0x71, 0x6c,
|
||||
0xbb, 0xdd, 0xae, 0xed, 0xf5, 0x7a, 0x12, 0x45, 0x91, 0x8d, 0xa2, 0xc8, 0x76, 0xbb, 0x5d, 0x89,
|
||||
0xa2, 0xc8, 0x26, 0x49, 0x72, 0x14, 0x8f, 0x5b, 0xa5, 0x52, 0xa9, 0xe6, 0xaa, 0x3b, 0x92, 0x3a,
|
||||
0x0f, 0x60, 0x76, 0x76, 0xb6, 0x76, 0xfd, 0xfa, 0xf5, 0x6f, 0xfb, 0x35, 0x1f, 0x02, 0x91, 0xb3,
|
||||
0xae, 0x88, 0x44, 0x4a, 0xa9, 0xae, 0xfb, 0xa6, 0x6d, 0x39, 0xe5, 0xbd, 0x05, 0x54, 0x5a, 0x5b,
|
||||
0x5b, 0xab, 0x2f, 0x2c, 0x2c, 0x50, 0xad, 0x56, 0x19, 0x1b, 0x1b, 0xdb, 0xb7, 0x5a, 0xad, 0x26,
|
||||
0x8d, 0x46, 0x23, 0x6d, 0x34, 0x1a, 0xf9, 0xc4, 0xc4, 0x44, 0xde, 0x68, 0x34, 0xcc, 0xc4, 0xc4,
|
||||
0x84, 0xa9, 0xd7, 0xeb, 0x52, 0xaf, 0xd7, 0x55, 0xb5, 0x5a, 0xf5, 0xaa, 0xd5, 0x6a, 0xa5, 0x5c,
|
||||
0x2e, 0x8f, 0x87, 0x61, 0x18, 0x6a, 0xad, 0x43, 0xa5, 0x94, 0x17, 0xc7, 0xb1, 0xf7, 0xf2, 0xe5,
|
||||
0xcb, 0xbf, 0xdc, 0xbd, 0x7b, 0x77, 0xb2, 0x00, 0x52, 0xc0, 0x07, 0xee, 0x8f, 0xc5, 0x31, 0xa0,
|
||||
0x32, 0x62, 0x55, 0xe7, 0x6b, 0xee, 0xbe, 0x06, 0xd4, 0x9d, 0x8d, 0x1f, 0xf0, 0x63, 0x80, 0x02,
|
||||
0xa8, 0x54, 0x2a, 0x94, 0xcb, 0x65, 0xda, 0xed, 0x76, 0x21, 0x90, 0x3f, 0x02, 0xd7, 0x15, 0xf0,
|
||||
0x03, 0xe0, 0x53, 0xe0, 0xc4, 0x08, 0x25, 0x43, 0x60, 0xe0, 0x36, 0xa6, 0xce, 0x12, 0xf7, 0x7b,
|
||||
0xe0, 0x6c, 0x38, 0xe2, 0x8b, 0x53, 0xba, 0x02, 0x84, 0x2e, 0x31, 0x05, 0x7c, 0x05, 0x74, 0x44,
|
||||
0xc4, 0x16, 0xd2, 0x4e, 0xdc, 0x90, 0x55, 0xdc, 0xe8, 0x8f, 0xf6, 0x4e, 0x8d, 0xf4, 0xc5, 0x3a,
|
||||
0xe1, 0x0c, 0x0f, 0x00, 0x0d, 0xdd, 0xfb, 0x99, 0x8b, 0x95, 0x00, 0x1d, 0x60, 0x0a, 0x18, 0x28,
|
||||
0xa5, 0x62, 0x0d, 0x6c, 0xb8, 0x85, 0x17, 0x2e, 0xab, 0xe2, 0x58, 0x0a, 0x5c, 0x76, 0xc5, 0xb9,
|
||||
0x53, 0x64, 0x5b, 0x1a, 0x59, 0xd7, 0xee, 0x79, 0x91, 0x98, 0x72, 0x66, 0x80, 0x36, 0xf0, 0x1c,
|
||||
0x88, 0x81, 0xe4, 0xdf, 0xcc, 0xce, 0xc6, 0x31, 0x0e, 0xd1, 0x38, 0x5b, 0x00, 0x00, 0x00, 0x00,
|
||||
0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE py_script_xpm[1] = {{ png, sizeof( png ), "py_script_xpm" }};
|
||||
|
||||
//EOF
|
|
@ -8,210 +8,88 @@
|
|||
static const unsigned char png[] = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x08, 0x06, 0x00, 0x00, 0x00, 0x57, 0x02, 0xf9,
|
||||
0x87, 0x00, 0x00, 0x0c, 0x98, 0x49, 0x44, 0x41, 0x54, 0x68, 0xde, 0xd5, 0x9a, 0x6b, 0x6c, 0x5c,
|
||||
0xc7, 0x75, 0xc7, 0x7f, 0x77, 0xef, 0x63, 0xdf, 0x4b, 0xed, 0x2e, 0xa9, 0x15, 0x1f, 0xcb, 0x87,
|
||||
0x62, 0x29, 0x92, 0x4c, 0xc5, 0x26, 0x65, 0xc9, 0x90, 0x95, 0x38, 0x0d, 0xda, 0x3a, 0xb2, 0x95,
|
||||
0x34, 0x75, 0x04, 0x18, 0x30, 0x10, 0x14, 0x95, 0xeb, 0xc0, 0x71, 0x9b, 0xa6, 0x40, 0x8a, 0x02,
|
||||
0x4d, 0xdb, 0xcf, 0x05, 0x0a, 0xb4, 0xf9, 0xe2, 0x6f, 0xfd, 0x58, 0x58, 0x40, 0x5d, 0xb7, 0x0e,
|
||||
0xe2, 0x20, 0x71, 0x10, 0xdb, 0x42, 0x92, 0xca, 0xb2, 0x25, 0xdb, 0xb2, 0x24, 0x8a, 0x54, 0x25,
|
||||
0xc6, 0x7c, 0x89, 0xa4, 0x96, 0x2f, 0x91, 0xfb, 0xde, 0xfb, 0x98, 0x3b, 0xfd, 0xb0, 0x0f, 0x2d,
|
||||
0xf7, 0xc1, 0x87, 0x3e, 0x14, 0xe8, 0x2c, 0x06, 0x33, 0x77, 0x66, 0x76, 0x70, 0xfe, 0x73, 0xce,
|
||||
0xf9, 0x9f, 0x33, 0x77, 0x57, 0x91, 0x52, 0xf2, 0xff, 0xb9, 0x68, 0xed, 0x26, 0x5e, 0x78, 0xe1,
|
||||
0x85, 0x90, 0xa6, 0x69, 0x6f, 0xed, 0xd9, 0xb3, 0xe7, 0xb8, 0xa6, 0x69, 0x8a, 0xc7, 0xe3, 0xa1,
|
||||
0xbe, 0x2a, 0x8a, 0x82, 0xaa, 0xaa, 0x28, 0x8a, 0x52, 0x1b, 0x6b, 0x7c, 0xae, 0x5f, 0xbb, 0xd5,
|
||||
0x9a, 0xea, 0x73, 0xb5, 0xad, 0xae, 0x69, 0x55, 0x8b, 0xc5, 0xe2, 0x74, 0xb1, 0x58, 0x3c, 0xfb,
|
||||
0xea, 0xab, 0xaf, 0x4e, 0x6d, 0x09, 0xa0, 0x50, 0x28, 0x9c, 0x7d, 0xf1, 0xc5, 0x17, 0xbf, 0x7a,
|
||||
0xf6, 0xec, 0x59, 0x43, 0x08, 0x51, 0x1b, 0x57, 0x14, 0xa5, 0xe5, 0xfa, 0x76, 0xe3, 0x0f, 0xbb,
|
||||
0xae, 0xb1, 0x48, 0x29, 0x51, 0x55, 0x95, 0x7b, 0xf7, 0xee, 0x3d, 0x7e, 0xe1, 0xc2, 0x85, 0x1f,
|
||||
0x01, 0xdf, 0xdd, 0x12, 0x00, 0x10, 0x4d, 0x24, 0x12, 0x86, 0x6d, 0xdb, 0x14, 0x0a, 0x85, 0x2d,
|
||||
0x37, 0x17, 0x42, 0x60, 0x59, 0x16, 0x7e, 0xbf, 0x9f, 0x46, 0x93, 0xac, 0x7f, 0x6e, 0xd5, 0xdf,
|
||||
0x4d, 0xeb, 0xf3, 0xf9, 0xf0, 0xfb, 0xfd, 0x68, 0x9a, 0x96, 0xa8, 0xee, 0xe3, 0xd9, 0xe9, 0xa9,
|
||||
0x6d, 0x55, 0xd7, 0xd6, 0xd6, 0x98, 0x9e, 0x9e, 0x6e, 0x5a, 0x5b, 0xff, 0xdc, 0xaa, 0xbf, 0xdb,
|
||||
0xb6, 0xda, 0x57, 0x55, 0x75, 0x7b, 0x1f, 0xd8, 0x8d, 0xea, 0xa5, 0x94, 0x48, 0x29, 0x6b, 0x6b,
|
||||
0x1c, 0xc7, 0xe1, 0xda, 0xb5, 0x6b, 0x58, 0x96, 0xc5, 0xc9, 0x93, 0x27, 0x9b, 0xd6, 0xb6, 0xda,
|
||||
0x6b, 0x7c, 0x7c, 0x1c, 0x45, 0x51, 0xe8, 0xe9, 0xe9, 0x21, 0x12, 0x89, 0xd4, 0xd6, 0x35, 0xb6,
|
||||
0xf5, 0x40, 0xb6, 0xd5, 0x40, 0xe3, 0x29, 0xb4, 0xd2, 0x46, 0xab, 0xb1, 0xc9, 0xc9, 0x49, 0x46,
|
||||
0x46, 0x46, 0xf0, 0x7a, 0xbd, 0x6d, 0xd7, 0x34, 0xee, 0x6f, 0x59, 0x16, 0xc9, 0x64, 0x92, 0x99,
|
||||
0x99, 0x99, 0x2d, 0x35, 0xd5, 0x58, 0x3c, 0xbb, 0x35, 0x9f, 0x76, 0xf3, 0xf5, 0xfd, 0x83, 0x07,
|
||||
0x0f, 0xf2, 0xfe, 0xfb, 0xef, 0x63, 0x18, 0xc6, 0x8e, 0x4d, 0xc7, 0x30, 0x0c, 0xae, 0x5c, 0xb9,
|
||||
0xc2, 0xd1, 0xa3, 0x47, 0xdb, 0x7e, 0xa7, 0x95, 0x2f, 0x69, 0xbb, 0xd5, 0xc0, 0x76, 0x20, 0xa5,
|
||||
0x94, 0xe8, 0xba, 0xce, 0xe9, 0xd3, 0xa7, 0x9b, 0x9c, 0xb0, 0xd5, 0x3e, 0xd5, 0xf1, 0xe1, 0xe1,
|
||||
0x61, 0x86, 0x87, 0x87, 0x9b, 0x9c, 0xb7, 0xde, 0x7c, 0xaa, 0xc5, 0x75, 0xdd, 0x9d, 0xfb, 0x40,
|
||||
0xe3, 0xc9, 0x4f, 0x4c, 0x4c, 0xb0, 0xb1, 0xb1, 0x51, 0xa5, 0x5a, 0x54, 0x55, 0x45, 0xd7, 0x75,
|
||||
0x84, 0x10, 0x5c, 0xbc, 0x78, 0x91, 0x42, 0xa1, 0x40, 0x38, 0x1c, 0xae, 0x39, 0xdb, 0xe8, 0xe8,
|
||||
0xe8, 0x26, 0xa7, 0x6b, 0xb4, 0xe9, 0x56, 0x60, 0xea, 0xe7, 0xea, 0xc7, 0xea, 0x59, 0x6f, 0x47,
|
||||
0x00, 0xa4, 0x94, 0xd8, 0xb6, 0xcd, 0xfc, 0xfc, 0x3c, 0xc9, 0x64, 0x12, 0x80, 0xa1, 0xa1, 0x21,
|
||||
0x4c, 0xd3, 0xc4, 0x34, 0x4d, 0x26, 0x26, 0x26, 0x38, 0x78, 0xf0, 0x20, 0xc1, 0x60, 0xb0, 0xb6,
|
||||
0xf1, 0xf8, 0xf8, 0x38, 0x89, 0x44, 0x82, 0x68, 0x34, 0x8a, 0xaa, 0xaa, 0x68, 0x9a, 0xd6, 0xd6,
|
||||
0x21, 0x77, 0x22, 0x70, 0xab, 0x7e, 0xbd, 0x06, 0xb6, 0x75, 0xe2, 0x5c, 0x2e, 0xc7, 0xec, 0xec,
|
||||
0x6c, 0x4d, 0x13, 0xc1, 0x60, 0x90, 0x58, 0x2c, 0x46, 0x36, 0x9b, 0xa5, 0xab, 0xab, 0x8b, 0x64,
|
||||
0x32, 0x49, 0x2c, 0x16, 0x23, 0x1a, 0x8d, 0xd2, 0xd9, 0xd9, 0xc9, 0xd0, 0xd0, 0x10, 0xeb, 0xeb,
|
||||
0xeb, 0xc4, 0x62, 0x31, 0x3a, 0x3a, 0x3a, 0x76, 0x45, 0x95, 0xed, 0x68, 0xb3, 0xd1, 0x0a, 0x76,
|
||||
0x0c, 0xa0, 0xd5, 0x86, 0x8a, 0xa2, 0x70, 0xf5, 0xea, 0x55, 0xe6, 0xe7, 0xe7, 0x19, 0x18, 0x18,
|
||||
0x68, 0x9a, 0xef, 0xed, 0xed, 0xc5, 0xb6, 0x6d, 0x56, 0x57, 0x57, 0xb7, 0x8d, 0x1f, 0x5b, 0x09,
|
||||
0xdc, 0x8a, 0xbe, 0xab, 0xfd, 0x7a, 0x13, 0xf2, 0xec, 0x86, 0xfb, 0xab, 0xcf, 0x2b, 0x2b, 0x2b,
|
||||
0x14, 0x8b, 0x45, 0x0a, 0x85, 0x42, 0x93, 0x50, 0x9a, 0xa6, 0xd1, 0xdb, 0xdb, 0xcb, 0xdc, 0xdc,
|
||||
0xdc, 0xae, 0x4e, 0x7b, 0x2b, 0x81, 0xeb, 0xfb, 0x52, 0xca, 0x9d, 0xfb, 0x40, 0x2b, 0x47, 0xce,
|
||||
0xe7, 0xf3, 0x98, 0xa6, 0xc9, 0xc0, 0xc0, 0x00, 0xbd, 0xbd, 0xbd, 0x2d, 0x81, 0xf6, 0xf5, 0xf5,
|
||||
0x31, 0x3f, 0x3f, 0xcf, 0xda, 0xda, 0x1a, 0xf1, 0x78, 0xbc, 0xc9, 0xde, 0x4d, 0xd3, 0x64, 0x7e,
|
||||
0x7e, 0xbe, 0x89, 0x71, 0xea, 0x73, 0x9e, 0xaa, 0xcf, 0x35, 0xfa, 0xc1, 0xae, 0x59, 0xa8, 0x1a,
|
||||
0x59, 0xd3, 0xe9, 0x34, 0x00, 0x9f, 0x7f, 0xfe, 0x39, 0x91, 0x48, 0x84, 0xd1, 0xd1, 0xd1, 0xb6,
|
||||
0x94, 0x68, 0x18, 0x06, 0x3d, 0x3d, 0x3d, 0x4c, 0x4d, 0x4d, 0xd5, 0x9c, 0xb8, 0xbe, 0x2c, 0x2c,
|
||||
0x2c, 0x90, 0xc9, 0x64, 0x88, 0x46, 0xa3, 0x4d, 0xc2, 0x4b, 0x29, 0x49, 0xa5, 0x52, 0xe8, 0xba,
|
||||
0x4e, 0x20, 0x10, 0x00, 0x20, 0x18, 0x0c, 0x3e, 0x3c, 0x8d, 0xea, 0xba, 0x8e, 0x69, 0x9a, 0x5c,
|
||||
0xbf, 0x7e, 0x1d, 0x80, 0x5c, 0x2e, 0xc7, 0xc8, 0xc8, 0x48, 0x5b, 0x0a, 0xac, 0xf6, 0xfb, 0xfb,
|
||||
0xfb, 0xb9, 0x73, 0xe7, 0x0e, 0x63, 0x63, 0x63, 0x35, 0xca, 0xd5, 0x75, 0x1d, 0x5d, 0xd7, 0x29,
|
||||
0x16, 0x8b, 0x84, 0x42, 0x21, 0x0e, 0x1c, 0x38, 0xb0, 0x49, 0xf0, 0x6a, 0x7f, 0x6e, 0x6e, 0x8e,
|
||||
0xe9, 0xe9, 0x69, 0x34, 0xad, 0x2c, 0xde, 0xfe, 0xfd, 0xfb, 0x89, 0xc5, 0x62, 0x0f, 0x67, 0x42,
|
||||
0xe1, 0x70, 0x98, 0x33, 0x67, 0xce, 0xec, 0x38, 0x0d, 0xae, 0xd7, 0xc2, 0x73, 0xcf, 0x3d, 0x57,
|
||||
0x13, 0xec, 0xe6, 0xcd, 0x9b, 0x24, 0x12, 0x09, 0xe2, 0xf1, 0x38, 0x73, 0x73, 0x73, 0xcc, 0xcd,
|
||||
0xcd, 0x71, 0xe5, 0xca, 0x95, 0x26, 0x13, 0x02, 0x08, 0x04, 0x02, 0x0c, 0x0f, 0x0f, 0x13, 0x0c,
|
||||
0x06, 0xdb, 0x9a, 0xd9, 0xae, 0x7d, 0x60, 0xab, 0x88, 0xdc, 0x18, 0x94, 0x5a, 0xf1, 0x7c, 0xa3,
|
||||
0x8f, 0x84, 0x42, 0xa1, 0xa6, 0x93, 0xaf, 0xf7, 0x81, 0xea, 0x7c, 0xbb, 0xf4, 0xfd, 0xa1, 0x52,
|
||||
0x89, 0xed, 0xb4, 0xb0, 0x5d, 0x04, 0xad, 0x51, 0x9f, 0xc7, 0x53, 0xb3, 0xff, 0x7a, 0xc1, 0x5b,
|
||||
0xf5, 0x1b, 0xf7, 0x68, 0x34, 0x21, 0xcf, 0x6e, 0x4f, 0x7f, 0x3b, 0x2e, 0xdf, 0x29, 0x1d, 0xee,
|
||||
0x24, 0x4d, 0x6f, 0xb7, 0xb6, 0x1e, 0xd0, 0xae, 0x2f, 0x34, 0x3b, 0xc9, 0x2e, 0x1f, 0x56, 0xf8,
|
||||
0x9d, 0x68, 0xb8, 0xa5, 0x13, 0x9f, 0x3b, 0x77, 0xce, 0x97, 0xce, 0x15, 0xcf, 0x0a, 0xc4, 0x77,
|
||||
0x90, 0x4a, 0x18, 0x40, 0xf5, 0xfa, 0x7a, 0xde, 0xf8, 0xaf, 0xb7, 0xf8, 0xc5, 0xaf, 0xde, 0x45,
|
||||
0xd3, 0x75, 0x86, 0xfa, 0x93, 0x04, 0x02, 0x41, 0x24, 0x92, 0x7c, 0xa1, 0xc0, 0xcc, 0xcc, 0xec,
|
||||
0xa6, 0x8d, 0xda, 0xa5, 0xbb, 0xd5, 0x92, 0xcf, 0xe7, 0x31, 0x0c, 0xa3, 0xc6, 0x2c, 0xed, 0xd7,
|
||||
0x4b, 0x06, 0x07, 0x06, 0xf9, 0xca, 0xa9, 0xa7, 0xd8, 0x97, 0x48, 0xb4, 0x04, 0xd7, 0x04, 0xa0,
|
||||
0x24, 0xdc, 0xf3, 0xaa, 0xa1, 0x9e, 0x76, 0x2d, 0x37, 0x00, 0x12, 0x14, 0x40, 0x51, 0xb8, 0x97,
|
||||
0x4a, 0x71, 0x77, 0x7e, 0x9e, 0x2f, 0x3f, 0xf5, 0x14, 0x03, 0xc9, 0x64, 0xed, 0x6e, 0xbc, 0xaf,
|
||||
0xab, 0x8b, 0xe9, 0xa9, 0x69, 0xfe, 0xe7, 0xf6, 0x1d, 0x54, 0x75, 0x47, 0x4a, 0xdc, 0x24, 0x60,
|
||||
0x7d, 0xf3, 0xa0, 0xfb, 0x60, 0x7c, 0x66, 0x76, 0x8e, 0xcf, 0xae, 0x5d, 0xe3, 0x87, 0x3f, 0xf8,
|
||||
0x4b, 0xe2, 0xf1, 0x78, 0x13, 0xd8, 0x4d, 0x00, 0x5e, 0x7a, 0xe9, 0xa5, 0x2e, 0xbf, 0xdf, 0xff,
|
||||
0x87, 0x1e, 0x85, 0x80, 0xdf, 0xe7, 0x43, 0xd3, 0x34, 0x94, 0x32, 0x64, 0x14, 0x40, 0xd5, 0x75,
|
||||
0xae, 0xdd, 0xb8, 0xc1, 0xe7, 0xd3, 0xd3, 0x18, 0xba, 0x86, 0x61, 0x78, 0x49, 0x67, 0x32, 0x98,
|
||||
0x96, 0xc9, 0x91, 0x43, 0x07, 0xeb, 0x36, 0x53, 0x5a, 0x0a, 0x5b, 0xef, 0x84, 0xe5, 0xa6, 0x1e,
|
||||
0x80, 0xac, 0x8d, 0xc9, 0xca, 0x02, 0x09, 0x14, 0x8b, 0x45, 0x84, 0x70, 0xf9, 0xcd, 0xc5, 0x0f,
|
||||
0xf8, 0xf6, 0xb7, 0xfe, 0x68, 0x4b, 0x8d, 0x69, 0xde, 0x8e, 0x8e, 0xa0, 0xe2, 0xba, 0xce, 0xf7,
|
||||
0x5f, 0xf9, 0x1e, 0x03, 0x03, 0x03, 0x6d, 0xce, 0x4c, 0x92, 0xcd, 0x66, 0x99, 0xbb, 0x7b, 0x97,
|
||||
0x70, 0x38, 0x4c, 0x67, 0x3c, 0x46, 0x30, 0x10, 0xdc, 0xf2, 0x9c, 0xf3, 0xf9, 0x3c, 0x63, 0x37,
|
||||
0xaf, 0xe3, 0xd8, 0x36, 0x1d, 0xd1, 0x18, 0x87, 0xbe, 0x78, 0x08, 0x4d, 0xd5, 0x36, 0x45, 0x77,
|
||||
0xc7, 0xb1, 0x1b, 0xc0, 0x81, 0xc7, 0x53, 0xf6, 0xa1, 0x37, 0xdf, 0xfa, 0x09, 0xa6, 0x69, 0x6e,
|
||||
0x4f, 0xa3, 0x3e, 0x9f, 0x8f, 0xfe, 0xde, 0x5e, 0xad, 0xaf, 0xaf, 0x87, 0x62, 0x31, 0xd7, 0x1e,
|
||||
0xa9, 0xaa, 0xb0, 0x7f, 0xb0, 0xbf, 0x06, 0x29, 0x9f, 0xcf, 0x35, 0x6d, 0xbc, 0x91, 0x4e, 0x13,
|
||||
0x09, 0x87, 0xb1, 0x6d, 0x9b, 0x4b, 0x1f, 0x7e, 0xc0, 0x4f, 0x7e, 0xf6, 0x73, 0xae, 0xdf, 0xb8,
|
||||
0xc9, 0xf3, 0xdf, 0xfa, 0x26, 0x1e, 0x20, 0x16, 0x8b, 0x03, 0x12, 0xd7, 0x95, 0x80, 0x82, 0xcf,
|
||||
0xe7, 0xc5, 0x75, 0x5d, 0x5c, 0xd7, 0x45, 0x88, 0x72, 0x5b, 0xbd, 0x24, 0x9d, 0x38, 0x7e, 0x8c,
|
||||
0x4b, 0x1f, 0x5d, 0x69, 0x79, 0xfa, 0x4d, 0x00, 0x0c, 0xdd, 0x50, 0x4c, 0xcb, 0x6a, 0x89, 0xb8,
|
||||
0xd1, 0x21, 0x95, 0x36, 0xf3, 0x1f, 0x5d, 0xb9, 0xcc, 0x9b, 0x6f, 0xfd, 0x94, 0xa7, 0x4f, 0x3d,
|
||||
0xc5, 0x89, 0x27, 0x9e, 0x40, 0x37, 0x0c, 0xd2, 0xe9, 0x0c, 0x89, 0xbd, 0x09, 0xf2, 0xf9, 0x02,
|
||||
0xb6, 0xe3, 0xa0, 0xaa, 0x2a, 0x5e, 0xaf, 0x17, 0x21, 0x1c, 0x50, 0x1c, 0x84, 0xcc, 0x23, 0x3d,
|
||||
0x12, 0x14, 0x89, 0xc7, 0x23, 0xc1, 0x95, 0x04, 0x42, 0x0a, 0xae, 0xa3, 0x62, 0xe6, 0x2d, 0xb4,
|
||||
0x86, 0x9b, 0x5c, 0x6b, 0x0d, 0x78, 0xbd, 0x68, 0xaa, 0x2a, 0x1d, 0xdb, 0xc2, 0xaa, 0x00, 0x90,
|
||||
0x5b, 0xd0, 0x58, 0xbb, 0x62, 0x9a, 0x16, 0x85, 0x42, 0x91, 0x68, 0x2c, 0xc6, 0x9e, 0x3d, 0x1d,
|
||||
0x2c, 0x2d, 0xa7, 0xf8, 0xe1, 0x0f, 0xbe, 0xcf, 0xfd, 0x8d, 0x34, 0x43, 0x03, 0x03, 0xac, 0xac,
|
||||
0x2e, 0x31, 0x3b, 0x3b, 0x8d, 0x70, 0x5d, 0x92, 0xbd, 0x49, 0x0e, 0x1f, 0x3e, 0xc4, 0xfd, 0xfb,
|
||||
0x26, 0x8e, 0x23, 0xd8, 0xb3, 0xa7, 0xa3, 0xc6, 0x32, 0xae, 0xeb, 0x62, 0x7b, 0x1c, 0x9c, 0x4c,
|
||||
0xb6, 0x25, 0x63, 0x35, 0xfb, 0x80, 0xcf, 0x87, 0xaa, 0xa9, 0x98, 0x96, 0x4d, 0xc9, 0xb4, 0x76,
|
||||
0x24, 0x6c, 0xe3, 0xbc, 0x6d, 0xdb, 0x78, 0x75, 0x2f, 0xff, 0xf2, 0x4f, 0xff, 0x48, 0x7a, 0x63,
|
||||
0x83, 0xc5, 0x7b, 0x8b, 0x3c, 0xf6, 0xa5, 0xc7, 0xb9, 0x75, 0xfb, 0x16, 0x66, 0xa1, 0xc0, 0x1b,
|
||||
0xff, 0xfe, 0x06, 0x81, 0x50, 0x90, 0xfd, 0x43, 0x43, 0x1c, 0x1b, 0x2d, 0x27, 0x82, 0x9f, 0x5e,
|
||||
0xfd, 0x8c, 0x2f, 0xec, 0xff, 0x02, 0xd9, 0x6c, 0x96, 0xd9, 0xd9, 0x59, 0x06, 0x07, 0x07, 0x6b,
|
||||
0xfe, 0xa6, 0xaa, 0x2a, 0x8e, 0x6d, 0x37, 0x01, 0x68, 0x1d, 0x07, 0x4a, 0x25, 0x84, 0xe3, 0x60,
|
||||
0xdb, 0x16, 0xa6, 0x59, 0xda, 0xf5, 0xc9, 0x03, 0xdc, 0xbe, 0x7d, 0x87, 0xa1, 0xc1, 0x41, 0x8a,
|
||||
0xc5, 0xf2, 0x85, 0x3e, 0x5f, 0xc8, 0xf3, 0xcf, 0x3f, 0xfe, 0x31, 0x99, 0x6c, 0x86, 0x80, 0xcf,
|
||||
0x8f, 0x6e, 0xe8, 0xa4, 0xd3, 0x19, 0x2e, 0x5f, 0xbe, 0xcc, 0x7b, 0xef, 0xbd, 0xcf, 0x93, 0x4f,
|
||||
0x1e, 0xe7, 0xe9, 0xa7, 0x9f, 0xa6, 0x58, 0x2a, 0xd0, 0xd3, 0xdb, 0xcb, 0xc2, 0xe2, 0x22, 0xf7,
|
||||
0xee, 0xa5, 0x88, 0xc6, 0xa2, 0xb5, 0x97, 0x01, 0x8e, 0x23, 0xd0, 0x34, 0x8d, 0x68, 0x34, 0xba,
|
||||
0x49, 0x86, 0xd5, 0xd5, 0x55, 0x1c, 0xc7, 0xa9, 0x21, 0xd0, 0x4c, 0x40, 0x38, 0x0e, 0x96, 0x65,
|
||||
0x61, 0x59, 0xd6, 0x0e, 0x4e, 0x7e, 0xf3, 0xf3, 0x52, 0x6a, 0x09, 0x55, 0x55, 0xe9, 0xee, 0xee,
|
||||
0x66, 0x61, 0x71, 0x9e, 0x54, 0x2a, 0xc5, 0xdb, 0x6f, 0xff, 0x8c, 0x64, 0xb2, 0x9f, 0x7d, 0xdd,
|
||||
0x09, 0x84, 0x23, 0xb0, 0x1d, 0x1b, 0x29, 0x41, 0x55, 0xa3, 0x1c, 0x8a, 0x74, 0x90, 0x5a, 0x5a,
|
||||
0xe6, 0x3f, 0xde, 0x7c, 0x93, 0x67, 0x9e, 0xf9, 0x7d, 0xe2, 0xb1, 0x4e, 0x46, 0x47, 0x46, 0x79,
|
||||
0xf7, 0xdd, 0x5f, 0x71, 0xc8, 0x38, 0x84, 0xae, 0xeb, 0xa8, 0xaa, 0x86, 0xed, 0xd8, 0x4c, 0x4e,
|
||||
0x4e, 0xda, 0xaf, 0xbd, 0xf6, 0x5a, 0xb6, 0xfe, 0x20, 0xe7, 0xe6, 0xe6, 0xb4, 0x62, 0xb1, 0xf8,
|
||||
0x6f, 0x0f, 0x34, 0x60, 0x9a, 0xd8, 0x42, 0x60, 0x9a, 0x16, 0xa5, 0x92, 0xd9, 0x24, 0x6c, 0x24,
|
||||
0x1c, 0xc6, 0xf0, 0x7a, 0x59, 0x5b, 0x5b, 0x6b, 0x4e, 0xb2, 0x90, 0xcc, 0x2f, 0x2c, 0xf0, 0xb5,
|
||||
0xaf, 0xfd, 0x1e, 0x6b, 0x6b, 0x6b, 0xdc, 0xbf, 0xbf, 0xca, 0x87, 0x97, 0x3f, 0xe1, 0xd4, 0xa9,
|
||||
0x53, 0xac, 0xac, 0xae, 0xf0, 0xd9, 0xb5, 0x1b, 0xa4, 0x52, 0xcb, 0xac, 0x67, 0x32, 0x78, 0xbd,
|
||||
0x3a, 0x1d, 0xe1, 0x08, 0xfd, 0x7d, 0xbd, 0x9c, 0x38, 0x71, 0x02, 0xcb, 0x34, 0xb9, 0x73, 0x67,
|
||||
0x92, 0x6c, 0x36, 0xcb, 0xb1, 0xd1, 0x13, 0xec, 0x4d, 0x24, 0x58, 0x59, 0x59, 0x25, 0x16, 0x8f,
|
||||
0xa3, 0x6b, 0x02, 0xdb, 0x76, 0x28, 0x14, 0x8b, 0x1f, 0x4f, 0x4d, 0x4e, 0xfe, 0x7d, 0xbd, 0x4c,
|
||||
0xae, 0xeb, 0x4e, 0x9f, 0x3f, 0x7f, 0x7e, 0xb6, 0x06, 0xa0, 0x54, 0xf7, 0x76, 0xb9, 0x25, 0xef,
|
||||
0x2a, 0x21, 0xc0, 0xc5, 0xb2, 0x2d, 0x84, 0x10, 0xac, 0xaf, 0xdf, 0x47, 0xd3, 0x75, 0x22, 0xe1,
|
||||
0x08, 0x00, 0xa5, 0x52, 0x91, 0x9e, 0x9e, 0x6e, 0x7e, 0xf9, 0xcb, 0x5f, 0x50, 0x2c, 0x9a, 0x3c,
|
||||
0x71, 0x6c, 0x94, 0xe5, 0xd4, 0x32, 0x97, 0x3e, 0xfa, 0x98, 0xe8, 0x9e, 0x3d, 0x7c, 0xe3, 0x1b,
|
||||
0xcf, 0x12, 0x8f, 0xc5, 0xc9, 0x66, 0x33, 0x2c, 0xa6, 0x96, 0xf9, 0xe4, 0x93, 0x4f, 0x71, 0xc4,
|
||||
0x87, 0x9c, 0x7d, 0xfe, 0x8f, 0x19, 0x9f, 0x98, 0xc0, 0x2c, 0x59, 0xac, 0x2c, 0x2f, 0xd3, 0xd5,
|
||||
0xd9, 0xc5, 0xc4, 0xad, 0x5b, 0x04, 0x43, 0x61, 0x84, 0xd0, 0xb0, 0x6d, 0x1b, 0xdb, 0xb6, 0xf3,
|
||||
0xaf, 0xbf, 0xfe, 0xfa, 0xed, 0x0a, 0xaf, 0x08, 0xa0, 0x04, 0x98, 0xe7, 0xcf, 0x9f, 0xdf, 0x9c,
|
||||
0xcc, 0x39, 0xc2, 0x41, 0xb8, 0x62, 0x53, 0x75, 0x44, 0xb9, 0x96, 0x79, 0xba, 0xec, 0x38, 0xae,
|
||||
0x70, 0x11, 0xb6, 0xc0, 0xb1, 0x1d, 0x5c, 0xe1, 0x92, 0x49, 0x67, 0x08, 0x06, 0x43, 0x6c, 0x6c,
|
||||
0x6c, 0x90, 0xcb, 0xe7, 0xd1, 0x34, 0x8d, 0x78, 0x34, 0xc6, 0xcd, 0x5b, 0x13, 0x3c, 0x77, 0xfa,
|
||||
0xeb, 0xbc, 0xfc, 0x67, 0x7f, 0xca, 0xdc, 0xdd, 0x05, 0xde, 0xf8, 0xcf, 0xb7, 0xf8, 0xed, 0x07,
|
||||
0x1f, 0xe2, 0xf3, 0xea, 0xbc, 0xfa, 0xca, 0x39, 0x0c, 0xaf, 0x8f, 0x6b, 0xd7, 0x6f, 0xf0, 0xe4,
|
||||
0xf1, 0xe3, 0x38, 0x8e, 0xc3, 0xdd, 0xf9, 0x59, 0x7a, 0x7b, 0x7b, 0xc8, 0xe5, 0x73, 0x15, 0x59,
|
||||
0xcb, 0xef, 0x7e, 0x8a, 0xa5, 0x92, 0x1f, 0xe8, 0x06, 0xfa, 0x2b, 0x6d, 0x02, 0xe8, 0x54, 0x14,
|
||||
0xa5, 0x43, 0x51, 0x14, 0xad, 0xe6, 0xc4, 0x6e, 0x20, 0x80, 0x2b, 0x5c, 0xa4, 0x2b, 0xa1, 0x6d,
|
||||
0x46, 0x28, 0x71, 0x71, 0x71, 0x91, 0x78, 0xa4, 0xc4, 0x95, 0x2e, 0xc5, 0x52, 0x91, 0x8e, 0x48,
|
||||
0x84, 0x5c, 0x36, 0x87, 0xe3, 0xd8, 0x74, 0x27, 0xba, 0x59, 0x5d, 0x5d, 0xe5, 0xf0, 0xa1, 0x23,
|
||||
0xf4, 0xf5, 0xf5, 0xf2, 0xca, 0x9f, 0xff, 0x15, 0x46, 0x3a, 0x80, 0x8f, 0x18, 0x33, 0xda, 0x14,
|
||||
0x57, 0x3f, 0xf9, 0x8c, 0x43, 0x47, 0xbe, 0xc8, 0xcb, 0xe7, 0xbe, 0xc3, 0x85, 0x5f, 0x5f, 0xa4,
|
||||
0xa3, 0xa3, 0x83, 0x1b, 0x63, 0x63, 0x80, 0x24, 0x1a, 0x8d, 0xe2, 0xd8, 0x76, 0x19, 0x40, 0xc5,
|
||||
0x54, 0x5d, 0xdb, 0xf1, 0x54, 0xf2, 0x35, 0x0d, 0x50, 0x2b, 0xd5, 0x53, 0x57, 0xcb, 0x26, 0x14,
|
||||
0x74, 0x9c, 0x5a, 0x94, 0x92, 0x8d, 0x59, 0x56, 0x35, 0x7f, 0x29, 0xc7, 0x9b, 0x72, 0x9e, 0x57,
|
||||
0xa9, 0x7e, 0xbf, 0x9f, 0xd5, 0x95, 0x55, 0xbc, 0x5e, 0x1f, 0x8a, 0xa2, 0x10, 0x8d, 0x45, 0x99,
|
||||
0x9e, 0x9a, 0xe1, 0x89, 0x63, 0x23, 0xfc, 0xf5, 0xdf, 0xfe, 0x1d, 0x8f, 0xce, 0x9f, 0xe4, 0x11,
|
||||
0xeb, 0x08, 0x37, 0x83, 0x13, 0x94, 0x02, 0x12, 0x25, 0xa8, 0x33, 0x76, 0x63, 0x8c, 0x4b, 0x1f,
|
||||
0x7d, 0xcc, 0xd0, 0x40, 0x3f, 0xa6, 0x65, 0xd1, 0x97, 0xec, 0x25, 0x18, 0xf0, 0x93, 0xc9, 0x64,
|
||||
0x09, 0x85, 0x42, 0x20, 0xc1, 0x95, 0x2e, 0xc2, 0x75, 0x40, 0x53, 0x8b, 0x40, 0xaa, 0x9a, 0x7d,
|
||||
0x00, 0x66, 0xc5, 0x8c, 0x8a, 0x52, 0x4a, 0xf7, 0x01, 0x8d, 0x06, 0x43, 0xb8, 0x6e, 0x45, 0x03,
|
||||
0x2d, 0xf2, 0x20, 0x64, 0xf5, 0x54, 0x5c, 0xca, 0xdf, 0x2b, 0x23, 0x0b, 0xf8, 0x7d, 0xe4, 0x72,
|
||||
0x19, 0x22, 0x91, 0x30, 0x86, 0xae, 0xb3, 0xb4, 0x94, 0x22, 0x1e, 0x8f, 0xb1, 0xb0, 0xb8, 0x40,
|
||||
0x6e, 0xc5, 0xc4, 0xf4, 0xab, 0x8c, 0x29, 0xe3, 0xac, 0xc8, 0x65, 0xb2, 0xf6, 0x3a, 0x7e, 0x4d,
|
||||
0xb2, 0xaf, 0x7b, 0x1f, 0x37, 0xc6, 0x26, 0x18, 0x79, 0xec, 0x4b, 0x20, 0x25, 0x9a, 0xaa, 0xd1,
|
||||
0xd3, 0xd3, 0xcb, 0xd2, 0x52, 0x8a, 0x70, 0xb8, 0x72, 0x8d, 0x94, 0xe0, 0x0a, 0x89, 0xaa, 0xa8,
|
||||
0x45, 0xe0, 0xae, 0xdc, 0x82, 0x1a, 0x3d, 0x25, 0xc0, 0x71, 0x45, 0x59, 0x38, 0x5c, 0x64, 0xc3,
|
||||
0xa7, 0x5e, 0x11, 0x12, 0x70, 0x91, 0x08, 0x5c, 0x84, 0x74, 0x91, 0x52, 0xa2, 0x69, 0x3a, 0xe9,
|
||||
0x4c, 0x9a, 0xbe, 0xbe, 0x7e, 0x32, 0xd9, 0x34, 0xa1, 0x50, 0x98, 0x52, 0xc9, 0xc4, 0xf1, 0x08,
|
||||
0x66, 0x8d, 0x69, 0xa6, 0x8c, 0xdf, 0xb1, 0xac, 0x2d, 0x62, 0x6b, 0x59, 0x82, 0x7e, 0x0f, 0xfb,
|
||||
0x12, 0xdd, 0x08, 0xe1, 0xe0, 0xf7, 0xfb, 0xb1, 0x1d, 0x9b, 0xae, 0xce, 0x4e, 0x12, 0x7b, 0xbb,
|
||||
0x59, 0x5b, 0x5b, 0xc5, 0x1f, 0x08, 0xe0, 0x4a, 0x51, 0xae, 0xae, 0x40, 0xb8, 0x8e, 0x94, 0xdb,
|
||||
0xf0, 0xba, 0x87, 0x52, 0xa9, 0x96, 0x48, 0x49, 0x57, 0x22, 0x5d, 0x17, 0xe9, 0xba, 0xb8, 0xae,
|
||||
0xa8, 0xd5, 0x6a, 0xf4, 0x93, 0xae, 0xc4, 0xab, 0x1b, 0x78, 0x35, 0x2f, 0x52, 0x94, 0x93, 0xb2,
|
||||
0x78, 0x3c, 0xce, 0xc5, 0x8b, 0x17, 0x79, 0xfc, 0xb1, 0x51, 0x7c, 0x5e, 0x3f, 0xcb, 0xab, 0x4b,
|
||||
0x24, 0xf6, 0xed, 0xc5, 0x17, 0xd0, 0xb8, 0xef, 0xce, 0x60, 0x85, 0x37, 0x70, 0xbc, 0x69, 0x42,
|
||||
0x21, 0x85, 0x9e, 0xbe, 0x1e, 0x22, 0x91, 0x30, 0xc3, 0x8f, 0x1e, 0x46, 0xd7, 0x34, 0x3a, 0x22,
|
||||
0x1d, 0x24, 0x93, 0x03, 0xe4, 0xf3, 0x79, 0x96, 0x97, 0x57, 0xf1, 0xea, 0x5e, 0xa4, 0x00, 0x29,
|
||||
0x40, 0x08, 0x17, 0xa7, 0xcd, 0x85, 0xa9, 0x49, 0x03, 0xc2, 0xb2, 0xca, 0x6c, 0x23, 0x2b, 0xb5,
|
||||
0x06, 0x46, 0x92, 0x4e, 0x67, 0xd8, 0xd8, 0x48, 0xe3, 0x08, 0x1b, 0x57, 0x0a, 0xfc, 0x01, 0x3f,
|
||||
0x86, 0xa1, 0xd7, 0xcc, 0xa9, 0x23, 0x12, 0xc1, 0x32, 0x2d, 0xae, 0x5e, 0xfd, 0x94, 0xaf, 0x7c,
|
||||
0xf9, 0xab, 0x28, 0x28, 0xe4, 0xb2, 0x39, 0xbe, 0xfb, 0xf2, 0x9f, 0xe0, 0xf5, 0x4b, 0x6c, 0xb1,
|
||||
0x41, 0x24, 0x62, 0x10, 0x8a, 0x84, 0xd9, 0xd8, 0xd8, 0x60, 0x79, 0x65, 0x95, 0x67, 0x4f, 0xff,
|
||||
0x01, 0x7b, 0xbb, 0x12, 0xec, 0xdb, 0xd7, 0x8d, 0xcf, 0xe7, 0xe3, 0xea, 0xd5, 0x4f, 0x09, 0x47,
|
||||
0x42, 0xb8, 0x65, 0xdd, 0xe2, 0x4a, 0x81, 0x70, 0x1d, 0x84, 0xbd, 0x3d, 0x00, 0x8d, 0x12, 0x38,
|
||||
0xae, 0x8b, 0x70, 0x1c, 0x44, 0x35, 0x42, 0xd7, 0x11, 0x51, 0x2e, 0x9f, 0x83, 0x6a, 0xea, 0x2c,
|
||||
0x1b, 0x7c, 0xa3, 0x12, 0xd0, 0xba, 0x12, 0x5d, 0x4c, 0xfe, 0x6e, 0x92, 0x40, 0x30, 0xc8, 0xd1,
|
||||
0xa3, 0x8f, 0x91, 0x4e, 0x6f, 0xa0, 0xaa, 0x0a, 0xff, 0xf0, 0xa3, 0xbf, 0xe1, 0xed, 0x9f, 0xbf,
|
||||
0xc3, 0xf4, 0xcc, 0x1c, 0x7e, 0xbf, 0x8f, 0xe1, 0x47, 0x8f, 0x70, 0xe6, 0xd9, 0x67, 0x88, 0x76,
|
||||
0x44, 0x39, 0x70, 0xe0, 0x20, 0xa6, 0x65, 0x32, 0x3e, 0x3e, 0x8e, 0x65, 0xd9, 0x78, 0x54, 0x4f,
|
||||
0x99, 0x09, 0x2b, 0xfb, 0x0a, 0x51, 0xa6, 0xf3, 0x6d, 0x01, 0x94, 0x28, 0x21, 0x44, 0x50, 0x8a,
|
||||
0x8a, 0x06, 0xca, 0xe1, 0x6e, 0xb3, 0xa0, 0x0a, 0xca, 0xb6, 0x49, 0x5d, 0x3c, 0x16, 0xe7, 0xe6,
|
||||
0xd8, 0x18, 0xcb, 0x4b, 0x29, 0x06, 0x87, 0x06, 0xd8, 0xdb, 0x95, 0xa0, 0xb3, 0x13, 0xfe, 0xe2,
|
||||
0x7b, 0x2f, 0x23, 0x5d, 0x89, 0xaa, 0xab, 0xf8, 0xbd, 0x01, 0x22, 0x91, 0x08, 0x5e, 0xc3, 0xcb,
|
||||
0xbd, 0xd4, 0x3d, 0xa6, 0xa7, 0xa6, 0x49, 0xa7, 0x37, 0x90, 0x6c, 0x4e, 0xd0, 0x90, 0x94, 0xe3,
|
||||
0x8d, 0xd8, 0x89, 0x06, 0x00, 0xdb, 0x11, 0x8a, 0xe3, 0xd8, 0x0f, 0x34, 0xb0, 0xe5, 0x55, 0xb6,
|
||||
0x7a, 0xf2, 0x9b, 0xa7, 0x55, 0xcd, 0x43, 0xbc, 0x33, 0x46, 0x36, 0x97, 0xe5, 0xfa, 0xf5, 0x31,
|
||||
0x3a, 0xe3, 0x71, 0x42, 0xe1, 0x30, 0x81, 0x80, 0x1f, 0x8f, 0xa1, 0xe0, 0x33, 0xfc, 0x18, 0x86,
|
||||
0x41, 0x3e, 0x97, 0x63, 0x29, 0xbf, 0xc4, 0xda, 0xda, 0x2a, 0xf9, 0x7c, 0xa1, 0xc2, 0x72, 0xcd,
|
||||
0x87, 0xe2, 0x08, 0xbb, 0x7c, 0x6f, 0xd8, 0x0e, 0x80, 0xe5, 0x38, 0x66, 0xa9, 0x58, 0x52, 0xca,
|
||||
0xbf, 0x7c, 0x88, 0x32, 0x85, 0xb1, 0xc3, 0xff, 0x4f, 0xc8, 0xe6, 0xdb, 0x83, 0x61, 0x18, 0xb8,
|
||||
0xae, 0xcb, 0xfa, 0xfa, 0x3a, 0xf7, 0xd7, 0xef, 0xa3, 0x69, 0x1a, 0xa1, 0x60, 0x18, 0x55, 0x55,
|
||||
0x91, 0xb2, 0x1c, 0xd9, 0xad, 0x72, 0x9a, 0xd0, 0xfe, 0x57, 0x7f, 0x34, 0x0a, 0x85, 0x12, 0x42,
|
||||
0xc8, 0xdc, 0xb6, 0xaf, 0x7c, 0x00, 0xe3, 0xcc, 0xf3, 0xdf, 0xbe, 0x70, 0xe2, 0xd8, 0xc8, 0xc9,
|
||||
0x47, 0xf6, 0x0f, 0x7a, 0x14, 0xc5, 0xb3, 0xab, 0x94, 0xba, 0x46, 0xb5, 0x0d, 0x17, 0xf6, 0xaa,
|
||||
0x39, 0x6e, 0x7a, 0xdb, 0x56, 0x97, 0x25, 0xb6, 0x7c, 0x23, 0x57, 0xbd, 0x4f, 0x67, 0x0b, 0x5c,
|
||||
0x1f, 0x1b, 0x2b, 0xcc, 0x2f, 0x2e, 0x7e, 0xfd, 0xbd, 0x77, 0xde, 0xf9, 0x60, 0x2b, 0x2a, 0x55,
|
||||
0x80, 0xc8, 0x23, 0x8f, 0x1c, 0x4e, 0x26, 0xf7, 0x0f, 0xbc, 0xe2, 0xf5, 0x1a, 0xdf, 0x94, 0x28,
|
||||
0x81, 0x8a, 0xd9, 0x4b, 0xa4, 0x7c, 0xb8, 0x3f, 0x36, 0x3c, 0x4c, 0x51, 0x14, 0x59, 0x83, 0x27,
|
||||
0xc4, 0x9d, 0x5c, 0x36, 0xf7, 0xaf, 0x97, 0xfe, 0xfb, 0xd7, 0xef, 0x00, 0x79, 0x29, 0x65, 0x69,
|
||||
0x2b, 0x00, 0x0a, 0xe0, 0x07, 0x7c, 0x95, 0xaa, 0x57, 0x72, 0x0e, 0xea, 0xda, 0xff, 0x8b, 0x62,
|
||||
0x57, 0x64, 0xa9, 0x4f, 0x19, 0x0a, 0x52, 0xca, 0x2d, 0x1d, 0xe1, 0x7f, 0x01, 0x0c, 0xe6, 0x84,
|
||||
0xf7, 0x85, 0xc0, 0x86, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60,
|
||||
0x82,
|
||||
0x87, 0x00, 0x00, 0x05, 0x02, 0x49, 0x44, 0x41, 0x54, 0x68, 0xde, 0xdd, 0x59, 0x5b, 0x6c, 0x14,
|
||||
0x55, 0x18, 0x5e, 0xdd, 0x52, 0x15, 0xcb, 0x92, 0x72, 0x79, 0xe0, 0x09, 0xd2, 0x68, 0x2f, 0x5a,
|
||||
0x7b, 0xd1, 0x07, 0x22, 0x18, 0x25, 0xb1, 0x69, 0x79, 0x81, 0x07, 0x4a, 0x94, 0x9a, 0x6a, 0xe8,
|
||||
0x83, 0x49, 0x81, 0xc4, 0xc4, 0x07, 0x78, 0xb2, 0x17, 0x62, 0x4d, 0x78, 0xe0, 0x85, 0x47, 0x08,
|
||||
0xf0, 0x80, 0xbd, 0x28, 0xb1, 0xb6, 0x15, 0xbc, 0xd4, 0x00, 0x2b, 0x6d, 0x43, 0xbb, 0x97, 0xd9,
|
||||
0xad, 0xc4, 0xc6, 0xb4, 0x6b, 0x43, 0x8a, 0x10, 0xaa, 0xc1, 0x42, 0xd5, 0xa5, 0xed, 0x76, 0xb6,
|
||||
0xbf, 0xff, 0x7f, 0x3a, 0x67, 0x33, 0x3b, 0x3d, 0xbb, 0x7b, 0x66, 0x76, 0x26, 0x05, 0x37, 0xf9,
|
||||
0x32, 0xf3, 0xcd, 0xce, 0x9c, 0x39, 0xdf, 0x9c, 0xef, 0x3f, 0xff, 0x3f, 0x67, 0x5c, 0x00, 0xe0,
|
||||
0x4a, 0x05, 0xfc, 0x3d, 0x8f, 0x28, 0x4b, 0x77, 0x8e, 0x15, 0xe0, 0xef, 0x29, 0xc4, 0x6b, 0xd4,
|
||||
0x7e, 0xd6, 0x6d, 0x09, 0x1a, 0xcf, 0x41, 0x94, 0x22, 0xde, 0x47, 0x7c, 0x8a, 0x78, 0xcb, 0x6e,
|
||||
0x01, 0xda, 0x7d, 0xde, 0xd6, 0xda, 0xa7, 0xfb, 0xbc, 0x8c, 0x70, 0x67, 0x25, 0x40, 0x6b, 0xe4,
|
||||
0x00, 0xa2, 0x19, 0xf1, 0x99, 0x0e, 0x2f, 0x21, 0x36, 0x3b, 0x80, 0x57, 0x0c, 0xf7, 0x69, 0x42,
|
||||
0xbc, 0x8b, 0x28, 0x36, 0xf9, 0x20, 0x5c, 0x79, 0x88, 0x06, 0x43, 0x63, 0xab, 0x8d, 0x7a, 0xc4,
|
||||
0x73, 0xd2, 0x23, 0xa0, 0x79, 0x92, 0x6c, 0xf3, 0x1e, 0xa2, 0x65, 0x95, 0x46, 0xe0, 0x13, 0xc4,
|
||||
0x3b, 0x88, 0xa2, 0x6c, 0x63, 0x60, 0x0d, 0x05, 0x2e, 0xe2, 0xa0, 0xe6, 0xd1, 0x37, 0x1d, 0x8a,
|
||||
0x81, 0x2a, 0xc4, 0x71, 0xed, 0xa1, 0x95, 0x64, 0x1d, 0x03, 0x29, 0x6e, 0xe2, 0x41, 0xbc, 0xea,
|
||||
0xd0, 0x2c, 0x54, 0x2e, 0x6b, 0x13, 0xcb, 0x02, 0x9e, 0x04, 0xfc, 0x2f, 0x04, 0xe4, 0x20, 0x0e,
|
||||
0x20, 0xbc, 0x88, 0x87, 0xab, 0x8c, 0x07, 0x88, 0x1f, 0x11, 0xfb, 0x11, 0x6e, 0x81, 0xf5, 0x9e,
|
||||
0x15, 0x09, 0x68, 0x08, 0x06, 0x83, 0xf0, 0xb8, 0x21, 0x16, 0x8b, 0x7d, 0x20, 0x10, 0x50, 0x27,
|
||||
0x12, 0x10, 0xa6, 0x0b, 0xf4, 0x3f, 0x11, 0x1f, 0x9f, 0x1d, 0x87, 0xae, 0x5b, 0x5d, 0x70, 0x54,
|
||||
0x39, 0xca, 0xf8, 0x86, 0x2f, 0x37, 0x80, 0xeb, 0x73, 0x17, 0x03, 0x71, 0xbe, 0x2f, 0xc3, 0x47,
|
||||
0x02, 0x23, 0x70, 0x7a, 0xe2, 0x34, 0x3c, 0x52, 0x1f, 0xb1, 0xf6, 0x15, 0x45, 0x81, 0x78, 0x3c,
|
||||
0x9e, 0xb8, 0x1f, 0x71, 0x55, 0x55, 0x07, 0x0d, 0x9d, 0x7f, 0x41, 0x9b, 0x6e, 0x0b, 0x8d, 0x02,
|
||||
0x20, 0x9d, 0x80, 0xa9, 0x7f, 0xa7, 0x4c, 0x77, 0x30, 0x13, 0xbf, 0x11, 0xb8, 0xc1, 0xb6, 0x9b,
|
||||
0x2e, 0x6e, 0x82, 0xa6, 0xd1, 0x26, 0xa1, 0x80, 0xa5, 0xa5, 0xa5, 0x87, 0x06, 0x01, 0xb5, 0x9a,
|
||||
0x80, 0xfd, 0xa6, 0x04, 0xf4, 0xdc, 0xee, 0x71, 0x4c, 0x00, 0xc7, 0x70, 0x60, 0x18, 0xae, 0xdd,
|
||||
0xbb, 0x96, 0x52, 0x00, 0xe5, 0x08, 0x2d, 0xd1, 0xf1, 0x84, 0xe7, 0x5e, 0x21, 0xe0, 0x71, 0x03,
|
||||
0x8e, 0x88, 0x5e, 0x40, 0xb1, 0x21, 0x6b, 0x17, 0xaf, 0x10, 0x40, 0x43, 0xc8, 0xa1, 0xe7, 0xb5,
|
||||
0x3f, 0xd5, 0x32, 0x9e, 0xdb, 0x9e, 0x9b, 0x40, 0xb6, 0x9c, 0x9e, 0xb8, 0x91, 0xe7, 0x75, 0xe4,
|
||||
0x41, 0xc5, 0xe5, 0x0a, 0x88, 0xa9, 0x31, 0xd1, 0x08, 0xd4, 0x19, 0x04, 0xd4, 0x49, 0x5b, 0x68,
|
||||
0xeb, 0xd7, 0x5b, 0x1d, 0xb7, 0x10, 0x71, 0x12, 0x42, 0xfb, 0xe7, 0x7f, 0x3b, 0x9f, 0x24, 0x80,
|
||||
0xb2, 0xb5, 0x56, 0x72, 0xe8, 0x05, 0x1c, 0xe7, 0x59, 0x3c, 0xad, 0x80, 0x99, 0x85, 0x19, 0xe9,
|
||||
0x0e, 0x6e, 0xf9, 0x6a, 0x0b, 0x54, 0x7e, 0x5b, 0x09, 0x05, 0x3d, 0x05, 0x59, 0x09, 0xa8, 0xb9,
|
||||
0x5a, 0x63, 0x14, 0x40, 0x25, 0x47, 0x8d, 0xae, 0xf8, 0xab, 0x40, 0x54, 0xd3, 0xf1, 0x27, 0x22,
|
||||
0x06, 0xa8, 0x6e, 0xd2, 0xb6, 0xf9, 0x9a, 0x80, 0xcd, 0x49, 0xc7, 0xd3, 0xc5, 0xc0, 0xa9, 0x5f,
|
||||
0x4f, 0x25, 0x3c, 0xdc, 0x3a, 0xda, 0x0a, 0x91, 0xd9, 0xc8, 0x8a, 0x18, 0x91, 0xe5, 0x9e, 0x2e,
|
||||
0x4f, 0xc6, 0x18, 0x48, 0xc4, 0x8c, 0x12, 0x14, 0x4d, 0xa3, 0x49, 0x02, 0xa4, 0x62, 0xa0, 0xf7,
|
||||
0x76, 0x2f, 0x0c, 0xfd, 0x39, 0x04, 0x32, 0x89, 0x2e, 0x13, 0x6f, 0xf9, 0xb9, 0x45, 0xca, 0x42,
|
||||
0xcc, 0x72, 0x76, 0x09, 0xb0, 0x93, 0x0f, 0xfc, 0x31, 0xe0, 0xac, 0x00, 0x0a, 0x1c, 0x0e, 0x27,
|
||||
0x38, 0x75, 0x8a, 0x3a, 0x4a, 0x20, 0xce, 0xf7, 0x53, 0x71, 0x7d, 0x1e, 0x90, 0x12, 0x60, 0xd6,
|
||||
0xd3, 0x46, 0x1e, 0x8d, 0x45, 0x61, 0x62, 0x76, 0x02, 0x06, 0xa6, 0x07, 0x18, 0xf7, 0xde, 0xf3,
|
||||
0x26, 0x40, 0xbc, 0xed, 0x66, 0x9b, 0x74, 0x0c, 0xa4, 0x28, 0x25, 0xb2, 0xb7, 0xd0, 0xfd, 0xf9,
|
||||
0xfb, 0xd0, 0x79, 0xab, 0x93, 0xf1, 0xc3, 0xbe, 0xc3, 0xb0, 0xc7, 0xbb, 0x87, 0x25, 0x1f, 0x3b,
|
||||
0xf3, 0x40, 0x6e, 0x87, 0xcd, 0x02, 0xe6, 0xd4, 0x39, 0xc6, 0xab, 0xaf, 0x54, 0x43, 0x4e, 0x7b,
|
||||
0x8e, 0xe3, 0x89, 0xac, 0xa8, 0xaf, 0xc8, 0x9a, 0x00, 0x91, 0x87, 0x03, 0x4a, 0x80, 0x0d, 0xaf,
|
||||
0x8c, 0x67, 0xed, 0xe2, 0xbe, 0xa0, 0xcf, 0x9e, 0x18, 0xd8, 0x7d, 0x75, 0xb7, 0x6d, 0xb5, 0x8f,
|
||||
0x6c, 0x2d, 0x44, 0xfb, 0x94, 0x6f, 0xb2, 0xb2, 0xd0, 0xf4, 0xdc, 0xb4, 0xed, 0xb5, 0x8f, 0x19,
|
||||
0x0b, 0x75, 0x4f, 0x75, 0x5b, 0x17, 0x40, 0x7e, 0x2f, 0xf9, 0xa6, 0x64, 0x55, 0x05, 0x4c, 0xfe,
|
||||
0x33, 0x69, 0x3d, 0x06, 0xfc, 0x41, 0xbf, 0x69, 0xcf, 0xf2, 0x18, 0x21, 0xef, 0xd2, 0xf5, 0x81,
|
||||
0x60, 0x80, 0x71, 0xda, 0x72, 0xc8, 0xb6, 0x47, 0x6d, 0xf1, 0x18, 0x34, 0x1d, 0x03, 0x63, 0x0f,
|
||||
0xc6, 0x60, 0x6d, 0xc7, 0x5a, 0x69, 0x4f, 0xef, 0xf3, 0xee, 0x63, 0x6f, 0x51, 0x6a, 0x5c, 0x95,
|
||||
0xca, 0x13, 0x32, 0x31, 0xb0, 0xab, 0x7f, 0x17, 0x3b, 0xdf, 0xd2, 0x08, 0x1c, 0x0b, 0x1d, 0x33,
|
||||
0x65, 0x09, 0xd9, 0x52, 0x22, 0xf2, 0x77, 0x44, 0xda, 0x42, 0x47, 0xfc, 0x47, 0xd2, 0xbd, 0x13,
|
||||
0xa7, 0x17, 0x40, 0x75, 0xbc, 0x8c, 0x80, 0xd2, 0x4b, 0xa5, 0xa6, 0x04, 0x9c, 0xf8, 0xe5, 0x84,
|
||||
0xb4, 0x80, 0x33, 0x91, 0x33, 0xd6, 0x05, 0x98, 0x9d, 0xa7, 0x65, 0x6b, 0x21, 0x5a, 0x42, 0x91,
|
||||
0x6d, 0x9f, 0xea, 0x25, 0xcb, 0x31, 0x20, 0x3b, 0x8f, 0x9f, 0x8b, 0x9c, 0x93, 0xae, 0x95, 0xfa,
|
||||
0xa6, 0xfa, 0xa4, 0xf3, 0xc0, 0xfa, 0xce, 0xf5, 0xac, 0x9e, 0xb2, 0x1c, 0x03, 0xb2, 0xd3, 0x60,
|
||||
0xf3, 0x68, 0xb3, 0x94, 0x85, 0xee, 0x44, 0xef, 0xc0, 0xc6, 0x8b, 0x1b, 0xa5, 0xa7, 0xd1, 0xb2,
|
||||
0x4b, 0x65, 0x99, 0xd6, 0x85, 0xec, 0x11, 0x50, 0x7e, 0xb9, 0x5c, 0x4a, 0xc0, 0xce, 0x1f, 0x76,
|
||||
0x9a, 0xca, 0x03, 0xf5, 0x83, 0xf5, 0xd9, 0x09, 0x30, 0x5b, 0xbb, 0xa4, 0xf2, 0xbc, 0x99, 0x79,
|
||||
0x5f, 0xcf, 0x29, 0x87, 0xe8, 0xdb, 0x73, 0x2c, 0x06, 0x38, 0xdf, 0xd6, 0xbd, 0x0d, 0x1a, 0x87,
|
||||
0x1b, 0xe1, 0xe4, 0xd8, 0x49, 0xc6, 0x69, 0xfd, 0xa8, 0xb0, 0xb7, 0xd0, 0x72, 0x2d, 0xd4, 0xff,
|
||||
0x7b, 0x7f, 0x22, 0x86, 0x0c, 0xab, 0x12, 0xf4, 0xf1, 0xf1, 0x0d, 0x44, 0x01, 0x5f, 0x1b, 0x45,
|
||||
0xbc, 0x8e, 0xa8, 0x4c, 0x12, 0xe0, 0xf9, 0xc2, 0xe3, 0x58, 0xe9, 0x20, 0x63, 0xa1, 0xbb, 0xd1,
|
||||
0xbb, 0x42, 0x0b, 0xd1, 0x92, 0xba, 0x60, 0x5d, 0xa8, 0x8d, 0xbe, 0x1e, 0x25, 0x09, 0xd8, 0xeb,
|
||||
0xdd, 0x6b, 0x6b, 0x87, 0x29, 0x56, 0xaa, 0xae, 0x54, 0x49, 0xaf, 0x8d, 0xa6, 0x5b, 0xdc, 0x15,
|
||||
0xac, 0xcc, 0x35, 0x08, 0x6b, 0x21, 0x6a, 0xc8, 0xae, 0xfa, 0x9e, 0xe7, 0x00, 0xab, 0x31, 0x95,
|
||||
0x61, 0x6d, 0xb4, 0x62, 0x85, 0x00, 0x55, 0x55, 0xe1, 0xec, 0xf8, 0x59, 0x58, 0xd7, 0xb9, 0x8e,
|
||||
0x71, 0xda, 0x72, 0x98, 0xe1, 0x3b, 0xbe, 0xdb, 0xb1, 0xfc, 0x8e, 0xbc, 0x10, 0x85, 0xfc, 0xae,
|
||||
0x7c, 0xe1, 0xf9, 0xf4, 0xa0, 0xf4, 0x9c, 0x02, 0x38, 0x16, 0x8b, 0xb1, 0x3e, 0x10, 0x04, 0x23,
|
||||
0xf0, 0xb4, 0x6e, 0x75, 0xba, 0x15, 0x91, 0x9b, 0xf2, 0x7d, 0xe0, 0x90, 0xef, 0x90, 0x25, 0xcb,
|
||||
0xd0, 0xeb, 0x26, 0xad, 0xf5, 0x2f, 0xc4, 0x17, 0x18, 0x0f, 0xcf, 0x84, 0xa5, 0x63, 0x80, 0x66,
|
||||
0x2e, 0x13, 0xdf, 0x07, 0xea, 0x8d, 0xb3, 0xd0, 0x98, 0x68, 0x1e, 0xdf, 0xfe, 0xfd, 0x76, 0x29,
|
||||
0x01, 0xee, 0x76, 0xf7, 0xb2, 0x05, 0xfe, 0x52, 0x92, 0xae, 0xbf, 0x30, 0x79, 0x41, 0x5a, 0x00,
|
||||
0x95, 0x10, 0x82, 0x2f, 0x34, 0x3e, 0x83, 0x80, 0x17, 0x35, 0x01, 0xe5, 0x46, 0x01, 0x8d, 0xec,
|
||||
0x89, 0x85, 0xc3, 0x09, 0x70, 0xee, 0x57, 0xfc, 0x30, 0x1c, 0x5c, 0xae, 0xf7, 0x07, 0x03, 0x83,
|
||||
0x70, 0xdd, 0x7f, 0x9d, 0x81, 0x9e, 0xd8, 0x50, 0x60, 0x08, 0x46, 0x94, 0x11, 0x08, 0x85, 0x42,
|
||||
0x20, 0xba, 0x3e, 0x14, 0x0e, 0xb1, 0xff, 0xf8, 0xff, 0x7c, 0x3f, 0x15, 0x37, 0x5e, 0x8f, 0x96,
|
||||
0xfa, 0x50, 0xf0, 0x8d, 0xec, 0x20, 0x5f, 0x13, 0xd5, 0x0b, 0x78, 0x66, 0x7e, 0x7e, 0xfe, 0xe3,
|
||||
0xc5, 0xc5, 0xc5, 0x9b, 0xdc, 0x83, 0xab, 0x09, 0xec, 0x87, 0x82, 0xfd, 0xf9, 0x08, 0xfb, 0xb5,
|
||||
0x46, 0x20, 0x20, 0xcf, 0x78, 0xec, 0x3f, 0x1b, 0x75, 0xce, 0x5d, 0xf3, 0xcf, 0xc0, 0x5f, 0x00,
|
||||
0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||
};
|
||||
|
||||
const BITMAP_OPAQUE icon_bitmap2component_xpm[1] = {{ png, sizeof( png ), "icon_bitmap2component_xpm" }};
|
||||
|
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 3.2 KiB |
|
@ -34,15 +34,15 @@
|
|||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1301"
|
||||
inkscape:window-height="744"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="849"
|
||||
id="namedview48"
|
||||
showgrid="true"
|
||||
inkscape:zoom="22.961538"
|
||||
inkscape:cx="13"
|
||||
inkscape:cx="4.3551087"
|
||||
inkscape:cy="13"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-to-guides="false"
|
||||
|
@ -60,26 +60,9 @@
|
|||
<defs
|
||||
id="defs4" />
|
||||
<path
|
||||
style="fill:none;stroke:#0000cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.94117647000000004;stroke-miterlimit:0;stroke-dasharray:4,4;stroke-dashoffset:5.2"
|
||||
d="M 4,22 22,4"
|
||||
style="fill:none;stroke:#0000cf;stroke-width:2.4000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-opacity:0.94117647;stroke-dasharray:4.80000019, 2.4000001;stroke-dashoffset:6.23999975"
|
||||
d="M 1,25 24.485762,1.427136"
|
||||
id="path2990"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="fill:#2ac23c;fill-opacity:1;fill-rule:evenodd;stroke:#666666;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect3776"
|
||||
width="5"
|
||||
height="5.0000005"
|
||||
x="19.5"
|
||||
y="1.4999995"
|
||||
ry="2.5"
|
||||
rx="2.5" />
|
||||
<rect
|
||||
rx="2.5"
|
||||
ry="2.5"
|
||||
y="19.5"
|
||||
x="1.5"
|
||||
height="5.0000005"
|
||||
width="5"
|
||||
id="rect3761"
|
||||
style="fill:#2ac23c;fill-opacity:1;fill-rule:evenodd;stroke:#666666;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.0 KiB |
|
@ -39,13 +39,13 @@
|
|||
inkscape:window-height="849"
|
||||
id="namedview184"
|
||||
showgrid="true"
|
||||
inkscape:zoom="22.961538"
|
||||
inkscape:cx="6.1110434"
|
||||
inkscape:cy="11.23117"
|
||||
inkscape:zoom="45.923076"
|
||||
inkscape:cx="16.222556"
|
||||
inkscape:cy="5.7369038"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:current-layer="text3040"
|
||||
inkscape:snap-grids="false"
|
||||
inkscape:snap-to-guides="false">
|
||||
<inkscape:grid
|
||||
|
@ -104,34 +104,67 @@
|
|||
transform="scale(0.85855393,1.1647492)"
|
||||
style="font-size:10.0978241px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Garuda;-inkscape-font-specification:Garuda"
|
||||
id="text3036">
|
||||
<path
|
||||
d="m 13.767886,1.8663839 -1.157982,3.1400741 2.32019,0 -1.162208,-3.1400741 m -0.481788,-0.8410158 0.967802,0 2.404714,6.3097316 -0.887505,0 -0.574764,-1.6186385 -2.844239,0 -0.574765,1.6186385 -0.900183,0 2.40894,-6.3097316"
|
||||
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
id="path2994" />
|
||||
<path
|
||||
d="m 18.429396,4.3218119 0,2.3117369 1.369292,0 c 0.459244,7e-7 0.79875,-0.094384 1.018516,-0.283156 C 21.03978,6.1588057 21.151071,5.8671975 21.151075,5.4755673 21.151071,5.0811233 21.03978,4.7909238 20.817204,4.604968 20.597438,4.4162002 20.257932,4.3218149 19.798688,4.3218119 l -1.369292,0 m 0,-2.594893 0,1.9017946 1.263636,0 c 0.416983,3.7e-6 0.726905,-0.077477 0.929767,-0.2324416 C 20.82847,3.2384975 20.931308,2.9990125 20.931312,2.6778162 20.931308,2.3594467 20.82847,2.1213704 20.622799,1.9635867 20.419937,1.8058137 20.110015,1.7269246 19.693032,1.7269189 l -1.263636,0 m -0.853695,-0.7015508 2.180725,0 c 0.650832,6.3e-6 1.152342,0.1352449 1.50453,0.4057161 0.35218,0.2704831 0.528272,0.6550678 0.528277,1.1537554 -5e-6,0.3859982 -0.09016,0.6931025 -0.270478,0.9213138 -0.180323,0.2282189 -0.445165,0.3705012 -0.794527,0.4268472 0.419799,0.090162 0.745217,0.278933 0.976254,0.5663121 0.233845,0.2845674 0.35077,0.6409774 0.350776,1.0692312 -6e-6,0.5634959 -0.191594,0.9987951 -0.574765,1.3058989 -0.383181,0.3071048 -0.928361,0.4606569 -1.635543,0.4606569 l -2.265249,0 0,-6.3097316"
|
||||
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
id="path2996" />
|
||||
<path
|
||||
d="m 28.08206,1.5113822 0,0.9001828 C 27.794672,2.1439102 27.487568,1.9438698 27.160746,1.8114431 26.836732,1.6790276 26.491592,1.612817 26.125324,1.6128113 c -0.721276,5.7e-6 -1.2735,0.2211771 -1.656674,0.663515 -0.383178,0.4395304 -0.574766,1.0762788 -0.574765,1.9102469 -1e-6,0.831157 0.191587,1.4679053 0.574765,1.9102469 0.383174,0.4395267 0.935398,0.6592894 1.656674,0.6592888 0.366268,6e-7 0.711408,-0.06621 1.035422,-0.1986319 0.326822,-0.1324203 0.633926,-0.3324607 0.921314,-0.6001218 l 0,0.8917303 c -0.298658,0.2028584 -0.615623,0.3550018 -0.950898,0.4564307 -0.332466,0.101429 -0.68465,0.1521435 -1.056552,0.1521436 -0.955126,-1e-7 -1.707391,-0.2916083 -2.256796,-0.8748255 -0.549408,-0.5860331 -0.824112,-1.384786 -0.824111,-2.3962611 -1e-6,-1.0142863 0.274703,-1.8130392 0.824111,-2.3962611 0.549405,-0.5860283 1.30167,-0.87904527 2.256796,-0.8790517 0.377537,6.43e-6 0.732539,0.0507209 1.065005,0.1521436 0.335274,0.098618 0.649422,0.2479436 0.942445,0.4479782"
|
||||
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
id="path2998" />
|
||||
<g
|
||||
id="g3038"
|
||||
transform="translate(-6.6451187,-12.86249)">
|
||||
<path
|
||||
id="path2994"
|
||||
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
d="m 13.767886,1.8663839 -1.157982,3.1400741 2.32019,0 -1.162208,-3.1400741 m -0.481788,-0.8410158 0.967802,0 2.404714,6.3097316 -0.887505,0 -0.574764,-1.6186385 -2.844239,0 -0.574765,1.6186385 -0.900183,0 2.40894,-6.3097316"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2996"
|
||||
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
d="m 18.429396,4.3218119 0,2.3117369 1.369292,0 c 0.459244,7e-7 0.79875,-0.094384 1.018516,-0.283156 C 21.03978,6.1588057 21.151071,5.8671975 21.151075,5.4755673 21.151071,5.0811233 21.03978,4.7909238 20.817204,4.604968 20.597438,4.4162002 20.257932,4.3218149 19.798688,4.3218119 l -1.369292,0 m 0,-2.594893 0,1.9017946 1.263636,0 c 0.416983,3.7e-6 0.726905,-0.077477 0.929767,-0.2324416 C 20.82847,3.2384975 20.931308,2.9990125 20.931312,2.6778162 20.931308,2.3594467 20.82847,2.1213704 20.622799,1.9635867 20.419937,1.8058137 20.110015,1.7269246 19.693032,1.7269189 l -1.263636,0 m -0.853695,-0.7015508 2.180725,0 c 0.650832,6.3e-6 1.152342,0.1352449 1.50453,0.4057161 0.35218,0.2704831 0.528272,0.6550678 0.528277,1.1537554 -5e-6,0.3859982 -0.09016,0.6931025 -0.270478,0.9213138 -0.180323,0.2282189 -0.445165,0.3705012 -0.794527,0.4268472 0.419799,0.090162 0.745217,0.278933 0.976254,0.5663121 0.233845,0.2845674 0.35077,0.6409774 0.350776,1.0692312 -6e-6,0.5634959 -0.191594,0.9987951 -0.574765,1.3058989 -0.383181,0.3071048 -0.928361,0.4606569 -1.635543,0.4606569 l -2.265249,0 0,-6.3097316"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2998"
|
||||
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
d="m 28.08206,1.5113822 0,0.9001828 C 27.794672,2.1439102 27.487568,1.9438698 27.160746,1.8114431 26.836732,1.6790276 26.491592,1.612817 26.125324,1.6128113 c -0.721276,5.7e-6 -1.2735,0.2211771 -1.656674,0.663515 -0.383178,0.4395304 -0.574766,1.0762788 -0.574765,1.9102469 -1e-6,0.831157 0.191587,1.4679053 0.574765,1.9102469 0.383174,0.4395267 0.935398,0.6592894 1.656674,0.6592888 0.366268,6e-7 0.711408,-0.06621 1.035422,-0.1986319 0.326822,-0.1324203 0.633926,-0.3324607 0.921314,-0.6001218 l 0,0.8917303 c -0.298658,0.2028584 -0.615623,0.3550018 -0.950898,0.4564307 -0.332466,0.101429 -0.68465,0.1521435 -1.056552,0.1521436 -0.955126,-1e-7 -1.707391,-0.2916083 -2.256796,-0.8748255 -0.549408,-0.5860331 -0.824112,-1.384786 -0.824111,-2.3962611 -1e-6,-1.0142863 0.274703,-1.8130392 0.824111,-2.3962611 0.549405,-0.5860283 1.30167,-0.87904527 2.256796,-0.8790517 0.377537,6.43e-6 0.732539,0.0507209 1.065005,0.1521436 0.335274,0.098618 0.649422,0.2479436 0.942445,0.4479782"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="scale(1.1258075,0.88825133)"
|
||||
style="font-size:9.31130981px;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
id="text3034">
|
||||
<path
|
||||
d="m 10.361478,1.9170197 1.035592,0 0.02253,4.0359105 c 0.004,0.71195 -0.0033,1.2251621 0.260375,1.5396087 0.263697,0.3114823 0.7136,0.2988428 1.304653,0.2988421 0.588015,7e-7 0.878701,-0.050502 1.142404,-0.3619846 0.263695,-0.3144466 0.377079,-0.8066116 0.37302,-1.5185612 l -0.02253,-3.9517205 1.080648,-0.042095 0,4.147154 c -6e-6,0.8662168 -0.219755,1.5203274 -0.659248,1.9623335 -0.436472,0.4420073 -1.08208,0.6630105 -1.936825,0.6630107 -0.857783,-2e-7 -1.506421,-0.2210034 -1.945918,-0.6630107 C 10.579711,7.5845011 10.361477,6.9303905 10.361478,6.0641737 l 0,-4.147154"
|
||||
style="line-height:125%;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
id="path3044"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccscscsccscscsc" />
|
||||
<path
|
||||
d="m 17.57178,7.7291671 1.083191,0.021047 0,0.9337388 -1.060662,0 m 1.029313,-1.8994729 -0.997964,0.021047 0,-0.5757372 c 0,-0.2977395 0.04876,-0.5424185 0.146299,-0.7340378 C 17.869484,5.30414 18.075002,5.0815705 18.3885,4.8280438 L 18.858745,4.4344935 C 19.05729,4.2782569 19.200106,4.1308599 19.28719,3.992302 19.37775,3.8537535 19.558209,3.6701574 19.558212,3.5257032 19.558209,3.2633417 19.42073,3.093185 19.190837,2.9310425 18.964419,2.7689115 18.550471,2.6878432 18.174278,2.6878373 c -0.275183,5.9e-6 -0.569522,0.051595 -0.883016,0.1547669 -0.310015,0.1031838 -0.431203,0.2324812 -0.76908,0.4299878 l 0.02253,-0.8102724 c 0.327428,-0.1680264 0.433052,-0.2933138 0.76745,-0.3758628 0.337879,-0.082536 0.686208,-0.1238069 1.04499,-0.1238136 0.640923,6.7e-6 1.334939,0.1429818 1.721588,0.4289257 0.390125,0.2859565 0.585189,0.6211979 0.585195,1.0899151 -6e-6,0.2240486 -0.130286,0.4798694 -0.255685,0.6832726 -0.125404,0.2004645 -0.457494,0.4274559 -0.770987,0.6809749 l -0.459796,0.3802847 c -0.163717,0.1385567 -0.280408,0.2476304 -0.35007,0.3272217 -0.06618,0.07665 -0.11321,0.151822 -0.141075,0.2255176 -0.0209,0.061909 -0.03658,0.1370821 -0.04703,0.2255177 -0.01049,0.08844 -0.007,0.2095219 -0.01568,0.362597 l -0.02253,0.3965628"
|
||||
style="line-height:125%;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
id="path3046"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccsccccccccccccccccccccsc" />
|
||||
<path
|
||||
d="m 23.80282,3.0112083 -1.088051,2.8308424 2.180648,0 -1.092597,-2.8518899 m -0.518306,-1.0731411 1.041157,0 2.586981,6.7879812 -0.954773,0 -0.730974,-1.9728467 -2.812003,-0.021047 -0.753502,1.9938942 -0.968412,0 2.591526,-6.7879812"
|
||||
style="line-height:125%;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
id="path3048"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccccccc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="scale(0.88744146,1.1268349)"
|
||||
transform="matrix(0.88744146,0,0,1.1268349,1.2629817,0)"
|
||||
style="font-size:9.76912498px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Garuda;-inkscape-font-specification:Garuda"
|
||||
id="text3040">
|
||||
<path
|
||||
d="m 13.751739,21.490968 1.349252,0 0,-4.656962 -1.467822,0.294383 0,-0.75231 1.459644,-0.294382 0.825906,0 0,5.409271 1.349251,0 0,0.695069 -3.516231,0 0,-0.695069"
|
||||
d="m 14.291563,21.490968 1.349252,0 0,-4.656962 -1.467822,0.294383 0,-0.75231 1.459644,-0.294382 0.825906,0 0,5.409271 1.349251,0 0,0.695069 -3.516231,0 0,-0.695069"
|
||||
style="font-size:8.37353611px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
id="path3001" />
|
||||
id="path3001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 19.651648,21.490968 2.882491,0 0,0.695069 -3.876031,0 0,-0.695069 c 0.313461,-0.324364 0.740042,-0.759123 1.279744,-1.304276 0.542424,-0.547876 0.883144,-0.900861 1.022161,-1.058958 0.264395,-0.297105 0.448384,-0.547874 0.551966,-0.75231 0.106301,-0.207154 0.159453,-0.410223 0.159457,-0.609208 -4e-6,-0.32436 -0.114485,-0.588759 -0.343446,-0.793196 -0.226241,-0.204426 -0.521986,-0.306642 -0.887235,-0.306648 -0.258949,6e-6 -0.532888,0.04498 -0.821817,0.134925 -0.286206,0.08996 -0.592853,0.226244 -0.919944,0.408864 l 0,-0.834082 c 0.332542,-0.133557 0.643278,-0.23441 0.93221,-0.30256 0.288929,-0.06814 0.553328,-0.10221 0.793197,-0.102216 0.632373,6e-6 1.136638,0.1581 1.512797,0.474283 0.37615,0.316193 0.564228,0.738686 0.564232,1.267478 -4e-6,0.250774 -0.04771,0.489278 -0.143102,0.715512 -0.09268,0.223516 -0.26304,0.487915 -0.51108,0.793197 -0.06815,0.07905 -0.284846,0.308013 -0.650094,0.686891 -0.365255,0.376157 -0.880423,0.903591 -1.545506,1.582304"
|
||||
d="m 19.897022,21.471644 2.882491,0 0,0.695069 -3.876031,0 0,-0.695069 c 0.313461,-0.324364 0.740042,-0.759123 1.279744,-1.304276 0.542424,-0.547876 0.883144,-0.900861 1.022161,-1.058958 0.264395,-0.297105 0.448384,-0.547874 0.551966,-0.75231 0.106301,-0.207154 0.159453,-0.410223 0.159457,-0.609208 -4e-6,-0.32436 -0.114485,-0.588759 -0.343446,-0.793196 -0.226241,-0.204426 -0.521986,-0.306642 -0.887235,-0.306648 -0.258949,6e-6 -0.532888,0.04498 -0.821817,0.134925 -0.286206,0.08996 -0.592853,0.226244 -0.919944,0.408864 l 0,-0.834082 c 0.332542,-0.133557 0.643278,-0.23441 0.93221,-0.30256 0.288929,-0.06814 0.553328,-0.10221 0.793197,-0.102216 0.632373,6e-6 1.136638,0.1581 1.512797,0.474283 0.37615,0.316193 0.564228,0.738686 0.564232,1.267478 -4e-6,0.250774 -0.04771,0.489278 -0.143102,0.715512 -0.09268,0.223516 -0.26304,0.487915 -0.51108,0.793197 -0.06815,0.07905 -0.284846,0.308013 -0.650094,0.686891 -0.365255,0.376157 -0.880423,0.903591 -1.545506,1.582304"
|
||||
style="font-size:8.37353611px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
id="path3003" />
|
||||
id="path3003"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 26.774059,18.894681 c 0.395232,0.0845 0.703243,0.260313 0.924033,0.527435 0.223508,0.267127 0.335264,0.596944 0.335269,0.989451 -5e-6,0.602394 -0.207162,1.068499 -0.621474,1.398315 -0.414319,0.329817 -1.003082,0.494726 -1.766292,0.494726 -0.256224,0 -0.520622,-0.0259 -0.793197,-0.07769 -0.269851,-0.04906 -0.549241,-0.124022 -0.838171,-0.224875 l 0,-0.797285 c 0.228963,0.133563 0.479733,0.234416 0.75231,0.30256 0.272574,0.06814 0.557416,0.102216 0.854526,0.102216 0.517891,0 0.911763,-0.102216 1.181617,-0.306648 0.272572,-0.204431 0.40886,-0.501539 0.408864,-0.891324 -4e-6,-0.359798 -0.126752,-0.640551 -0.380244,-0.84226 -0.250773,-0.204429 -0.601033,-0.306645 -1.05078,-0.306648 l -0.711424,0 0,-0.678714 0.744133,0 c 0.406135,3e-6 0.716872,-0.08041 0.93221,-0.24123 0.215331,-0.163542 0.322999,-0.397957 0.323003,-0.703246 -4e-6,-0.313458 -0.11176,-0.553325 -0.335269,-0.719601 -0.22079,-0.168992 -0.53834,-0.25349 -0.952653,-0.253496 -0.226241,6e-6 -0.468833,0.02454 -0.727778,0.0736 -0.258949,0.04907 -0.543791,0.12539 -0.854526,0.228964 l 0,-0.735956 c 0.313461,-0.08722 0.60648,-0.152636 0.879058,-0.196255 0.275299,-0.0436 0.534246,-0.06541 0.776841,-0.06542 0.626922,6e-6 1.12301,0.143109 1.488265,0.429308 0.365248,0.283484 0.547874,0.667816 0.547878,1.152996 -4e-6,0.337999 -0.09677,0.624203 -0.290293,0.858615 -0.193533,0.231693 -0.468835,0.392513 -0.825906,0.482459"
|
||||
d="m 26.675909,18.894681 c 0.395232,0.0845 0.703243,0.260313 0.924033,0.527435 0.223508,0.267127 0.335264,0.596944 0.335269,0.989451 -5e-6,0.602394 -0.207162,1.068499 -0.621474,1.398315 -0.414319,0.329817 -1.003082,0.494726 -1.766292,0.494726 -0.256224,0 -0.520622,-0.0259 -0.793197,-0.07769 -0.269851,-0.04906 -0.549241,-0.124022 -0.838171,-0.224875 l 0,-0.797285 c 0.228963,0.133563 0.479733,0.234416 0.75231,0.30256 0.272574,0.06814 0.557416,0.102216 0.854526,0.102216 0.517891,0 0.911763,-0.102216 1.181617,-0.306648 0.272572,-0.204431 0.40886,-0.501539 0.408864,-0.891324 -4e-6,-0.359798 -0.126752,-0.640551 -0.380244,-0.84226 -0.250773,-0.204429 -0.601033,-0.306645 -1.05078,-0.306648 l -0.711424,0 0,-0.678714 0.744133,0 c 0.406135,3e-6 0.716872,-0.08041 0.93221,-0.24123 0.215331,-0.163542 0.322999,-0.397957 0.323003,-0.703246 -4e-6,-0.313458 -0.11176,-0.553325 -0.335269,-0.719601 -0.22079,-0.168992 -0.53834,-0.25349 -0.952653,-0.253496 -0.226241,6e-6 -0.468833,0.02454 -0.727778,0.0736 -0.258949,0.04907 -0.543791,0.12539 -0.854526,0.228964 l 0,-0.735956 c 0.313461,-0.08722 0.60648,-0.152636 0.879058,-0.196255 0.275299,-0.0436 0.534246,-0.06541 0.776841,-0.06542 0.626922,6e-6 1.12301,0.143109 1.488265,0.429308 0.365248,0.283484 0.547874,0.667816 0.547878,1.152996 -4e-6,0.337999 -0.09677,0.624203 -0.290293,0.858615 -0.193533,0.231693 -0.468835,0.392513 -0.825906,0.482459"
|
||||
style="font-size:8.37353611px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
|
||||
id="path3005" />
|
||||
id="path3005"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 13 KiB |
|
@ -1,390 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
style="enable-background:new"
|
||||
height="26"
|
||||
width="26"
|
||||
version="1.0"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="apply.svg">
|
||||
<metadata
|
||||
id="metadata99">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1119"
|
||||
inkscape:window-height="823"
|
||||
id="namedview97"
|
||||
showgrid="true"
|
||||
borderlayer="true"
|
||||
inkscape:zoom="28.639971"
|
||||
inkscape:cx="13.118885"
|
||||
inkscape:cy="13.473811"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3080"
|
||||
empspacing="2"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true"
|
||||
dotted="false" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="a">
|
||||
<stop
|
||||
stop-color="#fff"
|
||||
offset="0"
|
||||
id="stop7" />
|
||||
<stop
|
||||
stop-color="#fff"
|
||||
stop-opacity="0"
|
||||
offset="1"
|
||||
id="stop9" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="c">
|
||||
<stop
|
||||
stop-color="#f0ff80"
|
||||
offset="0"
|
||||
id="stop12" />
|
||||
<stop
|
||||
stop-color="#f0ff80"
|
||||
stop-opacity="0"
|
||||
offset="1"
|
||||
id="stop14" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
id="ad"
|
||||
fy="99.884003"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cy="77.542"
|
||||
cx="54.537998"
|
||||
gradientTransform="matrix(1.3117,5.847e-8,-4.3853e-8,0.98379,-16.906,1.3137)"
|
||||
r="48">
|
||||
<stop
|
||||
stop-color="#66f515"
|
||||
offset="0"
|
||||
id="stop17" />
|
||||
<stop
|
||||
stop-color="#002e00"
|
||||
offset="1"
|
||||
id="stop19" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
id="y"
|
||||
y2="30.849001"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="89.091003"
|
||||
gradientTransform="translate(0,4)"
|
||||
y1="103.9"
|
||||
x1="89.091003">
|
||||
<stop
|
||||
stop-color="#003100"
|
||||
offset="0"
|
||||
id="stop22" />
|
||||
<stop
|
||||
stop-color="#008c00"
|
||||
offset="1"
|
||||
id="stop24" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="z"
|
||||
y2="89.995003"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="83.324997"
|
||||
gradientTransform="translate(-2.3932e-5,4)"
|
||||
y1="24.062"
|
||||
x1="83.324997">
|
||||
<stop
|
||||
stop-color="#bfffbf"
|
||||
offset="0"
|
||||
id="stop27" />
|
||||
<stop
|
||||
stop-color="#bfffbf"
|
||||
stop-opacity="0"
|
||||
offset="1"
|
||||
id="stop29" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
id="ae"
|
||||
fx="53.16"
|
||||
fy="87.081001"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cy="95.459"
|
||||
cx="52.792"
|
||||
gradientTransform="matrix(0.56466,8.5323e-8,-1.3866e-7,0.91764,24.424,0.14392)"
|
||||
r="52">
|
||||
<stop
|
||||
stop-color="#001400"
|
||||
offset="0"
|
||||
id="stop32" />
|
||||
<stop
|
||||
stop-color="#001400"
|
||||
stop-opacity="0"
|
||||
offset="1"
|
||||
id="stop34" />
|
||||
</radialGradient>
|
||||
<radialGradient
|
||||
id="b"
|
||||
xlink:href="#a"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cy="29.375"
|
||||
cx="99.765999"
|
||||
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-96.241,-146.15)"
|
||||
r="3.0156" />
|
||||
<radialGradient
|
||||
id="af"
|
||||
xlink:href="#a"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cy="29.375"
|
||||
cx="99.765999"
|
||||
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-167.24,-126.15)"
|
||||
r="3.0156" />
|
||||
<linearGradient
|
||||
id="aa"
|
||||
y2="47.379002"
|
||||
xlink:href="#c"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="71.603996"
|
||||
y1="96.884003"
|
||||
x1="71.603996" />
|
||||
<filter
|
||||
id="ai"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.425"
|
||||
id="feGaussianBlur40" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
id="ab"
|
||||
y2="46.277"
|
||||
xlink:href="#a"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="77.138"
|
||||
y1="74.838997"
|
||||
x1="87.532997" />
|
||||
<linearGradient
|
||||
id="ac"
|
||||
y2="69.837997"
|
||||
xlink:href="#a"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="83.324997"
|
||||
gradientTransform="translate(0,4)"
|
||||
y1="24.062"
|
||||
x1="83.324997" />
|
||||
<radialGradient
|
||||
id="ag"
|
||||
xlink:href="#c"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cy="29.375"
|
||||
cx="99.765999"
|
||||
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-167.24,-126.15)"
|
||||
r="3.0156" />
|
||||
<filter
|
||||
id="aj"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.4605"
|
||||
id="feGaussianBlur46" />
|
||||
</filter>
|
||||
<radialGradient
|
||||
id="ah"
|
||||
xlink:href="#a"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cy="51.919998"
|
||||
cx="53.632999"
|
||||
gradientTransform="matrix(1.0961,0.087912,-0.10023,1.2497,1.0599,-18.687)"
|
||||
r="52" />
|
||||
<filter
|
||||
id="ak"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feBlend
|
||||
mode="lighten"
|
||||
in2="BackgroundImage"
|
||||
id="feBlend50" />
|
||||
</filter>
|
||||
<filter
|
||||
id="al"
|
||||
height="1.2058001"
|
||||
width="1.3647"
|
||||
color-interpolation-filters="sRGB"
|
||||
y="-0.10289"
|
||||
x="-0.18233">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.45819706"
|
||||
id="feGaussianBlur53" />
|
||||
</filter>
|
||||
<filter
|
||||
id="am"
|
||||
height="1.2058001"
|
||||
width="1.3647"
|
||||
color-interpolation-filters="sRGB"
|
||||
y="-0.10289"
|
||||
x="-0.18233">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.45819706"
|
||||
id="feGaussianBlur56" />
|
||||
</filter>
|
||||
<filter
|
||||
id="v"
|
||||
height="1.3703001"
|
||||
width="1.2077"
|
||||
color-interpolation-filters="sRGB"
|
||||
y="-0.18513"
|
||||
x="-0.10383">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.45819702"
|
||||
id="feGaussianBlur59" />
|
||||
</filter>
|
||||
<filter
|
||||
id="w"
|
||||
height="1.2058001"
|
||||
width="1.3647"
|
||||
color-interpolation-filters="sRGB"
|
||||
y="-0.10289"
|
||||
x="-0.18233">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.45819706"
|
||||
id="feGaussianBlur62" />
|
||||
</filter>
|
||||
<filter
|
||||
id="x"
|
||||
height="1.3703001"
|
||||
width="1.2077"
|
||||
color-interpolation-filters="sRGB"
|
||||
y="-0.18513"
|
||||
x="-0.10383">
|
||||
<feGaussianBlur
|
||||
stdDeviation="0.45819702"
|
||||
id="feGaussianBlur65" />
|
||||
</filter>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#a"
|
||||
id="radialGradient3076"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-96.241,-146.15)"
|
||||
cx="99.765999"
|
||||
cy="29.375"
|
||||
r="3.0156" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#a"
|
||||
id="radialGradient3078"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-96.241,-146.15)"
|
||||
cx="99.765999"
|
||||
cy="29.375"
|
||||
r="3.0156" />
|
||||
</defs>
|
||||
<g
|
||||
transform="matrix(0.24502174,0,0,0.25091083,-2.5625062,-3.5450263)"
|
||||
id="g67">
|
||||
<path
|
||||
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
|
||||
id="path69"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#004d00;stroke-width:8.10000038;stroke-linecap:round;stroke-linejoin:round;filter:url(#aj)" />
|
||||
<path
|
||||
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
|
||||
id="path71"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:url(#y);stroke-width:8;stroke-linecap:round;stroke-linejoin:round" />
|
||||
<path
|
||||
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
|
||||
id="path73"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.28570999;fill:none;stroke:url(#ah);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;filter:url(#ak)" />
|
||||
<path
|
||||
d="m 28.406,44.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
|
||||
transform="matrix(1,0,0,-1,26,147.75)"
|
||||
id="path75"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.40951999;fill:url(#ag);filter:url(#al)" />
|
||||
<path
|
||||
d="m 99.406,24.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
|
||||
transform="matrix(-0.34202,0.93969,0.93969,0.34202,24.21,-42.203)"
|
||||
id="path77"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.2381;fill:url(#radialGradient3076);filter:url(#v)" />
|
||||
<path
|
||||
d="m 28.406,44.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
|
||||
id="path79"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.77619001;fill:url(#af);filter:url(#am)" />
|
||||
<path
|
||||
d="m 99.406,24.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
|
||||
transform="matrix(0.34202,0.93969,-0.93969,0.34202,104.53,-62.203)"
|
||||
id="path81"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.37142998;fill:url(#radialGradient3078);filter:url(#x)" />
|
||||
<path
|
||||
d="m 99.406,24.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
|
||||
transform="translate(-2.3932e-5,0)"
|
||||
id="path83"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.87142998;fill:url(#b);filter:url(#w)" />
|
||||
<path
|
||||
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
|
||||
id="path85"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.28570999;fill:none;stroke:url(#ae);stroke-width:8;stroke-linecap:round;stroke-linejoin:round" />
|
||||
<path
|
||||
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
|
||||
id="path87"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#ad)" />
|
||||
<path
|
||||
d="m 99.375,28.062 c -3e-6,0 -35.257,36.14 -44.969,46.094 C 46.258,65.806 28.625,47.75 28.625,47.75 L 16,60.688 32.469,77.563 c 0.18891,4.87e-4 0.37338,0 0.5625,0 17.53,0 34.136,-2.0931 49.031,-5.8438 l 29.937,-30.719 -12.625,-12.938 z"
|
||||
id="path89"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#z)" />
|
||||
<path
|
||||
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
|
||||
id="path91"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:url(#aa);filter:url(#ai)" />
|
||||
<path
|
||||
d="m 99.375,28.062 c 0,0 -0.40024,0.43134 -0.40625,0.4375 l 12.188,12.281 -30,30.219 c -14.927,3.6876 -31.057,6.2187 -48.625,6.2188 -0.12636,0 -0.25009,-10e-7 -0.375,0 l 0.3125,0.34375 c 0.18891,4.87e-4 0.37338,0 0.5625,0 17.53,0 34.136,-2.0931 49.031,-5.8438 l 29.936,-30.719 -12.625,-12.938 z"
|
||||
transform="translate(-2.3932e-5,0)"
|
||||
id="path93"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#ab)" />
|
||||
<path
|
||||
d="m 99.375,28.062 c -3e-6,0 -35.257,36.14 -44.969,46.094 C 46.258,65.806 28.625,47.75 28.625,47.75 L 16,60.688 l 0.5,0.5 12.125,-12.438 c 0,0 17.633,18.056 25.781,26.406 9.712,-9.954 44.969,-46.094 44.969,-46.094 L 111.5,41.5 112,41 99.375,28.062 z"
|
||||
transform="translate(-2.3932e-5,0)"
|
||||
id="path95"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#ac)" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 13 KiB |
|
@ -8,11 +8,11 @@
|
|||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="48"
|
||||
width="48"
|
||||
height="26"
|
||||
width="26"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="datasheet.svg">
|
||||
<metadata
|
||||
id="metadata33">
|
||||
|
@ -36,26 +36,36 @@
|
|||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="876"
|
||||
inkscape:window-height="849"
|
||||
id="namedview31"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-0.5832341"
|
||||
inkscape:cy="26.726924"
|
||||
showgrid="true"
|
||||
inkscape:zoom="23.882667"
|
||||
inkscape:cx="6.9462797"
|
||||
inkscape:cy="13.806302"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-to-guides="false"
|
||||
inkscape:snap-grids="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2992"
|
||||
empspacing="1"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="a"
|
||||
y2="73.399"
|
||||
y2="73.399002"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="72.999"
|
||||
x2="72.999001"
|
||||
gradientTransform="matrix(0.25365,0,0,0.2205,4.7206034,0.98497864)"
|
||||
y1="16.369"
|
||||
x1="23.984">
|
||||
y1="16.368999"
|
||||
x1="23.983999">
|
||||
<stop
|
||||
stop-color="#fff"
|
||||
offset="0"
|
||||
|
@ -71,48 +81,43 @@
|
|||
xlink:href="#a"
|
||||
id="linearGradient2824"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.3154331,0,0,0.30075853,-0.90210036,-0.68623611)"
|
||||
x1="23.984"
|
||||
y1="16.369"
|
||||
x2="72.999"
|
||||
y2="73.399" />
|
||||
gradientTransform="matrix(0.19611083,0,0,0.17490217,-2.6221466,-1.3587275)"
|
||||
x1="23.983999"
|
||||
y1="16.368999"
|
||||
x2="72.999001"
|
||||
y2="73.399002" />
|
||||
</defs>
|
||||
<rect
|
||||
rx="7.6828136"
|
||||
ry="7.6765027"
|
||||
height="44.727772"
|
||||
width="39.518372"
|
||||
y="1.6953347"
|
||||
x="4.4109545"
|
||||
rx="4.7765532"
|
||||
ry="4.464169"
|
||||
height="26.010847"
|
||||
width="24.569334"
|
||||
y="0.026244164"
|
||||
x="0.68108183"
|
||||
id="rect15"
|
||||
style="fill:none;stroke:#000000;stroke-width:2.51595616;stroke-linejoin:round;stroke-opacity:0.0657895" />
|
||||
style="fill:none;stroke:#000000;stroke-width:1.51282549;stroke-linejoin:round;stroke-opacity:0.0657895" />
|
||||
<rect
|
||||
rx="7.6828136"
|
||||
ry="7.6765027"
|
||||
height="44.727772"
|
||||
width="39.518372"
|
||||
y="1.6653272"
|
||||
x="4.3644452"
|
||||
rx="4.7765532"
|
||||
ry="4.464169"
|
||||
height="26.010847"
|
||||
width="24.569334"
|
||||
y="0.0087932367"
|
||||
x="0.65216607"
|
||||
id="rect17"
|
||||
style="fill:#bab5ab;fill-opacity:0.44298245;fill-rule:evenodd;stroke:#000000;stroke-width:1.25797808;stroke-opacity:0.04385962" />
|
||||
style="fill:#bab5ab;fill-opacity:0.44298245;fill-rule:evenodd;stroke:#000000;stroke-width:0.75641274;stroke-opacity:0.04385962" />
|
||||
<path
|
||||
d="m 36.828749,44.887397 -25.411237,0 c -3.9079388,0 -5.8215534,-1.912033 -5.8215534,-5.816709 0,0 9.2693684,-22.303872 37.0535984,-25.70565 l 0,25.70565 c 0,3.904676 -1.913616,5.816709 -5.821555,5.816709 z"
|
||||
d="m 20.835847,25.144019 -15.7986535,0 c -2.429641,0 -3.6193718,-1.111918 -3.6193718,-3.38263 0,0 5.7629448,-12.9705235 23.0369363,-14.9487827 l 0,14.9487827 c 0,2.270712 -1.189733,3.38263 -3.619374,3.38263 z"
|
||||
id="path19"
|
||||
style="fill:#ffffff;fill-opacity:0.27935001;fill-rule:evenodd" />
|
||||
style="fill:#ffffff;fill-opacity:0.27935001;fill-rule:evenodd"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke-width:1pt"
|
||||
id="path23"
|
||||
d="m 41.986992,31.946113 -3.841853,0 c -0.594242,0 -1.070639,0.07596 -1.429197,0.227904 -0.17417,0.05842 -0.327839,0.128568 -0.461048,0.210363 -0.133168,0.08183 -0.261238,0.198684 -0.384186,0.350609 -0.338086,0.350608 -0.583965,0.783045 -0.737647,1.297272 l -0.09228,0.420743 -0.03081,0.473331 0,0.368151 6.977006,0 0,2.24392 -6.977006,0 0,5.697416 -2.581783,0 0,-6.819467 c 0,-0.596035 0.01541,-1.116129 0.04621,-1.560243 0.0308,-0.455806 0.08191,-0.853158 0.153681,-1.19209 0.215128,-1.121979 0.665927,-2.039442 1.352365,-2.752354 0.430296,-0.455807 0.95279,-0.788893 1.567435,-0.999255 0.614715,-0.210361 1.393336,-0.315558 2.33592,-0.315558 l 4.103232,0 0,2.349098 z m -22.067939,-2.349634 6.346899,0 c 1.608437,0 2.832771,0.58436 3.672864,1.75308 0.840121,1.168722 1.260182,2.857533 1.260182,5.066332 0,2.185449 -0.420061,3.868518 -1.260182,5.048864 -0.829843,1.180397 -2.054179,1.770605 -3.672864,1.770605 l -6.346613,0 0,-13.638934 z m 2.48953,11.307306 3.027382,0 c 1.004013,0 1.746815,-0.368152 2.228291,-1.104436 0.481536,-0.747979 0.722288,-1.875786 0.722288,-3.383437 0,-1.507654 -0.230517,-2.629702 -0.691552,-3.365969 -0.450811,-0.736302 -1.203806,-1.104436 -2.259041,-1.104436 l -3.027381,0 0,8.958205 z m -12.002618,-2.54217 0,4.87362 -2.5826362,0 0,-13.638934 7.1767412,0 c 1.106459,0 1.982427,0.373979 2.627911,1.121975 0.64545,0.736285 0.968179,1.823198 0.968179,3.260789 0,1.425825 -0.322729,2.512755 -0.968179,3.260788 -0.64544,0.747979 -1.521452,1.121976 -2.627911,1.121976 l -4.59496,0 z m 0,-6.416214 0,4.084584 3.426574,0 c 0.56348,0 1.024513,-0.16362 1.383101,-0.490856 0.358589,-0.338931 0.537868,-0.859007 0.537868,-1.560243 0,-0.689541 -0.179279,-1.197938 -0.537868,-1.525175 -0.348653,-0.338719 -0.809628,-0.508078 -1.383357,-0.508078 l -3.427002,0 z" />
|
||||
<path
|
||||
style="stroke-width:1pt;stroke:none;stroke-opacity:1;fill:#636363;fill-opacity:1"
|
||||
id="path25"
|
||||
d="m 42.247516,32.243832 -3.841991,0 c -0.594245,0 -1.07064,0.07596 -1.429198,0.227901 -0.17417,0.05842 -0.327839,0.128555 -0.461048,0.210362 -0.133167,0.08183 -0.261241,0.198684 -0.384185,0.350609 -0.338087,0.350609 -0.58398,0.783046 -0.737663,1.297274 l -0.09228,0.42074 -0.03081,0.473334 0,0.368148 6.977006,0 0,2.243921 -6.977006,0 0,5.697416 -2.581782,0 0,-6.819467 c 0,-0.596035 0.01542,-1.116126 0.04607,-1.560242 0.03081,-0.455807 0.08191,-0.853159 0.153682,-1.192091 0.215128,-1.121976 0.665925,-2.03944 1.352365,-2.752354 0.430282,-0.455806 0.952788,-0.788892 1.567575,-0.999254 0.614703,-0.210361 1.393324,-0.315559 2.335919,-0.315559 l 4.103232,0 0,2.349097 z m -22.067937,-2.349637 6.346901,0 c 1.608434,0 2.83277,0.58436 3.672864,1.753079 0.840106,1.168722 1.260156,2.857536 1.260156,5.066334 0,2.185446 -0.420063,3.868519 -1.260156,5.048862 -0.829858,1.180397 -2.054179,1.770604 -3.672864,1.770604 l -6.346615,0 0,-13.638934 z m 2.489529,11.307304 3.027385,0 c 1.004028,0 1.746812,-0.368151 2.228292,-1.104436 0.48152,-0.747976 0.72227,-1.875784 0.72227,-3.383436 0,-1.507652 -0.230501,-2.629702 -0.691549,-3.365968 -0.450782,-0.736284 -1.203806,-1.104436 -2.259041,-1.104436 l -3.027386,0 0,8.958206 z m -12.002615,-2.542169 0,4.873621 -2.5826373,0 0,-13.638935 7.1767423,0 c 1.106485,0 1.982428,0.373981 2.627908,1.121978 0.645441,0.736284 0.968166,1.823196 0.968166,3.260787 0,1.425825 -0.322725,2.512755 -0.968166,3.260787 -0.645453,0.747978 -1.52145,1.121975 -2.627908,1.121975 l -4.594675,0 z m 0,-6.416214 0,4.084586 3.426573,0 c 0.56348,0 1.024511,-0.163617 1.383101,-0.490856 0.358588,-0.338933 0.537868,-0.859008 0.537868,-1.560245 0,-0.689541 -0.17928,-1.197937 -0.537868,-1.525176 -0.348793,-0.338717 -0.809629,-0.508077 -1.383357,-0.508077 l -3.427,0 z" />
|
||||
<path
|
||||
d="M 24.023644,5.3276251 C 29.472995,5.3738642 17.69757,31.349717 13.218834,27.889291 9.3401175,22.629767 38.060511,17.184742 35.568384,20.553782 30.488375,26.413459 20.559662,5.3276251 24.023023,5.3276251 z"
|
||||
id="path27"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#df421e;stroke-width:1.9888792" />
|
||||
<path
|
||||
d="m 11.418383,2.8968687 25.411236,0 c 3.907937,0 5.821553,1.912033 5.821553,5.8167104 0,0 -26.6088,0.3036639 -37.0535969,30.6309959 l 0,-30.6350879 c 0,-3.4500612 2.3686392,-5.8167103 5.8215539,-5.8167103 z"
|
||||
d="m 5.0377349,0.72498014 15.7986531,0 c 2.42964,0 3.619373,1.11191786 3.619373,3.38263126 0,0 -16.5432033,0.1765919 -23.0369345,17.8130536 l 0,-17.8154333 c 0,-2.0063375 1.4726286,-3.3826311 3.6193721,-3.3826311 z"
|
||||
id="path29"
|
||||
style="fill:url(#linearGradient2824);fill-rule:evenodd" />
|
||||
style="fill:url(#linearGradient2824);fill-rule:evenodd"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M 12.80163,2.0300946 C 17.684339,2.072788 7.1333622,26.05667 3.1203382,22.86161 -0.35505789,18.005414 25.378901,12.977942 23.145912,16.088629 18.594137,21.498951 9.6978454,2.0300946 12.801074,2.0300946 z"
|
||||
id="path27"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#df421e;stroke-width:1.109;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 4.1 KiB |
|
@ -13,8 +13,8 @@
|
|||
inkscape:export-ydpi="90.000000"
|
||||
inkscape:export-xdpi="90.000000"
|
||||
inkscape:export-filename="/home/steven/edit-find-48.png"
|
||||
sodipodi:docname="find.svg.BASE"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="find.svg"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:version="0.32"
|
||||
id="svg249"
|
||||
height="26"
|
||||
|
@ -59,18 +59,6 @@
|
|||
offset="1.0000000"
|
||||
style="stop-color:#ffffff;stop-opacity:0.24761905;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4477"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop4479"
|
||||
offset="0"
|
||||
style="stop-color:#000000;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop4481"
|
||||
offset="1"
|
||||
style="stop-color:#000000;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2366">
|
||||
<stop
|
||||
|
@ -97,66 +85,6 @@
|
|||
offset="1.0000000"
|
||||
id="stop2850" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4477"
|
||||
id="radialGradient1527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.237968,0,28.93278)"
|
||||
cx="24.130018"
|
||||
cy="37.967922"
|
||||
fx="24.130018"
|
||||
fy="37.967922"
|
||||
r="16.528622" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2846"
|
||||
id="linearGradient1529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="27.366341"
|
||||
y1="26.580296"
|
||||
x2="31.335964"
|
||||
y2="30.557772" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4440"
|
||||
id="linearGradient1531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.334593,0,0,1.291292,-6.973842,-7.460658)"
|
||||
x1="30.65625"
|
||||
y1="34"
|
||||
x2="33.21875"
|
||||
y2="31.0625" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2366"
|
||||
id="linearGradient1533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="18.292673"
|
||||
y1="13.602121"
|
||||
x2="17.500893"
|
||||
y2="25.743469" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454"
|
||||
id="radialGradient1537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="18.240929"
|
||||
cy="21.817987"
|
||||
fx="18.240929"
|
||||
fy="21.817987"
|
||||
r="8.3085051" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4467"
|
||||
id="radialGradient1539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.592963,0,0,2.252104,-25.05975,-18.941)"
|
||||
cx="15.414371"
|
||||
cy="13.078408"
|
||||
fx="15.414371"
|
||||
fy="13.078408"
|
||||
r="6.65625" />
|
||||
<radialGradient
|
||||
id="aigrd2-8"
|
||||
cx="20.892099"
|
||||
|
@ -338,18 +266,279 @@
|
|||
fx="8.824419"
|
||||
fy="3.7561285"
|
||||
r="37.751713" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2846-1-5"
|
||||
id="linearGradient2730-7"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,48.18409,0)"
|
||||
x1="27.366341"
|
||||
y1="26.580296"
|
||||
x2="31.335964"
|
||||
y2="30.557772" />
|
||||
<linearGradient
|
||||
id="linearGradient2846-1-5">
|
||||
<stop
|
||||
style="stop-color:#8a8a8a;stop-opacity:1.0000000;"
|
||||
offset="0.0000000"
|
||||
id="stop2848-0-9" />
|
||||
<stop
|
||||
style="stop-color:#484848;stop-opacity:1.0000000;"
|
||||
offset="1.0000000"
|
||||
id="stop2850-4-6" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4440-1-1"
|
||||
id="linearGradient2732-2"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1.334593,0,0,1.291292,55.15793,-7.460658)"
|
||||
x1="30.65625"
|
||||
y1="34"
|
||||
x2="33.21875"
|
||||
y2="31.0625" />
|
||||
<linearGradient
|
||||
id="linearGradient4440-1-1">
|
||||
<stop
|
||||
id="stop4442-1-7"
|
||||
offset="0"
|
||||
style="stop-color:#7d7d7d;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#b1b1b1;stop-opacity:1.0000000;"
|
||||
offset="0.50000000"
|
||||
id="stop4448-8-8" />
|
||||
<stop
|
||||
id="stop4444-6-5"
|
||||
offset="1.0000000"
|
||||
style="stop-color:#686868;stop-opacity:1.0000000;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2366-4-4"
|
||||
id="linearGradient2734-7"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,44.17827,0)"
|
||||
x1="18.292673"
|
||||
y1="13.602121"
|
||||
x2="17.500893"
|
||||
y2="25.743469" />
|
||||
<linearGradient
|
||||
id="linearGradient2366-4-4">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop2368-3-1" />
|
||||
<stop
|
||||
id="stop2374-4-8"
|
||||
offset="0.50000000"
|
||||
style="stop-color:#ffffff;stop-opacity:0.21904762;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1.0000000;"
|
||||
offset="1.0000000"
|
||||
id="stop2370-7-5" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454-7-7"
|
||||
id="radialGradient2736-9"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,43.352,0)"
|
||||
cx="18.240929"
|
||||
cy="21.817987"
|
||||
fx="18.240929"
|
||||
fy="21.817987"
|
||||
r="8.3085051" />
|
||||
<linearGradient
|
||||
id="linearGradient4454-7-7">
|
||||
<stop
|
||||
id="stop4456-0-5"
|
||||
offset="0.0000000"
|
||||
style="stop-color:#729fcf;stop-opacity:0.20784314;" />
|
||||
<stop
|
||||
id="stop4458-7-3"
|
||||
offset="1.0000000"
|
||||
style="stop-color:#729fcf;stop-opacity:0.67619050;" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="6.65625"
|
||||
fy="13.078408"
|
||||
fx="15.414371"
|
||||
cy="13.078408"
|
||||
cx="15.414371"
|
||||
gradientTransform="matrix(2.592963,0,0,2.252104,-25.05976,-18.941)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient3411"
|
||||
xlink:href="#linearGradient4467-4-8"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
id="linearGradient4467-4-8">
|
||||
<stop
|
||||
id="stop4469-5-3"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop4471-3-1"
|
||||
offset="1.0000000"
|
||||
style="stop-color:#ffffff;stop-opacity:0.24761905;" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="6.65625"
|
||||
fy="13.078408"
|
||||
fx="15.414371"
|
||||
cy="13.078408"
|
||||
cx="15.414371"
|
||||
gradientTransform="matrix(2.592963,0,0,2.252104,-25.05976,-18.941)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient3143"
|
||||
xlink:href="#linearGradient4467-4-8"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2846-1-5"
|
||||
id="linearGradient3953"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,48.18409,0)"
|
||||
x1="27.366341"
|
||||
y1="26.580296"
|
||||
x2="31.335964"
|
||||
y2="30.557772" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4440-1-1"
|
||||
id="linearGradient3955"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1.334593,0,0,1.291292,55.15793,-7.460658)"
|
||||
x1="30.65625"
|
||||
y1="34"
|
||||
x2="33.21875"
|
||||
y2="31.0625" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2366-4-4"
|
||||
id="linearGradient3957"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,44.17827,0)"
|
||||
x1="18.292673"
|
||||
y1="13.602121"
|
||||
x2="17.500893"
|
||||
y2="25.743469" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454-7-7"
|
||||
id="radialGradient3959"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,43.352,0)"
|
||||
cx="18.240929"
|
||||
cy="21.817987"
|
||||
fx="18.240929"
|
||||
fy="21.817987"
|
||||
r="8.3085051" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4467-4-8"
|
||||
id="radialGradient3961"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.592963,0,0,2.252104,-25.05976,-18.941)"
|
||||
cx="15.414371"
|
||||
cy="13.078408"
|
||||
fx="15.414371"
|
||||
fy="13.078408"
|
||||
r="6.65625" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4467-4-8"
|
||||
id="radialGradient3964"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1.1830991,0,0,1.0154904,7.797398,16.499809)"
|
||||
cx="15.414371"
|
||||
cy="13.078408"
|
||||
fx="15.414371"
|
||||
fy="13.078408"
|
||||
r="6.65625" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4440-1-1"
|
||||
id="linearGradient3970"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.60893882,0,0,0.58225314,4.761172,21.67638)"
|
||||
x1="30.65625"
|
||||
y1="34"
|
||||
x2="33.21875"
|
||||
y2="31.0625" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2846-1-5"
|
||||
id="linearGradient3974"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.45627305,0,0,0.45090742,1.5791967,25.040446)"
|
||||
x1="27.366341"
|
||||
y1="26.580296"
|
||||
x2="31.335964"
|
||||
y2="30.557772" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2846-1-5"
|
||||
id="linearGradient3985"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.45627305,0,0,0.45090742,1.5791967,25.040446)"
|
||||
x1="27.366341"
|
||||
y1="26.580296"
|
||||
x2="31.335964"
|
||||
y2="30.557772" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4440-1-1"
|
||||
id="linearGradient3987"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.60893882,0,0,0.58225314,4.761172,21.67638)"
|
||||
x1="30.65625"
|
||||
y1="34"
|
||||
x2="33.21875"
|
||||
y2="31.0625" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2366-4-4"
|
||||
id="linearGradient3989"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,44.17827,0)"
|
||||
x1="18.292673"
|
||||
y1="13.602121"
|
||||
x2="17.500893"
|
||||
y2="25.743469" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454-7-7"
|
||||
id="radialGradient3991"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,1,43.352,0)"
|
||||
cx="18.240929"
|
||||
cy="21.817987"
|
||||
fx="18.240929"
|
||||
fy="21.817987"
|
||||
r="8.3085051" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4467-4-8"
|
||||
id="radialGradient3993"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1.1830991,0,0,1.0154904,7.797398,16.499809)"
|
||||
cx="15.414371"
|
||||
cy="13.078408"
|
||||
fx="15.414371"
|
||||
fy="13.078408"
|
||||
r="6.65625" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-height="969"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="849"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
showgrid="true"
|
||||
inkscape:current-layer="layer5"
|
||||
inkscape:cy="13.694933"
|
||||
inkscape:cx="19.492108"
|
||||
inkscape:cy="12.288442"
|
||||
inkscape:cx="8.4435897"
|
||||
inkscape:zoom="22.627416"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
|
@ -364,7 +553,7 @@
|
|||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2919"
|
||||
empspacing="5"
|
||||
empspacing="1"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
|
@ -611,66 +800,74 @@
|
|||
id="rect15686-03"
|
||||
style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible" />
|
||||
<g
|
||||
id="g1772"
|
||||
transform="matrix(0.39105747,0,0,0.37162201,7.9100602,31.393184)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.17112301;color:#000000;fill:url(#radialGradient1527);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
id="path4475"
|
||||
sodipodi:cx="24.130018"
|
||||
sodipodi:cy="37.967922"
|
||||
sodipodi:rx="16.528622"
|
||||
sodipodi:ry="3.9332814"
|
||||
d="m 40.65864,37.967922 c 0,2.172292 -7.400116,3.933282 -16.528622,3.933282 -9.128505,0 -16.5286214,-1.76099 -16.5286214,-3.933282 0,-2.172291 7.4001164,-3.933281 16.5286214,-3.933281 9.128506,0 16.528622,1.76099 16.528622,3.933281 z"
|
||||
transform="matrix(1.446431,0,0,1.51999,-10.97453,-17.75168)" />
|
||||
id="g3976"
|
||||
transform="translate(25.279068,-0.44194166)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csscccscccscczzzz"
|
||||
id="path2844"
|
||||
d="m 18.627569,3.1435548 c -8.13913,0 -14.7448008,6.6056711 -14.7448008,14.7448012 0,8.13913 6.6056708,14.744802 14.7448008,14.744802 3.479555,0 6.551001,-1.384393 9.073723,-3.402647 -0.205377,1.006881 -0.07803,2.035368 0.756144,2.759925 l 10.964084,9.52741 c 1.233416,1.071329 3.087462,0.93096 4.15879,-0.302457 1.071328,-1.233418 0.930959,-3.087462 -0.302457,-4.15879 L 32.313769,27.529188 c -0.671527,-0.583279 -1.492878,-0.755969 -2.306238,-0.642722 1.9867,-2.512422 3.364839,-5.548803 3.364839,-8.99811 0,-8.1391301 -6.605671,-14.7448012 -14.744801,-14.7448012 z m -0.07562,1.2261833 c 7.639459,0 13.291775,4.7889505 13.291775,13.2917749 0,8.675113 -5.81669,13.291775 -13.291775,13.291775 -7.302949,0 -13.2917734,-5.478092 -13.2917734,-13.291775 0,-7.9841069 5.8246384,-13.291775 13.2917734,-13.2917749 z"
|
||||
style="color:#000000;fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1529);stroke-width:3.00581574;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
|
||||
id="path2844-9-9"
|
||||
d="m -11.906647,26.457898 c -3.713666,0 -6.727656,2.978546 -6.727656,6.64854 0,3.669995 3.01399,6.648541 6.727656,6.648541 1.587627,0 2.9890449,-0.624233 4.140095,-1.534279 -0.093708,0.45401 -0.035603,0.917763 0.3450081,1.244471 l 5.0026161,4.29598 c 0.5627744,0.48307 1.4087257,0.419777 1.89754376,-0.13638 0.4888181,-0.556158 0.42477151,-1.39216 -0.13800297,-1.87523 l -5.00261609,-4.29598 c -0.3063996,-0.263005 -0.68116,-0.340872 -1.0522742,-0.289808 0.9064777,-1.13287 1.5352853,-2.501996 1.5352853,-4.057315 0,-3.669994 -3.0139896,-6.64854 -6.727655,-6.64854 z m -0.0345,0.552895 c 3.4856796,0 6.0646791,2.159374 6.0646791,5.99336 0,3.911673 -2.6539989,5.99336 -6.0646791,5.99336 -3.332138,0 -6.064678,-2.470112 -6.064678,-5.99336 0,-3.600093 2.657626,-5.99336 6.064678,-5.99336 z"
|
||||
style="color:#000000;fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3985);stroke-width:1.80999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
inkscape:r_cx="true"
|
||||
inkscape:r_cy="true" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="color:#000000;fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000036;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
d="m 18.602905,3.0803551 c -8.16544,0 -14.7924642,6.627024 -14.7924642,14.7924639 0,8.16544 6.6270242,14.792464 14.7924642,14.792464 3.490803,0 6.572177,-1.388867 9.103055,-3.413645 -0.206041,1.010136 -0.07829,2.041947 0.758587,2.768846 l 10.999526,9.558207 c 1.237403,1.074792 3.097442,0.93397 4.172233,-0.303435 1.074791,-1.237404 0.933968,-3.097442 -0.303435,-4.172233 L 32.333346,27.544815 c -0.673698,-0.585164 -1.497704,-0.758413 -2.313693,-0.644799 1.993122,-2.520544 3.375716,-5.56674 3.375716,-9.027197 0,-8.1654399 -6.627024,-14.7924639 -14.792464,-14.7924639 z m -0.07586,3.1860692 c 6.281108,2e-7 11.378818,5.0977107 11.378818,11.3788187 0,6.281108 -5.09771,11.378818 -11.378818,11.378818 -6.281108,0 -11.3788184,-5.09771 -11.3788184,-11.378818 2e-7,-6.281108 5.0977104,-11.3788187 11.3788184,-11.3788187 z"
|
||||
id="path4430" />
|
||||
d="m -11.917901,26.429401 c -3.72567,0 -6.749403,2.988174 -6.749403,6.670032 0,3.681857 3.023733,6.670031 6.749403,6.670031 1.59276,0 2.9987074,-0.62625 4.1534789,-1.539237 -0.094011,0.455477 -0.035722,0.920729 0.3461228,1.248493 l 5.0187873,4.309866 c 0.5645936,0.484632 1.41327926,0.421134 1.90367743,-0.136821 0.49039817,-0.557954 0.42614443,-1.396659 -0.13844921,-1.881291 L -5.6530706,37.460607 c -0.3073902,-0.263854 -0.683362,-0.341974 -1.0556758,-0.290744 0.9094079,-1.136532 1.5402483,-2.510085 1.5402483,-4.07043 0,-3.681858 -3.0237325,-6.670032 -6.7494029,-6.670032 z m -0.03461,1.436622 c 2.8659006,0 5.1918483,2.298596 5.1918483,5.130794 0,2.832198 -2.3259477,5.130793 -5.1918483,5.130793 -2.8659,0 -5.191848,-2.298595 -5.191848,-5.130793 0,-2.832198 2.325948,-5.130794 5.191848,-5.130794 z"
|
||||
id="path4430-3-6"
|
||||
inkscape:r_cx="true"
|
||||
inkscape:r_cy="true" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient1531);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
d="m 39.507004,41.57769 c -0.478672,-2.273187 1.39733,-4.811422 3.584053,-4.788375 0,0 -10.760367,-9.258111 -10.760367,-9.258111 -2.944791,-0.05671 -4.269502,2.272616 -3.776814,4.599922 l 10.953128,9.446564 z"
|
||||
id="path4438"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
inkscape:connector-curvature="0"
|
||||
style="color:#000000;fill:url(#linearGradient3987);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
d="m -2.3799238,43.788135 c -0.2184051,-1.024997 0.637564,-2.169506 1.63530681,-2.159114 0,0 -4.90966551,-4.174551 -4.90966551,-4.174551 -1.3436287,-0.02557 -1.9480587,1.02474 -1.7232584,2.074139 l 4.9976171,4.259526 z"
|
||||
id="path4438-0-4"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:r_cx="true"
|
||||
inkscape:r_cy="true" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="color:#000000;fill:none;stroke:url(#linearGradient1533);stroke-width:1.20643401;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
id="path4450"
|
||||
style="color:#000000;fill:none;stroke:url(#linearGradient3989);stroke-width:1.24788225;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
id="path4450-2-3"
|
||||
sodipodi:cx="17.500893"
|
||||
sodipodi:cy="18.920233"
|
||||
sodipodi:rx="11.048544"
|
||||
sodipodi:ry="11.048544"
|
||||
d="m 28.549437,18.920233 c 0,6.101942 -4.946602,11.048544 -11.048544,11.048544 -6.101943,0 -11.0485443,-4.946602 -11.0485443,-11.048544 0,-6.101943 4.9466013,-11.0485442 11.0485443,-11.0485442 6.101942,0 11.048544,4.9466012 11.048544,11.0485442 z"
|
||||
transform="matrix(1.245743,0,0,1.245743,-3.425346,-6.177033)" />
|
||||
transform="matrix(0.56839909,0,0,0.56171489,-21.968801,22.255175)"
|
||||
inkscape:r_cx="true"
|
||||
inkscape:r_cy="true" />
|
||||
<rect
|
||||
style="opacity:0.43315507;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.50295389;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
id="rect4495"
|
||||
width="19.048439"
|
||||
height="4.4404783"
|
||||
x="40.373337"
|
||||
y="0.14086054"
|
||||
rx="3.2112026"
|
||||
ry="2.837393"
|
||||
transform="matrix(0.752986,0.658037,-0.648902,0.760872,0,0)" />
|
||||
style="opacity:0.43315507;color:#000000;fill:none;stroke:#ffffff;stroke-width:0.70510882;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
id="rect4495-7-3"
|
||||
width="8.6471872"
|
||||
height="2.0123112"
|
||||
x="19.239033"
|
||||
y="32.352734"
|
||||
rx="1.5078329"
|
||||
ry="1.3300102"
|
||||
transform="matrix(0.75682702,0.65361522,-0.65333777,0.75706655,0,0)"
|
||||
inkscape:r_cx="true"
|
||||
inkscape:r_cy="true" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="color:#000000;fill:url(#radialGradient1537);fill-opacity:1;fill-rule:evenodd;stroke:#3063a3;stroke-width:1.07456946;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible"
|
||||
id="path4452"
|
||||
style="color:#000000;fill:url(#radialGradient3991);fill-opacity:1;fill-rule:evenodd;stroke:#3063a3;stroke-width:1.11148739;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible"
|
||||
id="path4452-9-3"
|
||||
sodipodi:cx="17.589281"
|
||||
sodipodi:cy="18.478292"
|
||||
sodipodi:rx="8.3085051"
|
||||
sodipodi:ry="8.3085051"
|
||||
d="m 25.897786,18.478292 c 0,4.588661 -3.719844,8.308506 -8.308505,8.308506 -4.588661,0 -8.308505,-3.719845 -8.308505,-8.308506 0,-4.58866 3.719844,-8.308505 8.308505,-8.308505 4.588661,0 8.308505,3.719845 8.308505,8.308505 z"
|
||||
transform="matrix(1.398614,0,0,1.398614,-6.224338,-8.298958)" />
|
||||
transform="matrix(0.63815043,0,0,0.63064598,-23.245907,21.298384)"
|
||||
inkscape:r_cx="true"
|
||||
inkscape:r_cy="true" />
|
||||
<path
|
||||
style="opacity:0.83422457;color:#000000;fill:url(#radialGradient1539);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
d="m 18.156915,7.3966938 c -5.20759,0 -9.4245469,4.2169572 -9.4245469,9.4245472 0,1.503975 0.4203072,2.887773 1.0471719,4.149903 1.25238,0.461613 2.582757,0.775683 3.994767,0.775683 6.170955,0 11.099282,-4.861637 11.480106,-10.937129 C 23.523449,8.7641668 21.044374,7.3966938 18.156915,7.3966938 z"
|
||||
id="path4462" />
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.83422457;color:#000000;fill:url(#radialGradient3993);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
|
||||
d="m -11.921206,28.37567 c 2.3760829,0 4.3001667,1.901457 4.3001667,4.249598 0,0.678154 -0.1917749,1.302119 -0.4777963,1.871222 -0.5714273,0.208145 -1.1784425,0.349762 -1.8227046,0.349762 -2.8156408,0 -5.0643028,-2.192149 -5.2380628,-4.931633 0.789792,-0.922345 1.920927,-1.538949 3.238397,-1.538949 z"
|
||||
id="path4462-9-8"
|
||||
inkscape:r_cx="true"
|
||||
inkscape:r_cy="true" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 32 KiB |
|
@ -38,55 +38,37 @@
|
|||
inkscape:window-height="849"
|
||||
id="namedview48"
|
||||
showgrid="true"
|
||||
inkscape:zoom="22.961538"
|
||||
inkscape:cx="3.0154941"
|
||||
inkscape:cy="13"
|
||||
inkscape:zoom="32.472518"
|
||||
inkscape:cx="13.960505"
|
||||
inkscape:cy="19.966555"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-to-guides="false"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:snap-grids="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3006"
|
||||
empspacing="5"
|
||||
id="grid3790"
|
||||
empspacing="1"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
snapvisiblegridlinesonly="true"
|
||||
dotted="false" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs4">
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter3945">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.05617153"
|
||||
id="feGaussianBlur3947" />
|
||||
</filter>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter3941">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.05617153"
|
||||
id="feGaussianBlur3943" />
|
||||
</filter>
|
||||
</defs>
|
||||
id="defs4" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3757"
|
||||
d="M 15,8.5 15,1"
|
||||
style="fill:none;stroke:#666666;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
d="m 16.017072,8.8986023 0,-4.3193309"
|
||||
style="fill:#b3b3b3;stroke:#999999;stroke-width:2.0134213;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
style="fill:none;stroke:#666666;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 15,17.5 15,25"
|
||||
style="fill:none;stroke:#999999;stroke-width:2.06995559;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 15.988919,17.227939 0,4.410281"
|
||||
id="path3759"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
|
@ -97,8 +79,8 @@
|
|||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 7.5,10.43551 4.5,0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1.01023686;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 7.4501318,10.566163 4.0771232,0"
|
||||
id="path3760"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
|
@ -106,8 +88,8 @@
|
|||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3762"
|
||||
d="m 7.5,15.5 4.5,0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1.20000005000000010;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
d="m 7.4489163,15.478224 4.0795547,0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1.03539085;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 21.5,13 25,13"
|
||||
|
@ -127,9 +109,29 @@
|
|||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 9.9677555,13.25 0,4.5"
|
||||
style="fill:none;stroke:#800000;stroke-width:0.97354424;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 9.510469,13.536502 0,3.970548"
|
||||
id="path3813"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.86000001;fill:none;stroke:#999999;stroke-width:3.28437424;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3788-3"
|
||||
sodipodi:cx="36.822445"
|
||||
sodipodi:cy="7.9916244"
|
||||
sodipodi:rx="3.6365161"
|
||||
sodipodi:ry="3.5494139"
|
||||
d="m 40.458961,7.9916244 a 3.6365161,3.5494139 0 1 1 -7.273032,0 3.6365161,3.5494139 0 1 1 7.273032,0 z"
|
||||
transform="matrix(0.46138943,0,0,0.45207407,-1.0067413,20.046752)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.86000001;fill:none;stroke:#999999;stroke-width:3.28437424;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3788-3-1"
|
||||
sodipodi:cx="36.822445"
|
||||
sodipodi:cy="7.9916244"
|
||||
sodipodi:rx="3.6365161"
|
||||
sodipodi:ry="3.5494139"
|
||||
d="m 40.458961,7.9916244 a 3.6365161,3.5494139 0 1 1 -7.273032,0 3.6365161,3.5494139 0 1 1 7.273032,0 z"
|
||||
transform="matrix(0.46138943,0,0,0.45207407,-1.0067413,-1.2635743)" />
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 30 KiB |
|
@ -22,7 +22,7 @@
|
|||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
|
@ -40,7 +40,7 @@
|
|||
id="namedview27"
|
||||
showgrid="true"
|
||||
inkscape:zoom="16.236259"
|
||||
inkscape:cx="11.015112"
|
||||
inkscape:cx="-1.2106107"
|
||||
inkscape:cy="12.903668"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
|
@ -324,33 +324,26 @@
|
|||
d="M 2.7193662,6.605523 21.488121,2.5852623 20.951874,21.208529 2.7193662,20.262586 z"
|
||||
id="path4082"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g4114"
|
||||
transform="matrix(1.7519228,0,0,1.5465512,-13.370601,-13.931557)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4084"
|
||||
d="m 17.725294,12.847571 -4.616416,6.184254 -2.961474,1.567839 0.304858,-6.663316 z"
|
||||
style="opacity:0.40154443;fill:#aaaaaa;fill-opacity:1;stroke:none;filter:url(#filter4110)" />
|
||||
<g
|
||||
transform="translate(29.788945,8.6666669)"
|
||||
id="g4056">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m -18.901173,5.8793966 2.874372,1.5678392 -2.78727,1.8291458"
|
||||
id="path4052"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m -16.549414,9.4505859 2.700167,-0.087102"
|
||||
id="path4054"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="opacity:0.40154443;fill:#aaaaaa;fill-opacity:1;stroke:none;filter:url(#filter4110)"
|
||||
d="m 17.725294,12.847571 -4.616416,6.184254 -2.961474,1.567839 0.304858,-6.663316 z"
|
||||
id="path4084"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="matrix(1.7519228,0,0,1.5465512,-13.370601,-13.931557)" />
|
||||
<path
|
||||
style="fill:none;stroke:#00f13d;stroke-width:1.64603710000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 10.070397,14.395655 4.730484,-0.134708"
|
||||
id="path4054"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.41075706;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4130)"
|
||||
d="M 0.86226758,24.583418 23.589177,26.615905"
|
||||
id="path4120"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="matrix(1.0013662,0,0,0.94865427,-0.01670327,0.47581614)" />
|
||||
<path
|
||||
style="fill:none;stroke:#00f13d;stroke-width:1.64603710000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 5.7039351,8.564675 5.0356779,2.424744 -4.8830819,2.828867"
|
||||
id="path4052"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 9.9 KiB |
|
@ -57,6 +57,10 @@ set( GAL_SRCS
|
|||
add_library( gal STATIC ${GAL_SRCS} )
|
||||
add_dependencies( gal shader_headers )
|
||||
|
||||
add_dependencies( gal lib-dependencies )
|
||||
add_dependencies( shader_headers lib-dependencies )
|
||||
|
||||
|
||||
# Only for win32 cross compilation using MXE
|
||||
if( WIN32 AND MSYS )
|
||||
add_definitions( -DGLEW_STATIC )
|
||||
|
@ -183,6 +187,7 @@ set( COMMON_SRCS
|
|||
|
||||
|
||||
add_library( common STATIC ${COMMON_SRCS} )
|
||||
add_dependencies( common lib-dependencies )
|
||||
|
||||
set( PCB_COMMON_SRCS
|
||||
base_screen.cpp
|
||||
|
@ -250,6 +255,7 @@ set_source_files_properties( ${PCB_COMMON_SRCS} PROPERTIES
|
|||
)
|
||||
|
||||
add_library( pcbcommon STATIC ${PCB_COMMON_SRCS} )
|
||||
add_dependencies( pcbcommon lib-dependencies )
|
||||
|
||||
# auto-generate specctra_lexer.h and specctra_keywords.cpp
|
||||
make_lexer(
|
||||
|
@ -316,3 +322,6 @@ make_lexer(
|
|||
# to build it, first enable #define STAND_ALONE at top of dsnlexer.cpp
|
||||
add_executable( dsntest EXCLUDE_FROM_ALL dsnlexer.cpp )
|
||||
target_link_libraries( dsntest common ${wxWidgets_LIBRARIES} rt )
|
||||
|
||||
add_dependencies( dsntest lib-dependencies )
|
||||
|
||||
|
|
|
@ -302,6 +302,8 @@ static void InitKiCadAboutNew( AboutAppInfo& info )
|
|||
new Contributor( wxT( "Iñigo Zuluagaz" ), wxT( "inigo_zuluaga@yahoo.es" ), wxT( "Icons by" ), KiBitmapNew( edit_module_xpm ) ) );
|
||||
info.AddArtist(
|
||||
new Contributor( wxT( "Fabrizio Tappero" ), wxT( "fabrizio.tappero@gmail.com" ), wxT( "New icons by" ), KiBitmapNew( edit_module_xpm ) ) );
|
||||
info.AddArtist(
|
||||
new Contributor( wxT( "Konstantin Baranovskiy" ), wxT( "baranovskiykonstantin@gmail.com" ), wxT( "New icons by" ), KiBitmapNew( edit_module_xpm ) ) );
|
||||
info.AddArtist(
|
||||
new Contributor( wxT( "Renie Marquet" ), wxT( "reniemarquet@uol.com.br" ), wxT( "3D modules by" ), KiBitmapNew( three_d_xpm ) ) );
|
||||
info.AddArtist(
|
||||
|
|
|
@ -19,6 +19,9 @@ void EDA_APP::ReadPdfBrowserInfos()
|
|||
wxASSERT( m_commonSettings != NULL );
|
||||
|
||||
m_PdfBrowser = m_commonSettings->Read( wxT( "PdfBrowserName" ), wxEmptyString );
|
||||
int tmp;
|
||||
m_commonSettings->Read( wxT( "UseSystemBrowser" ), &tmp, 0 );
|
||||
m_useSystemPdfBrowser = tmp != 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -27,6 +30,7 @@ void EDA_APP::WritePdfBrowserInfos()
|
|||
wxASSERT( m_commonSettings != NULL );
|
||||
|
||||
m_commonSettings->Write( wxT( "PdfBrowserName" ), m_PdfBrowser );
|
||||
m_commonSettings->Write( wxT( "UseSystemBrowser" ), m_useSystemPdfBrowser );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -273,6 +273,7 @@ EDA_APP::EDA_APP()
|
|||
m_Locale = NULL;
|
||||
m_projectSettings = NULL;
|
||||
m_commonSettings = NULL;
|
||||
ForceSystemPdfBrowser( false );
|
||||
}
|
||||
|
||||
|
||||
|
@ -501,8 +502,8 @@ void EDA_APP::SetDefaultSearchPaths()
|
|||
#ifdef __WXMSW__
|
||||
tmp.AddEnvList( wxT( "PROGRAMFILES" ) );
|
||||
#elif __WXMAC__
|
||||
tmp.Add( wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT( "/Library/Application Support" ) );
|
||||
tmp.Add( wxT( "/Library/Application Support" ) );
|
||||
tmp.Add( wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT( "/Library/Application Support/kicad/" ) );
|
||||
tmp.Add( wxT( "/Library/Application Support/kicad/" ) );
|
||||
#else
|
||||
tmp.AddEnvList( wxT( "PATH" ) );
|
||||
#endif
|
||||
|
@ -1195,3 +1196,102 @@ bool EDA_APP::SetFootprintLibTablePath()
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function Set3DShapesPath
|
||||
* attempts set the environment variable given by aKiSys3Dmod to a valid path.
|
||||
* (typically "KISYS3DMOD" )
|
||||
* If the environment variable is already set,
|
||||
* then it left as is to respect the wishes of the user.
|
||||
*
|
||||
* The path is determined by attempting to find the path modules/packages3d
|
||||
* files in kicad tree.
|
||||
* This may or may not be the best path but it provides the best solution for
|
||||
* backwards compatibility with the previous 3D shapes search path implementation.
|
||||
*
|
||||
* @note This must be called after #SetBinDir() is called at least on Windows.
|
||||
* Otherwise, the kicad path is not known (Windows specific)
|
||||
*
|
||||
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
|
||||
* @return false if the aKiSys3Dmod path is not valid.
|
||||
*/
|
||||
bool EDA_APP::Set3DShapesPath( const wxString& aKiSys3Dmod )
|
||||
{
|
||||
wxString path;
|
||||
|
||||
// Set the KISYS3DMOD environment variable for the current process,
|
||||
// if it is not already defined in the user's environment and valid.
|
||||
if( wxGetEnv( aKiSys3Dmod, &path ) && wxFileName::DirExists( path ) )
|
||||
return true;
|
||||
|
||||
// Attempt to determine where the 3D shape libraries were installed using the
|
||||
// legacy path:
|
||||
// on Unix: /usr/local/kicad/share/modules/packages3d
|
||||
// or /usr/share/kicad/modules/packages3d
|
||||
// On Windows: bin../share/modules/packages3d
|
||||
wxString relpath( wxT( "modules/packages3d" ) );
|
||||
|
||||
// Apple MacOSx
|
||||
#ifdef __WXMAC__
|
||||
path = wxT("/Library/Application Support/kicad/modules/packages3d/");
|
||||
|
||||
if( wxFileName::DirExists( path ) )
|
||||
{
|
||||
wxSetEnv( aKiSys3Dmod, path );
|
||||
return true;
|
||||
}
|
||||
|
||||
path = wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT("/Library/Application Support/kicad/modules/packages3d/");
|
||||
|
||||
if( wxFileName::DirExists( path ) )
|
||||
{
|
||||
wxSetEnv( aKiSys3Dmod, path );
|
||||
return true;
|
||||
}
|
||||
|
||||
#elif defined(__UNIX__) // Linux and non-Apple Unix
|
||||
// Try the home directory:
|
||||
path.Empty();
|
||||
wxGetEnv( wxT("HOME"), &path );
|
||||
path += wxT("/kicad/share/") + relpath;
|
||||
|
||||
if( wxFileName::DirExists( path ) )
|
||||
{
|
||||
wxSetEnv( aKiSys3Dmod, path );
|
||||
return true;
|
||||
}
|
||||
|
||||
// Try the standard install path:
|
||||
path = wxT("/usr/local/kicad/share/") + relpath;
|
||||
|
||||
if( wxFileName::DirExists( path ) )
|
||||
{
|
||||
wxSetEnv( aKiSys3Dmod, path );
|
||||
return true;
|
||||
}
|
||||
|
||||
// Try the official distrib standard install path:
|
||||
path = wxT("/usr/share/kicad/") + relpath;
|
||||
|
||||
if( wxFileName::DirExists( path ) )
|
||||
{
|
||||
wxSetEnv( aKiSys3Dmod, path );
|
||||
return true;
|
||||
}
|
||||
|
||||
#else // Windows
|
||||
// On Windows, the install path is given by the path of executables
|
||||
wxFileName fn;
|
||||
fn.AssignDir( m_BinDir );
|
||||
fn.RemoveLastDir();
|
||||
path = fn.GetPathWithSep() + wxT("share/") + relpath;
|
||||
|
||||
if( wxFileName::DirExists( path ) )
|
||||
{
|
||||
wxSetEnv( aKiSys3Dmod, path );
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -623,18 +623,10 @@ void GRLineArray( EDA_RECT* aClipBox, wxDC* aDC, std::vector<wxPoint>& aLines,
|
|||
aClipBox->Inflate(-aWidth/2);
|
||||
}
|
||||
|
||||
|
||||
// Draw the outline of a thick segment wih rounded ends
|
||||
void GRCSegm( EDA_RECT* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
|
||||
int width, int aPenSize, EDA_COLOR_T Color )
|
||||
{
|
||||
long radius;
|
||||
int dwx, dwy;
|
||||
long dx, dy, dwx2, dwy2;
|
||||
long sx1, sy1, ex1, ey1;
|
||||
long sx2, sy2, ex2, ey2;
|
||||
bool swap_ends = false;
|
||||
|
||||
|
||||
GRLastMoveToX = x2;
|
||||
GRLastMoveToY = y2;
|
||||
|
||||
|
@ -658,114 +650,63 @@ void GRCSegm( EDA_RECT* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
|
|||
GRSetColorPen( DC, Color, aPenSize );
|
||||
GRSetBrush( DC, Color, false );
|
||||
|
||||
radius = (width + 1) >> 1;
|
||||
int radius = (width + 1) >> 1;
|
||||
int dx = x2 - x1;
|
||||
int dy = y2 - y1;
|
||||
double angle = -ArcTangente( dy, dx );
|
||||
wxPoint start;
|
||||
wxPoint end;
|
||||
wxPoint org( x1, y1);
|
||||
int len = (int) hypot( dx, dy );
|
||||
|
||||
dx = x2 - x1;
|
||||
dy = y2 - y1;
|
||||
// We know if the DC is mirrored, to draw arcs
|
||||
int slx = DC->DeviceToLogicalX( 1 ) - DC->DeviceToLogicalX( 0 );
|
||||
int sly = DC->DeviceToLogicalY( 1 ) - DC->DeviceToLogicalY( 0 );
|
||||
bool mirrored = (slx > 0 && sly < 0) || (slx < 0 && sly > 0);
|
||||
|
||||
if( dx == 0 ) /* segment vertical */
|
||||
{
|
||||
dwx = radius;
|
||||
if( dy >= 0 )
|
||||
dwx = -dwx;
|
||||
// first edge
|
||||
start.x = 0;
|
||||
start.y = radius;
|
||||
end.x = len;
|
||||
end.y = radius;
|
||||
RotatePoint( &start, angle);
|
||||
RotatePoint( &end, angle);
|
||||
|
||||
sx1 = x1 - dwx;
|
||||
sy1 = y1;
|
||||
start += org;
|
||||
end += org;
|
||||
|
||||
ex1 = x2 - dwx;
|
||||
ey1 = y2;
|
||||
DC->DrawLine( start, end );
|
||||
|
||||
DC->DrawLine( sx1, sy1, ex1, ey1 );
|
||||
// first rounded end
|
||||
end.x = 0;
|
||||
end.y = -radius;
|
||||
RotatePoint( &end, angle);
|
||||
end += org;
|
||||
|
||||
sx2 = x1 + dwx;
|
||||
sy2 = y1;
|
||||
|
||||
ex2 = x2 + dwx;
|
||||
ey2 = y2;
|
||||
|
||||
DC->DrawLine( sx2, sy2, ex2, ey2 );
|
||||
}
|
||||
else if( dy == 0 ) /* segment horizontal */
|
||||
{
|
||||
dwy = radius;
|
||||
if( dx < 0 )
|
||||
dwy = -dwy;
|
||||
|
||||
sx1 = x1;
|
||||
sy1 = y1 - dwy;
|
||||
|
||||
ex1 = x2;
|
||||
ey1 = y2 - dwy;
|
||||
|
||||
DC->DrawLine( sx1, sy1, ex1, ey1 );
|
||||
|
||||
sx2 = x1;
|
||||
sy2 = y1 + dwy;
|
||||
|
||||
ex2 = x2;
|
||||
ey2 = y2 + dwy;
|
||||
|
||||
DC->DrawLine( sx2, sy2, ex2, ey2 );
|
||||
}
|
||||
if( !mirrored )
|
||||
DC->DrawArc( end, start, org );
|
||||
else
|
||||
{
|
||||
if( std::abs( dx ) == std::abs( dy ) ) // segment 45 degrees
|
||||
{
|
||||
dwx = dwy = ( (width * 5) + 4 ) / 7; // = width / 2 * 0.707
|
||||
if( dy < 0 )
|
||||
{
|
||||
if( dx <= 0 )
|
||||
{
|
||||
dwx = -dwx; swap_ends = true;
|
||||
}
|
||||
}
|
||||
else // dy >= 0
|
||||
{
|
||||
if( dx > 0 )
|
||||
{
|
||||
dwy = -dwy; swap_ends = true;
|
||||
}
|
||||
else
|
||||
swap_ends = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
double delta_angle = ArcTangente( dy, dx );
|
||||
dwx = 0;
|
||||
dwy = width;
|
||||
RotatePoint( &dwx, &dwy, -delta_angle );
|
||||
}
|
||||
dwx2 = dwx >> 1;
|
||||
dwy2 = dwy >> 1;
|
||||
DC->DrawArc( start, end, org );
|
||||
|
||||
sx1 = x1 - dwx2;
|
||||
sy1 = y1 - dwy2;
|
||||
|
||||
ex1 = x2 - dwx2;
|
||||
ey1 = y2 - dwy2;
|
||||
// second edge
|
||||
start.x = len;
|
||||
start.y = -radius;
|
||||
RotatePoint( &start, angle);
|
||||
start += org;
|
||||
|
||||
DC->DrawLine( sx1, sy1, ex1, ey1 );
|
||||
DC->DrawLine( start, end );
|
||||
|
||||
sx2 = x1 + dwx2;
|
||||
sy2 = y1 + dwy2;
|
||||
// second rounded end
|
||||
end.x = len;
|
||||
end.y = radius;
|
||||
RotatePoint( &end, angle);
|
||||
end += org;
|
||||
|
||||
ex2 = x2 + dwx2;
|
||||
ey2 = y2 + dwy2;
|
||||
|
||||
DC->DrawLine( sx2, sy2, ex2, ey2 );
|
||||
}
|
||||
|
||||
if( swap_ends )
|
||||
{
|
||||
DC->DrawArc( sx2, sy2, sx1, sy1, x1, y1 );
|
||||
DC->DrawArc( ex1, ey1, ex2, ey2, x2, y2 );
|
||||
}
|
||||
if( !mirrored )
|
||||
DC->DrawArc( end.x, end.y, start.x, start.y, x2, y2 );
|
||||
else
|
||||
{
|
||||
DC->DrawArc( sx1, sy1, sx2, sy2, x1, y1 );
|
||||
DC->DrawArc( ex2, ey2, ex1, ey1, x2, y2 );
|
||||
}
|
||||
DC->DrawArc( start.x, start.y, end.x, end.y, x2, y2 );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -28,11 +28,6 @@
|
|||
* @brief Message panel implementation file.
|
||||
*/
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#endif
|
||||
|
||||
|
||||
#include <msgpanel.h>
|
||||
|
||||
|
||||
|
|
|
@ -493,6 +493,10 @@ void CVPCB_MAINFRAME::LoadNetList( wxCommandEvent& event )
|
|||
wxGetApp().GetLibraryPathList().Insert( newFileName.GetPath(), 0 );
|
||||
m_NetlistFileName = newFileName;
|
||||
ReadNetListAndLinkFiles();
|
||||
|
||||
// OSX need it since some objects are "rebuild" just make aware AUI
|
||||
// Fixes #1258081
|
||||
m_auimgr.Update();
|
||||
}
|
||||
|
||||
|
||||
|
@ -934,6 +938,15 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
|
|||
{
|
||||
if( m_DisplayFootprintFrame->IsIconized() )
|
||||
m_DisplayFootprintFrame->Iconize( false );
|
||||
|
||||
// The display footprint window might be buried under some other
|
||||
// windows, so CreateScreenCmp() on an existing window would not
|
||||
// show any difference, leaving the user confused.
|
||||
// So we want to put it to front, second after our CVPCB_MAINFRAME.
|
||||
// We do this by a little dance of bringing it to front then the main
|
||||
// frame back.
|
||||
m_DisplayFootprintFrame->Raise(); // Make sure that is visible.
|
||||
Raise(); // .. but still we want the focus.
|
||||
}
|
||||
|
||||
m_DisplayFootprintFrame->InitDisplay();
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include <confirm.h>
|
||||
#include <gestfich.h>
|
||||
|
||||
#include <3d_viewer.h>
|
||||
#include <cvpcb.h>
|
||||
#include <zones.h>
|
||||
#include <cvpcb_mainframe.h>
|
||||
|
@ -102,6 +103,9 @@ bool EDA_APP::OnInit()
|
|||
|
||||
SetFootprintLibTablePath();
|
||||
|
||||
// Set 3D shape path from environment variable KISYS3DMOD
|
||||
Set3DShapesPath( wxT(KISYS3DMOD) );
|
||||
|
||||
if( m_Checker && m_Checker->IsAnotherRunning() )
|
||||
{
|
||||
if( !IsOK( NULL, _( "CvPcb is already running, Continue?" ) ) )
|
||||
|
|
|
@ -19,6 +19,8 @@ set( EESCHEMA_DLGS
|
|||
dialogs/dialog_bom.cpp
|
||||
dialogs/dialog_bom_base.cpp
|
||||
dialogs/dialog_bom_cfg_keywords.cpp
|
||||
dialogs/dialog_choose_component.cpp
|
||||
dialogs/dialog_choose_component_base.cpp
|
||||
dialogs/dialog_lib_edit_text.cpp
|
||||
dialogs/dialog_lib_edit_text_base.cpp
|
||||
dialogs/dialog_edit_component_in_lib.cpp
|
||||
|
@ -88,6 +90,7 @@ set( EESCHEMA_SRCS
|
|||
files-io.cpp
|
||||
find.cpp
|
||||
getpart.cpp
|
||||
component_tree_search_container.cpp
|
||||
hierarch.cpp
|
||||
hotkeys.cpp
|
||||
libarch.cpp
|
||||
|
|
|
@ -286,7 +286,7 @@ void LIB_COMPONENT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDc, const wxPoint& aOff
|
|||
int aConvert, GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor, const TRANSFORM& aTransform,
|
||||
bool aShowPinText, bool aDrawFields, bool aOnlySelected )
|
||||
{
|
||||
BASE_SCREEN* screen = aPanel->GetScreen();
|
||||
BASE_SCREEN* screen = aPanel ? aPanel->GetScreen() : NULL;
|
||||
|
||||
GRSetDrawMode( aDc, aDrawMode );
|
||||
|
||||
|
@ -296,7 +296,7 @@ void LIB_COMPONENT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDc, const wxPoint& aOff
|
|||
* printing in black and white
|
||||
* If the color is not the default color (aColor != -1 )
|
||||
*/
|
||||
if( ! (screen->m_IsPrinting && GetGRForceBlackPenState())
|
||||
if( ! (screen && screen->m_IsPrinting && GetGRForceBlackPenState())
|
||||
&& (aColor == UNSPECIFIED_COLOR) )
|
||||
{
|
||||
BOOST_FOREACH( LIB_ITEM& drawItem, drawings )
|
||||
|
@ -372,10 +372,11 @@ void LIB_COMPONENT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDc, const wxPoint& aOff
|
|||
// Enable this to draw the anchor of the component.
|
||||
#if 0
|
||||
int len = aDc->DeviceToLogicalXRel( 3 );
|
||||
EDA_RECT* const clipbox = aPanel ? aPanel->GetClipBox() : NULL;
|
||||
|
||||
GRLine( aPanel->GetClipBox(), aDc, aOffset.x, aOffset.y - len, aOffset.x,
|
||||
GRLine( clipbox, aDc, aOffset.x, aOffset.y - len, aOffset.x,
|
||||
aOffset.y + len, 0, aColor );
|
||||
GRLine( aPanel->GetClipBox(), aDc, aOffset.x - len, aOffset.y, aOffset.x + len,
|
||||
GRLine( clipbox, aDc, aOffset.x - len, aOffset.y, aOffset.x + len,
|
||||
aOffset.y, 0, aColor );
|
||||
#endif
|
||||
|
||||
|
@ -383,7 +384,7 @@ void LIB_COMPONENT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDc, const wxPoint& aOff
|
|||
* the bounding box calculations. */
|
||||
#if 0
|
||||
EDA_RECT bBox = GetBoundingBox( aMulti, aConvert );
|
||||
GRRect( aPanel->GetClipBox(), aDc, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
GRRect( aPanel ? aPanel->GetClipBox() : NULL, aDc, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -403,7 +403,7 @@ public:
|
|||
/**
|
||||
* Draw component.
|
||||
*
|
||||
* @param aPanel - Window to draw on.
|
||||
* @param aPanel - Window to draw on. Can be NULL if not available.
|
||||
* @param aDc - Device context to draw on.
|
||||
* @param aOffset - Position to component.
|
||||
* @param aMulti - Component unit if multiple parts per component.
|
||||
|
|
|
@ -0,0 +1,394 @@
|
|||
/* -*- c++ -*-
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2014 Henner Zeller <h.zeller@acm.org>
|
||||
* Copyright (C) 2014 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
#include <component_tree_search_container.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <boost/foreach.hpp>
|
||||
#include <set>
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/tokenzr.h>
|
||||
#include <wx/treectrl.h>
|
||||
#include <wx/arrstr.h>
|
||||
|
||||
#include <class_library.h>
|
||||
#include <macros.h>
|
||||
|
||||
// Each node gets this lowest score initially, without any matches applied. Matches
|
||||
// will then increase this score depending on match quality.
|
||||
// This way, an empty search string will result in all components being displayed as they
|
||||
// have the minimum score. However, in that case, we avoid expanding all the nodes asd the
|
||||
// result is very unspecific.
|
||||
static const unsigned kLowestDefaultScore = 1;
|
||||
|
||||
struct COMPONENT_TREE_SEARCH_CONTAINER::TREE_NODE
|
||||
{
|
||||
// Levels of nodes.
|
||||
enum NODE_TYPE {
|
||||
TYPE_LIB,
|
||||
TYPE_ALIAS,
|
||||
TYPE_UNIT
|
||||
};
|
||||
|
||||
TREE_NODE(NODE_TYPE aType, TREE_NODE* aParent, LIB_ALIAS* aAlias,
|
||||
const wxString& aName, const wxString& aDisplayInfo,
|
||||
const wxString& aSearchText )
|
||||
: Type( aType ),
|
||||
Parent( aParent ), Alias( aAlias ), Unit( 0 ),
|
||||
DisplayName( aName ),
|
||||
DisplayInfo( aDisplayInfo ),
|
||||
MatchName( aName.Lower() ),
|
||||
SearchText( aSearchText.Lower() ),
|
||||
MatchScore( 0 ), PreviousScore( 0 )
|
||||
{
|
||||
}
|
||||
|
||||
const NODE_TYPE Type; ///< Type of node in the hierarchy.
|
||||
TREE_NODE* const Parent; ///< NULL if library, pointer to parent when component/alias.
|
||||
LIB_ALIAS* const Alias; ///< Component alias associated with this entry.
|
||||
int Unit; ///< Part number; Assigned: >= 1; default = 0
|
||||
const wxString DisplayName; ///< Exact name as displayed to the user.
|
||||
const wxString DisplayInfo; ///< Additional info displayed in the tree (description..)
|
||||
|
||||
const wxString MatchName; ///< Preprocessed: lowercased display name.
|
||||
const wxString SearchText; ///< Other text (keywords, description..) to search in.
|
||||
|
||||
unsigned MatchScore; ///< Result-Score after UpdateSearchTerm()
|
||||
unsigned PreviousScore; ///< Optimization: used to see if we need any tree update.
|
||||
wxTreeItemId TreeId; ///< Tree-ID if stored in the tree (if MatchScore > 0).
|
||||
};
|
||||
|
||||
|
||||
// Sort tree nodes by reverse match-score (bigger is first), then alphabetically.
|
||||
// Library (i.e. the ones that don't have a parent) are always sorted before any
|
||||
// leaf nodes. Component
|
||||
bool COMPONENT_TREE_SEARCH_CONTAINER::scoreComparator( const TREE_NODE* a1, const TREE_NODE* a2 )
|
||||
{
|
||||
if( a1->Type != a2->Type )
|
||||
return a1->Type < a2->Type;
|
||||
|
||||
if( a1->MatchScore != a2->MatchScore )
|
||||
return a1->MatchScore > a2->MatchScore; // biggest first.
|
||||
|
||||
if( a1->Parent != a2->Parent )
|
||||
return scoreComparator( a1->Parent, a2->Parent );
|
||||
|
||||
return a1->MatchName.Cmp( a2->MatchName ) < 0;
|
||||
}
|
||||
|
||||
|
||||
COMPONENT_TREE_SEARCH_CONTAINER::COMPONENT_TREE_SEARCH_CONTAINER()
|
||||
: tree( NULL ), libraries_added( 0 ), preselect_unit_number( -1 )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
COMPONENT_TREE_SEARCH_CONTAINER::~COMPONENT_TREE_SEARCH_CONTAINER()
|
||||
{
|
||||
BOOST_FOREACH( TREE_NODE* node, nodes )
|
||||
delete node;
|
||||
nodes.clear();
|
||||
}
|
||||
|
||||
|
||||
void COMPONENT_TREE_SEARCH_CONTAINER::SetPreselectNode( const wxString& aComponentName,
|
||||
int aUnit )
|
||||
{
|
||||
preselect_node_name = aComponentName.Lower();
|
||||
preselect_unit_number = aUnit;
|
||||
}
|
||||
|
||||
|
||||
void COMPONENT_TREE_SEARCH_CONTAINER::SetTree( wxTreeCtrl* aTree )
|
||||
{
|
||||
tree = aTree;
|
||||
UpdateSearchTerm( wxEmptyString );
|
||||
}
|
||||
|
||||
|
||||
void COMPONENT_TREE_SEARCH_CONTAINER::AddLibrary( CMP_LIBRARY& aLib )
|
||||
{
|
||||
wxArrayString all_aliases;
|
||||
|
||||
aLib.GetEntryNames( all_aliases );
|
||||
AddAliasList( aLib.GetName(), all_aliases, &aLib );
|
||||
++libraries_added;
|
||||
}
|
||||
|
||||
|
||||
void COMPONENT_TREE_SEARCH_CONTAINER::AddAliasList( const wxString& aNodeName,
|
||||
const wxArrayString& aAliasNameList,
|
||||
CMP_LIBRARY* aOptionalLib )
|
||||
{
|
||||
static const wxChar unitLetter[] = wxT( "ABCDEFGHIJKLMNOPQRSTUVWXYZ" );
|
||||
|
||||
TREE_NODE* const lib_node = new TREE_NODE( TREE_NODE::TYPE_LIB, NULL, NULL,
|
||||
aNodeName, wxEmptyString, wxEmptyString );
|
||||
nodes.push_back( lib_node );
|
||||
|
||||
BOOST_FOREACH( const wxString& aName, aAliasNameList )
|
||||
{
|
||||
LIB_ALIAS* a;
|
||||
|
||||
if( aOptionalLib )
|
||||
a = aOptionalLib->FindAlias( aName );
|
||||
else
|
||||
a = CMP_LIBRARY::FindLibraryEntry( aName, wxEmptyString );
|
||||
|
||||
if( a == NULL )
|
||||
continue;
|
||||
|
||||
wxString search_text;
|
||||
search_text = ( a->GetKeyWords().empty() ) ? wxT(" ") : a->GetKeyWords();
|
||||
search_text += a->GetDescription();
|
||||
|
||||
wxString display_info;
|
||||
|
||||
if( !a->GetDescription().empty() )
|
||||
{
|
||||
// Preformatting. Unfortunately, the tree widget doesn't have columns
|
||||
display_info.Printf( wxT(" %s[ %s ]"),
|
||||
( a->GetName().length() <= 8 ) ? wxT("\t\t") : wxT("\t"),
|
||||
GetChars( a->GetDescription() ) );
|
||||
}
|
||||
|
||||
TREE_NODE* alias_node = new TREE_NODE( TREE_NODE::TYPE_ALIAS, lib_node,
|
||||
a, a->GetName(), display_info, search_text );
|
||||
nodes.push_back( alias_node );
|
||||
|
||||
if( a->GetComponent()->IsMulti() ) // Add all units as sub-nodes.
|
||||
for ( int u = 0; u < a->GetComponent()->GetPartCount(); ++u )
|
||||
{
|
||||
const wxString unitName = unitLetter[u];
|
||||
TREE_NODE* unit_node = new TREE_NODE(TREE_NODE::TYPE_UNIT, alias_node, a,
|
||||
_("Unit ") + unitName,
|
||||
wxEmptyString, wxEmptyString );
|
||||
unit_node->Unit = u + 1;
|
||||
nodes.push_back( unit_node );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LIB_ALIAS* COMPONENT_TREE_SEARCH_CONTAINER::GetSelectedAlias( int* aUnit )
|
||||
{
|
||||
const wxTreeItemId& select_id = tree->GetSelection();
|
||||
|
||||
BOOST_FOREACH( TREE_NODE* node, nodes )
|
||||
{
|
||||
if( node->MatchScore > 0 && node->TreeId == select_id ) {
|
||||
if( aUnit && node->Unit > 0 )
|
||||
*aUnit = node->Unit;
|
||||
return node->Alias;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
// Creates a score depending on the position of a string match. If the position
|
||||
// is 0 (= prefix match), this returns the maximum score. This degrades until
|
||||
// pos == max, which returns a score of 0;
|
||||
// Evertyhing else beyond that is just 0. Only values >= 0 allowed for position and max.
|
||||
//
|
||||
// @param aPosition is the position a string has been found in a substring.
|
||||
// @param aMaximum is the maximum score this function returns.
|
||||
// @return position dependent score.
|
||||
static int matchPosScore(int aPosition, int aMaximum)
|
||||
{
|
||||
return ( aPosition < aMaximum ) ? aMaximum - aPosition : 0;
|
||||
}
|
||||
|
||||
|
||||
void COMPONENT_TREE_SEARCH_CONTAINER::UpdateSearchTerm( const wxString& aSearch )
|
||||
{
|
||||
if( tree == NULL )
|
||||
return;
|
||||
|
||||
// We score the list by going through it several time, essentially with a complexity
|
||||
// of O(n). For the default library of 2000+ items, this typically takes less than 5ms
|
||||
// on an i5. Good enough, no index needed.
|
||||
|
||||
// Initial AND condition: Leaf nodes are considered to match initially.
|
||||
BOOST_FOREACH( TREE_NODE* node, nodes )
|
||||
{
|
||||
node->PreviousScore = node->MatchScore;
|
||||
node->MatchScore = ( node->Type == TREE_NODE::TYPE_LIB ) ? 0 : kLowestDefaultScore;
|
||||
}
|
||||
|
||||
// Create match scores for each node for all the terms, that come space-separated.
|
||||
// Scoring adds up values for each term according to importance of the match. If a term does
|
||||
// not match at all, the result is thrown out of the results (AND semantics).
|
||||
// From high to low
|
||||
// - Exact match for a ccmponent name gives the highest score, trumping all.
|
||||
// - A positional score depending of where a term is found as substring; prefix-match: high.
|
||||
// - substring-match in library name.
|
||||
// - substring match in keywords and descriptions with positional score. Keywords come
|
||||
// first so contribute more to the score.
|
||||
//
|
||||
// This is of course subject to tweaking.
|
||||
wxStringTokenizer tokenizer( aSearch );
|
||||
|
||||
while ( tokenizer.HasMoreTokens() )
|
||||
{
|
||||
const wxString term = tokenizer.GetNextToken().Lower();
|
||||
|
||||
BOOST_FOREACH( TREE_NODE* node, nodes )
|
||||
{
|
||||
if( node->Type != TREE_NODE::TYPE_ALIAS )
|
||||
continue; // Only aliases are actually scored here.
|
||||
|
||||
if( node->MatchScore == 0)
|
||||
continue; // Leaf node without score are out of the game.
|
||||
|
||||
// Keywords and description we only count if the match string is at
|
||||
// least two characters long. That avoids spurious, low quality
|
||||
// matches. Most abbreviations are at three characters long.
|
||||
int found_pos;
|
||||
|
||||
if( term == node->MatchName )
|
||||
node->MatchScore += 1000; // exact match. High score :)
|
||||
else if( (found_pos = node->MatchName.Find( term ) ) != wxNOT_FOUND )
|
||||
{
|
||||
// Substring match. The earlier in the string the better. score += 20..40
|
||||
node->MatchScore += matchPosScore( found_pos, 20 ) + 20;
|
||||
}
|
||||
else if( node->Parent->MatchName.Find( term ) != wxNOT_FOUND )
|
||||
node->MatchScore += 19; // parent name matches. score += 19
|
||||
else if( ( found_pos = node->SearchText.Find( term ) ) != wxNOT_FOUND )
|
||||
{
|
||||
// If we have a very short search term (like one or two letters), we don't want
|
||||
// to accumulate scores if they just happen to be in keywords or description as
|
||||
// almost any one or two-letter combination shows up in there.
|
||||
// For longer terms, we add scores 1..18 for positional match (higher in the
|
||||
// front, where the keywords are). score += 0..18
|
||||
node->MatchScore += ( ( term.length() >= 2 )
|
||||
? matchPosScore( found_pos, 17 ) + 1
|
||||
: 0 );
|
||||
}
|
||||
else
|
||||
node->MatchScore = 0; // No match. That's it for this item.
|
||||
}
|
||||
}
|
||||
|
||||
// Library nodes have the maximum score seen in any of their children.
|
||||
// Alias nodes have the score of their parents.
|
||||
unsigned highest_score_seen = 0;
|
||||
bool any_change = false;
|
||||
|
||||
BOOST_FOREACH( TREE_NODE* node, nodes )
|
||||
{
|
||||
switch( node->Type )
|
||||
{
|
||||
case TREE_NODE::TYPE_ALIAS:
|
||||
{
|
||||
any_change |= (node->PreviousScore != node->MatchScore);
|
||||
// Update library score.
|
||||
node->Parent->MatchScore = std::max( node->Parent->MatchScore, node->MatchScore );
|
||||
highest_score_seen = std::max( highest_score_seen, node->MatchScore );
|
||||
}
|
||||
break;
|
||||
|
||||
case TREE_NODE::TYPE_UNIT:
|
||||
node->MatchScore = node->Parent->MatchScore;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// The tree update might be slow, so we want to bail out if there is no change.
|
||||
if( !any_change )
|
||||
return;
|
||||
|
||||
// Now: sort all items according to match score, libraries first.
|
||||
std::sort( nodes.begin(), nodes.end(), scoreComparator );
|
||||
|
||||
// Fill the tree with all items that have a match. Re-arranging, adding and removing changed
|
||||
// items is pretty complex, so we just re-build the whole tree.
|
||||
tree->Freeze();
|
||||
tree->DeleteAllItems();
|
||||
const wxTreeItemId root_id = tree->AddRoot( wxEmptyString );
|
||||
const TREE_NODE* first_match = NULL;
|
||||
const TREE_NODE* preselected_node = NULL;
|
||||
|
||||
BOOST_FOREACH( TREE_NODE* node, nodes )
|
||||
{
|
||||
if( node->MatchScore == 0 )
|
||||
continue;
|
||||
|
||||
// If we have nodes that go beyond the default score, suppress nodes that
|
||||
// have the default score. That can happen if they have an honary += 0 score due to
|
||||
// some one-letter match in the keyword or description. In this case, we prefer matches
|
||||
// that just have higher scores. Improves relevancy and performance as the tree has to
|
||||
// display less items.
|
||||
if( highest_score_seen > kLowestDefaultScore && node->MatchScore == kLowestDefaultScore )
|
||||
continue;
|
||||
|
||||
wxString node_text;
|
||||
#if 0
|
||||
// Node text with scoring information for debugging
|
||||
node_text.Printf( wxT("%s (s=%u)%s"), GetChars(node->DisplayName),
|
||||
node->MatchScore, GetChars( node->DisplayInfo ));
|
||||
#else
|
||||
node_text = node->DisplayName + node->DisplayInfo;
|
||||
#endif
|
||||
node->TreeId = tree->AppendItem( node->Parent ? node->Parent->TreeId : root_id,
|
||||
node_text );
|
||||
|
||||
// If we are a nicely scored alias, we want to have it visible. Also, if there
|
||||
// is only a single library in this container, we want to have it unfolded
|
||||
// (example: power library).
|
||||
if( node->Type == TREE_NODE::TYPE_ALIAS
|
||||
&& ( node->MatchScore > kLowestDefaultScore || libraries_added == 1 ) )
|
||||
{
|
||||
tree->EnsureVisible( node->TreeId );
|
||||
|
||||
if( first_match == NULL )
|
||||
first_match = node; // First, highest scoring: the "I am feeling lucky" element.
|
||||
}
|
||||
|
||||
// The first node that matches our pre-select criteria is choosen. 'First node'
|
||||
// means, it shows up in the history, as the history node is displayed very first
|
||||
// (by virtue of alphabetical ordering)
|
||||
if( preselected_node == NULL
|
||||
&& node->Type == TREE_NODE::TYPE_ALIAS
|
||||
&& node->MatchName == preselect_node_name )
|
||||
preselected_node = node;
|
||||
|
||||
// Refinement in case we come accross a matching unit node.
|
||||
if( preselected_node != NULL && preselected_node->Type == TREE_NODE::TYPE_ALIAS
|
||||
&& node->Parent == preselected_node
|
||||
&& preselect_unit_number >= 1 && node->Unit == preselect_unit_number )
|
||||
preselected_node = node;
|
||||
}
|
||||
|
||||
if( first_match ) // Highest score search match pre-selected.
|
||||
tree->SelectItem( first_match->TreeId );
|
||||
else if( preselected_node ) // No search, so history item preselected.
|
||||
tree->SelectItem( preselected_node->TreeId );
|
||||
|
||||
tree->Thaw();
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
/* -*- c++ -*-
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2014 Henner Zeller <h.zeller@acm.org>
|
||||
* Copyright (C) 2014 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http: *www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http: *www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
#ifndef COMPONENT_TREE_SEARCH_CONTAINER_H
|
||||
#define COMPONENT_TREE_SEARCH_CONTAINER_H
|
||||
|
||||
#include <vector>
|
||||
#include <wx/string.h>
|
||||
|
||||
class LIB_ALIAS;
|
||||
class CMP_LIBRARY;
|
||||
class wxTreeCtrl;
|
||||
class wxArrayString;
|
||||
|
||||
// class COMPONENT_TREE_SEARCH_CONTAINER
|
||||
// A container for components that allows to search them matching their name, keywords
|
||||
// and descripotions, updating a wxTreeCtrl with the results (toplevel nodes:
|
||||
// libraries, leafs: components), scored by relevance.
|
||||
//
|
||||
// The scored result list is adpated on each update on the search-term: this allows
|
||||
// to have a search-as-you-type experience.
|
||||
class COMPONENT_TREE_SEARCH_CONTAINER
|
||||
{
|
||||
public:
|
||||
COMPONENT_TREE_SEARCH_CONTAINER();
|
||||
~COMPONENT_TREE_SEARCH_CONTAINER();
|
||||
|
||||
/** Function AddLibrary
|
||||
* Add all the components and their aliases of this library to be searched.
|
||||
* To be called in the setup phase to fill this container.
|
||||
*
|
||||
* @param aLib containting all the components to be added.
|
||||
*/
|
||||
void AddLibrary( CMP_LIBRARY& aLib );
|
||||
|
||||
/** Function AddComponentList
|
||||
* Add the given list of components, given by name, to be searched.
|
||||
* To be called in the setup phase to fill this container.
|
||||
*
|
||||
* @param aNodeName The parent node name the components will show up as leaf.
|
||||
* @param aAliasNameList List of alias names.
|
||||
* @param aOptionalLib Library to look up the component names (if NULL: global lookup)
|
||||
*/
|
||||
void AddAliasList( const wxString& aNodeName, const wxArrayString& aAliasNameList,
|
||||
CMP_LIBRARY* aOptionalLib );
|
||||
|
||||
/** Function SetPreselectNode
|
||||
* Set the component name to be selected in absence of any search-result.
|
||||
*
|
||||
* @param aComponentName the component name to be selected.
|
||||
* @param aUnit the component unit to be selected (if > 0).
|
||||
*/
|
||||
void SetPreselectNode( const wxString& aComponentName, int aUnit );
|
||||
|
||||
/** Function SetTree
|
||||
* Set the tree to be manipulated.
|
||||
* Each update of the search term will update the tree, with the most
|
||||
* scoring component at the top and selected. If a preselect node is set, this
|
||||
* is displayed. Does not take ownership of the tree.
|
||||
*
|
||||
* @param aTree that is to be modified on search updates.
|
||||
*/
|
||||
void SetTree( wxTreeCtrl* aTree );
|
||||
|
||||
/** Function UpdateSearchTerm
|
||||
* Update the search string provided by the user and narrow down the result list.
|
||||
*
|
||||
* This string is a space-separated list of terms, each of which
|
||||
* is applied to the components list to narrow it down. Results are scored by
|
||||
* relevancy (e.g. exact match scores higher than prefix-match which in turn scores
|
||||
* higher than substring match). This updates the search and tree on each call.
|
||||
*
|
||||
* @param aSearch is the user-provided search string.
|
||||
*/
|
||||
void UpdateSearchTerm( const wxString& aSearch );
|
||||
|
||||
/** Function GetSelectedAlias
|
||||
*
|
||||
* @param if not-NULL, the selected sub-unit is set here.
|
||||
* @return the selected alias or NULL if there is none.
|
||||
*/
|
||||
LIB_ALIAS* GetSelectedAlias( int* aUnit );
|
||||
|
||||
private:
|
||||
struct TREE_NODE;
|
||||
static bool scoreComparator( const TREE_NODE* a1, const TREE_NODE* a2 );
|
||||
|
||||
std::vector<TREE_NODE*> nodes;
|
||||
wxTreeCtrl* tree;
|
||||
int libraries_added;
|
||||
|
||||
wxString preselect_node_name;
|
||||
int preselect_unit_number;
|
||||
};
|
||||
|
||||
#endif /* COMPONENT_TREE_SEARCH_CONTAINER_H */
|
|
@ -0,0 +1,294 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2014 Henner Zeller <h.zeller@acm.org>
|
||||
* Copyright (C) 2014 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
#include <dialog_choose_component.h>
|
||||
|
||||
#include <set>
|
||||
#include <boost/foreach.hpp>
|
||||
#include <wx/tokenzr.h>
|
||||
|
||||
#include <class_library.h>
|
||||
#include <component_tree_search_container.h>
|
||||
#include <sch_base_frame.h>
|
||||
|
||||
// Tree navigation helpers.
|
||||
static wxTreeItemId GetPrevItem( const wxTreeCtrl& tree, const wxTreeItemId& item );
|
||||
static wxTreeItemId GetNextItem( const wxTreeCtrl& tree, const wxTreeItemId& item );
|
||||
|
||||
DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT( wxWindow* aParent, const wxString& aTitle,
|
||||
COMPONENT_TREE_SEARCH_CONTAINER* aContainer,
|
||||
int aDeMorganConvert )
|
||||
: DIALOG_CHOOSE_COMPONENT_BASE( aParent, wxID_ANY, aTitle ),
|
||||
m_search_container( aContainer ),
|
||||
m_deMorganConvert( aDeMorganConvert >= 0 ? aDeMorganConvert : 0 ),
|
||||
m_external_browser_requested( false ),
|
||||
m_received_doubleclick_in_tree( false )
|
||||
{
|
||||
m_search_container->SetTree( m_libraryComponentTree );
|
||||
m_searchBox->SetFocus();
|
||||
m_componentDetails->SetEditable( false );
|
||||
}
|
||||
|
||||
|
||||
// After this dialog is done: return the alias that has been selected, or an
|
||||
// empty string if there is none.
|
||||
wxString DIALOG_CHOOSE_COMPONENT::GetSelectedAliasName( int* aUnit ) const
|
||||
{
|
||||
LIB_ALIAS *alias = m_search_container->GetSelectedAlias( aUnit );
|
||||
|
||||
if( alias )
|
||||
return alias->GetName();
|
||||
|
||||
return wxEmptyString;
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnSearchBoxChange( wxCommandEvent& aEvent )
|
||||
{
|
||||
m_search_container->UpdateSearchTerm( m_searchBox->GetLineText(0) );
|
||||
updateSelection();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnSearchBoxEnter( wxCommandEvent& aEvent )
|
||||
{
|
||||
EndModal( wxID_OK ); // We are done.
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::selectIfValid( const wxTreeItemId& aTreeId )
|
||||
{
|
||||
if( aTreeId.IsOk() && aTreeId != m_libraryComponentTree->GetRootItem() )
|
||||
m_libraryComponentTree->SelectItem( aTreeId );
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnInterceptSearchBoxKey( wxKeyEvent& aKeyStroke )
|
||||
{
|
||||
// Cursor up/down and partiallyi cursor are use to do tree navigation operations.
|
||||
// This is done by intercepting some navigational keystrokes that normally would go to
|
||||
// the text search box (which has the focus by default). That way, we are mostly keyboard
|
||||
// operable.
|
||||
// (If the tree has the focus, it can handle that by itself).
|
||||
const wxTreeItemId sel = m_libraryComponentTree->GetSelection();
|
||||
|
||||
switch( aKeyStroke.GetKeyCode() )
|
||||
{
|
||||
case WXK_UP:
|
||||
selectIfValid( GetPrevItem( *m_libraryComponentTree, sel ) );
|
||||
break;
|
||||
|
||||
case WXK_DOWN:
|
||||
selectIfValid( GetNextItem( *m_libraryComponentTree, sel ) );
|
||||
break;
|
||||
|
||||
// The follwoing keys we can only hijack if they are not needed by the textbox itself.
|
||||
|
||||
case WXK_LEFT:
|
||||
if( m_searchBox->GetInsertionPoint() == 0 )
|
||||
m_libraryComponentTree->Collapse( sel );
|
||||
else
|
||||
aKeyStroke.Skip(); // Use for original purpose: move cursor.
|
||||
break;
|
||||
|
||||
case WXK_RIGHT:
|
||||
if( m_searchBox->GetInsertionPoint() >= (long) m_searchBox->GetLineText( 0 ).length() )
|
||||
m_libraryComponentTree->Expand( sel );
|
||||
else
|
||||
aKeyStroke.Skip(); // Use for original purpose: move cursor.
|
||||
break;
|
||||
|
||||
default:
|
||||
aKeyStroke.Skip(); // Any other key: pass on to search box directly.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnTreeSelect( wxTreeEvent& aEvent )
|
||||
{
|
||||
updateSelection();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnDoubleClickTreeSelect( wxTreeEvent& aEvent )
|
||||
{
|
||||
if( !updateSelection() )
|
||||
return;
|
||||
|
||||
// Ok, got selection. We don't just end the modal dialog here, but
|
||||
// wait for the MouseUp event to occur. Otherwise something (broken?)
|
||||
// happens: the dialog will close and will deliver the 'MouseUp' event
|
||||
// to the eeschema canvas, that will immediately place the component.
|
||||
m_received_doubleclick_in_tree = true;
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnTreeMouseUp( wxMouseEvent& aMouseEvent )
|
||||
{
|
||||
if( m_received_doubleclick_in_tree )
|
||||
EndModal( wxID_OK ); // We are done (see OnDoubleClickTreeSelect)
|
||||
else
|
||||
aMouseEvent.Skip(); // Let upstream handle it.
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnStartComponentBrowser( wxMouseEvent& aEvent )
|
||||
{
|
||||
m_external_browser_requested = true;
|
||||
EndModal( wxID_OK ); // We are done.
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_CHOOSE_COMPONENT::updateSelection()
|
||||
{
|
||||
int unit = 0;
|
||||
LIB_ALIAS* selection = m_search_container->GetSelectedAlias( &unit );
|
||||
|
||||
m_componentView->Refresh();
|
||||
|
||||
m_componentDetails->Clear();
|
||||
|
||||
if( selection == NULL )
|
||||
return false;
|
||||
|
||||
m_componentDetails->Freeze();
|
||||
wxFont font_normal = m_componentDetails->GetFont();
|
||||
wxFont font_bold = m_componentDetails->GetFont();
|
||||
font_bold.SetWeight( wxFONTWEIGHT_BOLD );
|
||||
|
||||
wxTextAttr headline_attribute;
|
||||
headline_attribute.SetFont(font_bold);
|
||||
wxTextAttr text_attribute;
|
||||
text_attribute.SetFont(font_normal);
|
||||
|
||||
const wxString description = selection->GetDescription();
|
||||
|
||||
if( !description.empty() )
|
||||
{
|
||||
m_componentDetails->SetDefaultStyle( headline_attribute );
|
||||
m_componentDetails->AppendText( _("Description\n") );
|
||||
m_componentDetails->SetDefaultStyle( text_attribute );
|
||||
m_componentDetails->AppendText( description );
|
||||
m_componentDetails->AppendText( wxT("\n\n") );
|
||||
}
|
||||
|
||||
const wxString keywords = selection->GetKeyWords();
|
||||
|
||||
if( !keywords.empty() )
|
||||
{
|
||||
m_componentDetails->SetDefaultStyle( headline_attribute );
|
||||
m_componentDetails->AppendText( _("Keywords\n") );
|
||||
m_componentDetails->SetDefaultStyle( text_attribute );
|
||||
m_componentDetails->AppendText( keywords );
|
||||
}
|
||||
|
||||
m_componentDetails->SetInsertionPoint( 0 ); // scroll up.
|
||||
m_componentDetails->Thaw();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_CHOOSE_COMPONENT::OnHandlePreviewRepaint( wxPaintEvent& aRepaintEvent )
|
||||
{
|
||||
int unit = 0;
|
||||
LIB_ALIAS* selection = m_search_container->GetSelectedAlias( &unit );
|
||||
|
||||
renderPreview( selection ? selection->GetComponent() : NULL, unit );
|
||||
}
|
||||
|
||||
|
||||
// Render the preview in our m_componentView. If this gets more complicated, we should
|
||||
// probably have a derived class from wxPanel; but this keeps things local.
|
||||
void DIALOG_CHOOSE_COMPONENT::renderPreview( LIB_COMPONENT* aComponent, int aUnit )
|
||||
{
|
||||
wxPaintDC dc( m_componentView );
|
||||
dc.SetBackground( *wxWHITE_BRUSH );
|
||||
dc.Clear();
|
||||
|
||||
if( aComponent == NULL )
|
||||
return;
|
||||
|
||||
if( aUnit <= 0 )
|
||||
aUnit = 1;
|
||||
|
||||
const wxSize dc_size = dc.GetSize();
|
||||
dc.SetDeviceOrigin( dc_size.x / 2, dc_size.y / 2 );
|
||||
|
||||
// Find joint bounding box for everything we are about to draw.
|
||||
EDA_RECT bBox = aComponent->GetBoundingBox( aUnit, m_deMorganConvert );
|
||||
const double xscale = (double) dc_size.x / bBox.GetWidth();
|
||||
const double yscale = (double) dc_size.y / bBox.GetHeight();
|
||||
const double scale = std::min( xscale, yscale ) * 0.85;
|
||||
|
||||
dc.SetUserScale( scale, scale );
|
||||
|
||||
wxPoint offset = bBox.Centre();
|
||||
NEGATE( offset.x );
|
||||
NEGATE( offset.y );
|
||||
|
||||
aComponent->Draw( NULL, &dc, offset, aUnit, m_deMorganConvert, GR_COPY,
|
||||
UNSPECIFIED_COLOR, DefaultTransform, true, true, false );
|
||||
}
|
||||
|
||||
|
||||
static wxTreeItemId GetPrevItem( const wxTreeCtrl& tree, const wxTreeItemId& item )
|
||||
{
|
||||
wxTreeItemId prevItem = tree.GetPrevSibling( item );
|
||||
|
||||
if( !prevItem.IsOk() )
|
||||
{
|
||||
prevItem = tree.GetItemParent( item );
|
||||
}
|
||||
else if( tree.IsExpanded( prevItem ) )
|
||||
{
|
||||
prevItem = tree.GetLastChild( prevItem );
|
||||
}
|
||||
|
||||
return prevItem;
|
||||
}
|
||||
|
||||
|
||||
static wxTreeItemId GetNextItem( const wxTreeCtrl& tree, const wxTreeItemId& item )
|
||||
{
|
||||
wxTreeItemId nextItem;
|
||||
|
||||
if( tree.IsExpanded( item ) )
|
||||
{
|
||||
wxTreeItemIdValue dummy;
|
||||
nextItem = tree.GetFirstChild( item, dummy );
|
||||
}
|
||||
else
|
||||
{
|
||||
// Walk up levels until we find one that has a next sibling.
|
||||
for ( wxTreeItemId walk = item; walk.IsOk(); walk = tree.GetItemParent( walk ) )
|
||||
{
|
||||
nextItem = tree.GetNextSibling( walk );
|
||||
if( nextItem.IsOk() )
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return nextItem;
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
/* -*- c++ -*-
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2014 Henner Zeller <h.zeller@acm.org>
|
||||
* Copyright (C) 2014 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
#ifndef DIALOG_CHOOSE_COMPONENT_H
|
||||
#define DIALOG_CHOOSE_COMPONENT_H
|
||||
|
||||
#include <dialog_choose_component_base.h>
|
||||
|
||||
class COMPONENT_TREE_SEARCH_CONTAINER;
|
||||
class LIB_COMPONENT;
|
||||
class wxTreeItemId;
|
||||
|
||||
class DIALOG_CHOOSE_COMPONENT : public DIALOG_CHOOSE_COMPONENT_BASE
|
||||
{
|
||||
public:
|
||||
DIALOG_CHOOSE_COMPONENT( wxWindow* aParent, const wxString& aTitle,
|
||||
COMPONENT_TREE_SEARCH_CONTAINER* aSearch_container,
|
||||
int aDeMorganConvert );
|
||||
|
||||
/** Function GetSelectedAliasName
|
||||
* To be called after this dialog returns from ShowModal().
|
||||
*
|
||||
* @param aUnit if not NULL, the selected unit is filled in here.
|
||||
* @return the alias that has been selected, or an empty string if there is none.
|
||||
*/
|
||||
wxString GetSelectedAliasName( int* aUnit ) const;
|
||||
|
||||
/** Function IsExternalBrowserSelected
|
||||
*
|
||||
* @return true, iff the browser pressed the browsing button.
|
||||
*/
|
||||
bool IsExternalBrowserSelected() const { return m_external_browser_requested; }
|
||||
|
||||
protected:
|
||||
virtual void OnSearchBoxChange( wxCommandEvent& aEvent );
|
||||
virtual void OnSearchBoxEnter( wxCommandEvent& aEvent );
|
||||
virtual void OnInterceptSearchBoxKey( wxKeyEvent& aEvent );
|
||||
|
||||
virtual void OnTreeSelect( wxTreeEvent& aEvent );
|
||||
virtual void OnDoubleClickTreeSelect( wxTreeEvent& aEvent );
|
||||
virtual void OnTreeMouseUp( wxMouseEvent& aMouseEvent );
|
||||
|
||||
virtual void OnStartComponentBrowser( wxMouseEvent& aEvent );
|
||||
virtual void OnHandlePreviewRepaint( wxPaintEvent& aRepaintEvent );
|
||||
|
||||
private:
|
||||
bool updateSelection();
|
||||
void selectIfValid( const wxTreeItemId& aTreeId );
|
||||
void renderPreview( LIB_COMPONENT* aComponent, int aUnit );
|
||||
|
||||
COMPONENT_TREE_SEARCH_CONTAINER* const m_search_container;
|
||||
const int m_deMorganConvert;
|
||||
bool m_external_browser_requested;
|
||||
bool m_received_doubleclick_in_tree;
|
||||
};
|
||||
|
||||
#endif /* DIALOG_CHOOSE_COMPONENT_H */
|
|
@ -0,0 +1,97 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Nov 6 2013)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "dialog_choose_component_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
DIALOG_CHOOSE_COMPONENT_BASE::DIALOG_CHOOSE_COMPONENT_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxSize( 450,100 ), wxDefaultSize );
|
||||
|
||||
wxBoxSizer* bSizer1;
|
||||
bSizer1 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxBoxSizer* bSearchSizer;
|
||||
bSearchSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_searchLabel = new wxStaticText( this, wxID_ANY, wxT("Search"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_searchLabel->Wrap( -1 );
|
||||
bSearchSizer->Add( m_searchLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
m_searchBox = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
|
||||
bSearchSizer->Add( m_searchBox, 1, wxALL, 5 );
|
||||
|
||||
|
||||
bSizer1->Add( bSearchSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
m_libraryComponentTree = new wxTreeCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE|wxTR_HIDE_ROOT );
|
||||
m_libraryComponentTree->SetMinSize( wxSize( -1,50 ) );
|
||||
|
||||
bSizer1->Add( m_libraryComponentTree, 1, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer3;
|
||||
bSizer3 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_componentView = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE|wxSUNKEN_BORDER );
|
||||
m_componentView->SetMinSize( wxSize( 150,150 ) );
|
||||
|
||||
bSizer3->Add( m_componentView, 4, wxEXPAND | wxALL, 5 );
|
||||
|
||||
m_componentDetails = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), wxTE_MULTILINE );
|
||||
m_componentDetails->SetMinSize( wxSize( -1,100 ) );
|
||||
|
||||
bSizer3->Add( m_componentDetails, 3, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer1->Add( bSizer3, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer5;
|
||||
bSizer5 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_button = new wxStdDialogButtonSizer();
|
||||
m_buttonOK = new wxButton( this, wxID_OK );
|
||||
m_button->AddButton( m_buttonOK );
|
||||
m_buttonCancel = new wxButton( this, wxID_CANCEL );
|
||||
m_button->AddButton( m_buttonCancel );
|
||||
m_button->Realize();
|
||||
|
||||
bSizer5->Add( m_button, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer1->Add( bSizer5, 0, wxALIGN_RIGHT, 5 );
|
||||
|
||||
|
||||
this->SetSizer( bSizer1 );
|
||||
this->Layout();
|
||||
|
||||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
m_searchBox->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnInterceptSearchBoxKey ), NULL, this );
|
||||
m_searchBox->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnSearchBoxChange ), NULL, this );
|
||||
m_searchBox->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnSearchBoxEnter ), NULL, this );
|
||||
m_libraryComponentTree->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnTreeMouseUp ), NULL, this );
|
||||
m_libraryComponentTree->Connect( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnDoubleClickTreeSelect ), NULL, this );
|
||||
m_libraryComponentTree->Connect( wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnTreeSelect ), NULL, this );
|
||||
m_componentView->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnStartComponentBrowser ), NULL, this );
|
||||
m_componentView->Connect( wxEVT_PAINT, wxPaintEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnHandlePreviewRepaint ), NULL, this );
|
||||
}
|
||||
|
||||
DIALOG_CHOOSE_COMPONENT_BASE::~DIALOG_CHOOSE_COMPONENT_BASE()
|
||||
{
|
||||
// Disconnect Events
|
||||
m_searchBox->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnInterceptSearchBoxKey ), NULL, this );
|
||||
m_searchBox->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnSearchBoxChange ), NULL, this );
|
||||
m_searchBox->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnSearchBoxEnter ), NULL, this );
|
||||
m_libraryComponentTree->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnTreeMouseUp ), NULL, this );
|
||||
m_libraryComponentTree->Disconnect( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnDoubleClickTreeSelect ), NULL, this );
|
||||
m_libraryComponentTree->Disconnect( wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnTreeSelect ), NULL, this );
|
||||
m_componentView->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnStartComponentBrowser ), NULL, this );
|
||||
m_componentView->Disconnect( wxEVT_PAINT, wxPaintEventHandler( DIALOG_CHOOSE_COMPONENT_BASE::OnHandlePreviewRepaint ), NULL, this );
|
||||
|
||||
}
|
|
@ -0,0 +1,605 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<wxFormBuilder_Project>
|
||||
<FileVersion major="1" minor="11" />
|
||||
<object class="Project" expanded="1">
|
||||
<property name="class_decoration"></property>
|
||||
<property name="code_generation">C++</property>
|
||||
<property name="disconnect_events">1</property>
|
||||
<property name="disconnect_mode">source_name</property>
|
||||
<property name="disconnect_php_events">0</property>
|
||||
<property name="disconnect_python_events">0</property>
|
||||
<property name="embedded_files_path">res</property>
|
||||
<property name="encoding">UTF-8</property>
|
||||
<property name="event_generation">connect</property>
|
||||
<property name="file">dialog_choose_component_base</property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="internationalize">0</property>
|
||||
<property name="name">dialog_choose_component_base</property>
|
||||
<property name="namespace"></property>
|
||||
<property name="path">.</property>
|
||||
<property name="precompiled_header"></property>
|
||||
<property name="relative_path">1</property>
|
||||
<property name="skip_lua_events">1</property>
|
||||
<property name="skip_php_events">1</property>
|
||||
<property name="skip_python_events">1</property>
|
||||
<property name="ui_table">UI</property>
|
||||
<property name="use_enum">0</property>
|
||||
<property name="use_microsoft_bom">0</property>
|
||||
<object class="Dialog" expanded="1">
|
||||
<property name="aui_managed">0</property>
|
||||
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
|
||||
<property name="bg"></property>
|
||||
<property name="center">wxBOTH</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="event_handler">impl_virtual</property>
|
||||
<property name="extra_style"></property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size">450,100</property>
|
||||
<property name="name">DIALOG_CHOOSE_COMPONENT_BASE</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">450,500</property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
||||
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
|
||||
<property name="title"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnActivate"></event>
|
||||
<event name="OnActivateApp"></event>
|
||||
<event name="OnAuiFindManager"></event>
|
||||
<event name="OnAuiPaneButton"></event>
|
||||
<event name="OnAuiPaneClose"></event>
|
||||
<event name="OnAuiPaneMaximize"></event>
|
||||
<event name="OnAuiPaneRestore"></event>
|
||||
<event name="OnAuiRender"></event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnClose"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnHibernate"></event>
|
||||
<event name="OnIconize"></event>
|
||||
<event name="OnIdle"></event>
|
||||
<event name="OnInitDialog"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer1</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSearchSizer</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Search</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_searchLabel</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxTextCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size">-1,-1</property>
|
||||
<property name="maxlength"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_searchBox</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style">wxTE_PROCESS_ENTER</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="value"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown">OnInterceptSearchBoxKey</event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText">OnSearchBoxChange</event>
|
||||
<event name="OnTextEnter">OnSearchBoxEnter</event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxTreeCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">-1,50</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_libraryComponentTree</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style">wxTR_DEFAULT_STYLE|wxTR_HIDE_ROOT</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp">OnTreeMouseUp</event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnTreeBeginDrag"></event>
|
||||
<event name="OnTreeBeginLabelEdit"></event>
|
||||
<event name="OnTreeBeginRDrag"></event>
|
||||
<event name="OnTreeDeleteItem"></event>
|
||||
<event name="OnTreeEndDrag"></event>
|
||||
<event name="OnTreeEndLabelEdit"></event>
|
||||
<event name="OnTreeGetInfo"></event>
|
||||
<event name="OnTreeItemActivated">OnDoubleClickTreeSelect</event>
|
||||
<event name="OnTreeItemCollapsed"></event>
|
||||
<event name="OnTreeItemCollapsing"></event>
|
||||
<event name="OnTreeItemExpanded"></event>
|
||||
<event name="OnTreeItemExpanding"></event>
|
||||
<event name="OnTreeItemGetTooltip"></event>
|
||||
<event name="OnTreeItemMenu"></event>
|
||||
<event name="OnTreeItemMiddleClick"></event>
|
||||
<event name="OnTreeItemRightClick"></event>
|
||||
<event name="OnTreeKeyDown"></event>
|
||||
<event name="OnTreeSelChanged">OnTreeSelect</event>
|
||||
<event name="OnTreeSelChanging"></event>
|
||||
<event name="OnTreeSetInfo"></event>
|
||||
<event name="OnTreeStateImageClick"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer3</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND | wxALL</property>
|
||||
<property name="proportion">4</property>
|
||||
<object class="wxPanel" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">150,150</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_componentView</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style">wxFULL_REPAINT_ON_RESIZE|wxSUNKEN_BORDER</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp">OnStartComponentBrowser</event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint">OnHandlePreviewRepaint</event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">3</property>
|
||||
<object class="wxTextCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">-1,100</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_componentDetails</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size">-1,-1</property>
|
||||
<property name="style">wxTE_MULTILINE</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="value"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText"></event>
|
||||
<event name="OnTextEnter"></event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_RIGHT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer5</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStdDialogButtonSizer" expanded="0">
|
||||
<property name="Apply">0</property>
|
||||
<property name="Cancel">1</property>
|
||||
<property name="ContextHelp">0</property>
|
||||
<property name="Help">0</property>
|
||||
<property name="No">0</property>
|
||||
<property name="OK">1</property>
|
||||
<property name="Save">0</property>
|
||||
<property name="Yes">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_button</property>
|
||||
<property name="permission">protected</property>
|
||||
<event name="OnApplyButtonClick"></event>
|
||||
<event name="OnCancelButtonClick"></event>
|
||||
<event name="OnContextHelpButtonClick"></event>
|
||||
<event name="OnHelpButtonClick"></event>
|
||||
<event name="OnNoButtonClick"></event>
|
||||
<event name="OnOKButtonClick"></event>
|
||||
<event name="OnSaveButtonClick"></event>
|
||||
<event name="OnYesButtonClick"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</wxFormBuilder_Project>
|
|
@ -0,0 +1,67 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Nov 6 2013)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __DIALOG_CHOOSE_COMPONENT_BASE_H__
|
||||
#define __DIALOG_CHOOSE_COMPONENT_BASE_H__
|
||||
|
||||
#include <wx/artprov.h>
|
||||
#include <wx/xrc/xmlres.h>
|
||||
class DIALOG_SHIM;
|
||||
|
||||
#include "dialog_shim.h"
|
||||
#include <wx/string.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/treectrl.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class DIALOG_CHOOSE_COMPONENT_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class DIALOG_CHOOSE_COMPONENT_BASE : public DIALOG_SHIM
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
wxStaticText* m_searchLabel;
|
||||
wxTextCtrl* m_searchBox;
|
||||
wxTreeCtrl* m_libraryComponentTree;
|
||||
wxPanel* m_componentView;
|
||||
wxTextCtrl* m_componentDetails;
|
||||
wxStdDialogButtonSizer* m_button;
|
||||
wxButton* m_buttonOK;
|
||||
wxButton* m_buttonCancel;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnInterceptSearchBoxKey( wxKeyEvent& event ) { event.Skip(); }
|
||||
virtual void OnSearchBoxChange( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnSearchBoxEnter( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnTreeMouseUp( wxMouseEvent& event ) { event.Skip(); }
|
||||
virtual void OnDoubleClickTreeSelect( wxTreeEvent& event ) { event.Skip(); }
|
||||
virtual void OnTreeSelect( wxTreeEvent& event ) { event.Skip(); }
|
||||
virtual void OnStartComponentBrowser( wxMouseEvent& event ) { event.Skip(); }
|
||||
virtual void OnHandlePreviewRepaint( wxPaintEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
||||
DIALOG_CHOOSE_COMPONENT_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 450,500 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DIALOG_CHOOSE_COMPONENT_BASE();
|
||||
|
||||
};
|
||||
|
||||
#endif //__DIALOG_CHOOSE_COMPONENT_BASE_H__
|
|
@ -205,7 +205,7 @@ bool EDA_APP::OnInit()
|
|||
// wxSetWorkingDirectory does not like empty paths
|
||||
wxSetWorkingDirectory( filename.GetPath() );
|
||||
|
||||
if( frame->LoadOneEEProject( filename.GetFullPath(), false ) )
|
||||
if( frame->LoadOneEEProject( filename.GetFullName(), false ) )
|
||||
frame->GetCanvas()->Refresh( true );
|
||||
}
|
||||
else
|
||||
|
|
|
@ -45,11 +45,14 @@
|
|||
#include <viewlib_frame.h>
|
||||
#include <eeschema_id.h>
|
||||
|
||||
#include <dialog_choose_component.h>
|
||||
#include <component_tree_search_container.h>
|
||||
#include <dialog_get_component.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
|
||||
// TODO(hzeller): would be good if we could give a pre-selected component.
|
||||
wxString SCH_BASE_FRAME::SelectComponentFromLibBrowser( void )
|
||||
{
|
||||
wxSemaphore semaphore( 0, 1 );
|
||||
|
@ -76,118 +79,71 @@ wxString SCH_BASE_FRAME::SelectComponentFromLibBrowser( void )
|
|||
return cmpname;
|
||||
}
|
||||
|
||||
|
||||
wxString SCH_BASE_FRAME::SelectComponentFromLibrary( const wxString& aLibname,
|
||||
wxArrayString& aHistoryList,
|
||||
int& aHistoryLastUnit,
|
||||
bool aUseLibBrowser,
|
||||
int* aUnit,
|
||||
int* aConvert )
|
||||
{
|
||||
int CmpCount = 0;
|
||||
LIB_COMPONENT* libEntry = NULL;
|
||||
CMP_LIBRARY* currLibrary = NULL;
|
||||
wxString cmpName, keys, msg;
|
||||
bool allowWildSeach = true;
|
||||
int cmpCount = 0;
|
||||
wxString dialogTitle;
|
||||
|
||||
COMPONENT_TREE_SEARCH_CONTAINER search_container; // Container doing search-as-you-type
|
||||
|
||||
if( !aLibname.IsEmpty() )
|
||||
{
|
||||
currLibrary = CMP_LIBRARY::FindLibrary( aLibname );
|
||||
CMP_LIBRARY* currLibrary = CMP_LIBRARY::FindLibrary( aLibname );
|
||||
|
||||
if( currLibrary != NULL )
|
||||
CmpCount = currLibrary->GetCount();
|
||||
{
|
||||
cmpCount = currLibrary->GetCount();
|
||||
search_container.AddLibrary( *currLibrary );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
BOOST_FOREACH( CMP_LIBRARY& lib, CMP_LIBRARY::GetLibraryList() )
|
||||
{
|
||||
CmpCount += lib.GetCount();
|
||||
cmpCount += lib.GetCount();
|
||||
search_container.AddLibrary( lib );
|
||||
}
|
||||
}
|
||||
|
||||
// Ask for a component name or key words
|
||||
msg.Printf( _( "Component selection (%d items loaded):" ), CmpCount );
|
||||
if( !aHistoryList.empty() )
|
||||
{
|
||||
// This is good for a transition for experineced users: giving them a History. Ideally,
|
||||
// we actually make this part even faster to access with a popup on ALT-a or something.
|
||||
search_container.AddAliasList( _("-- History --"), aHistoryList, NULL );
|
||||
search_container.SetPreselectNode( aHistoryList[0], aHistoryLastUnit );
|
||||
}
|
||||
|
||||
DIALOG_GET_COMPONENT dlg( this, aHistoryList, msg, aUseLibBrowser );
|
||||
|
||||
if( aHistoryList.GetCount() )
|
||||
dlg.SetComponentName( aHistoryList[0] );
|
||||
const int deMorgan = aConvert ? *aConvert : 1;
|
||||
dialogTitle.Printf( _( "Choose Component (%d items loaded)" ), cmpCount );
|
||||
DIALOG_CHOOSE_COMPONENT dlg( this, dialogTitle, &search_container, deMorgan );
|
||||
|
||||
if( dlg.ShowModal() == wxID_CANCEL )
|
||||
return wxEmptyString;
|
||||
|
||||
if( dlg.m_GetExtraFunction )
|
||||
wxString cmpName = dlg.GetSelectedAliasName( aUnit );
|
||||
|
||||
if( dlg.IsExternalBrowserSelected() )
|
||||
{
|
||||
cmpName = SelectComponentFromLibBrowser();
|
||||
cmpName = SelectComponentFromLibBrowser(); // Would be good if we could pre-select.
|
||||
|
||||
if( aUnit )
|
||||
*aUnit = LIB_VIEW_FRAME::GetUnit();
|
||||
|
||||
if( aConvert )
|
||||
*aConvert = LIB_VIEW_FRAME::GetConvert();
|
||||
if( !cmpName.IsEmpty() )
|
||||
AddHistoryComponentName( aHistoryList, cmpName );
|
||||
return cmpName;
|
||||
}
|
||||
else
|
||||
cmpName = dlg.GetComponentName();
|
||||
|
||||
if( cmpName.IsEmpty() )
|
||||
return wxEmptyString;
|
||||
|
||||
// Here, cmpName contains the component name,
|
||||
// or "*" if the Select All dialog button was pressed
|
||||
|
||||
#ifndef KICAD_KEEPCASE
|
||||
cmpName.MakeUpper();
|
||||
#endif
|
||||
|
||||
if( dlg.IsKeyword() )
|
||||
{
|
||||
allowWildSeach = false;
|
||||
keys = cmpName;
|
||||
cmpName = DataBaseGetName( this, keys, cmpName );
|
||||
|
||||
if( cmpName.IsEmpty() )
|
||||
return wxEmptyString;
|
||||
}
|
||||
else if( cmpName == wxT( "*" ) )
|
||||
{
|
||||
allowWildSeach = false;
|
||||
|
||||
if( GetNameOfPartToLoad( this, currLibrary, cmpName ) == 0 )
|
||||
return wxEmptyString;
|
||||
}
|
||||
else if( cmpName.Contains( wxT( "?" ) ) || cmpName.Contains( wxT( "*" ) ) )
|
||||
{
|
||||
allowWildSeach = false;
|
||||
cmpName = DataBaseGetName( this, keys, cmpName );
|
||||
|
||||
if( cmpName.IsEmpty() )
|
||||
return wxEmptyString;
|
||||
}
|
||||
|
||||
libEntry = CMP_LIBRARY::FindLibraryComponent( cmpName, aLibname );
|
||||
|
||||
if( !libEntry && allowWildSeach ) // Search with wildcard
|
||||
if ( !cmpName.empty() )
|
||||
{
|
||||
allowWildSeach = false;
|
||||
wxString wildname = wxChar( '*' ) + cmpName + wxChar( '*' );
|
||||
cmpName = wildname;
|
||||
cmpName = DataBaseGetName( this, keys, cmpName );
|
||||
|
||||
if( !cmpName.IsEmpty() )
|
||||
libEntry = CMP_LIBRARY::FindLibraryComponent( cmpName, aLibname );
|
||||
|
||||
if( !libEntry )
|
||||
return wxEmptyString;
|
||||
AddHistoryComponentName( aHistoryList, cmpName );
|
||||
if ( aUnit ) aHistoryLastUnit = *aUnit;
|
||||
}
|
||||
|
||||
if( !libEntry )
|
||||
{
|
||||
msg.Printf( _( "Failed to find part <%s> in library" ), GetChars( cmpName ) );
|
||||
DisplayError( this, msg );
|
||||
return wxEmptyString;
|
||||
}
|
||||
|
||||
AddHistoryComponentName( aHistoryList, cmpName );
|
||||
return cmpName;
|
||||
}
|
||||
|
||||
|
@ -195,6 +151,7 @@ wxString SCH_BASE_FRAME::SelectComponentFromLibrary( const wxString& aLibname,
|
|||
SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* aDC,
|
||||
const wxString& aLibname,
|
||||
wxArrayString& aHistoryList,
|
||||
int& aHistoryLastUnit,
|
||||
bool aUseLibBrowser )
|
||||
{
|
||||
int unit = 1;
|
||||
|
@ -202,8 +159,8 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* aDC,
|
|||
SetRepeatItem( NULL );
|
||||
m_canvas->SetIgnoreMouseEvents( true );
|
||||
|
||||
wxString Name = SelectComponentFromLibrary( aLibname, aHistoryList, aUseLibBrowser,
|
||||
&unit, &convert );
|
||||
wxString Name = SelectComponentFromLibrary( aLibname, aHistoryList, aHistoryLastUnit,
|
||||
aUseLibBrowser, &unit, &convert );
|
||||
|
||||
if( Name.IsEmpty() )
|
||||
{
|
||||
|
|
|
@ -13,55 +13,54 @@
|
|||
*/
|
||||
|
||||
// Common to schematic editor and component editor
|
||||
#define HELP_UNDO _( "Undo last edition" )
|
||||
#define HELP_REDO _( "Redo the last undo command" )
|
||||
#define HELP_UNDO _( "Undo last command" )
|
||||
#define HELP_REDO _( "Redo last command" )
|
||||
|
||||
#define HELP_ZOOM_IN _( "Zoom in" )
|
||||
#define HELP_ZOOM_OUT _( "Zoom out" )
|
||||
#define HELP_ZOOM_FIT _( "Fit the schematic sheet on the screen" )
|
||||
#define HELP_ZOOM_REDRAW _( "Redraw the schematic view" )
|
||||
#define HELP_ZOOM_FIT _( "Fit schematic sheet on screen" )
|
||||
#define HELP_ZOOM_REDRAW _( "Redraw schematic view" )
|
||||
|
||||
#define HELP_DELETE_ITEMS _( "Delete items" )
|
||||
#define HELP_DELETE_ITEMS _( "Delete item" )
|
||||
|
||||
// Schematic editor:
|
||||
#define HELP_FIND _( "Find components and texts" )
|
||||
#define HELP_FIND _( "Find components and text" )
|
||||
#define HELP_REPLACE _( "Find and replace text in schematic items" )
|
||||
#define HELP_PLACE_COMPONENTS _( "Place a component" )
|
||||
#define HELP_PLACE_POWERPORT _( "Place a power port" )
|
||||
#define HELP_PLACE_WIRE _( "Place a wire" )
|
||||
#define HELP_PLACE_BUS _( "Place a bus" )
|
||||
#define HELP_PLACE_WIRE2BUS_ENTRY _( "Place a wire to bus entry" )
|
||||
#define HELP_PLACE_BUS2BUS_ENTRY _( "Place a bus to bus entry" )
|
||||
#define HELP_PLACE_NC_FLAG _( "Place a no connect flag" )
|
||||
#define HELP_PLACE_COMPONENTS _( "Place component" )
|
||||
#define HELP_PLACE_POWERPORT _( "Place power port" )
|
||||
#define HELP_PLACE_WIRE _( "Place wire" )
|
||||
#define HELP_PLACE_BUS _( "Place bus" )
|
||||
#define HELP_PLACE_WIRE2BUS_ENTRY _( "Place wire to bus entry" )
|
||||
#define HELP_PLACE_BUS2BUS_ENTRY _( "Place bus to bus entry" )
|
||||
#define HELP_PLACE_NC_FLAG _( "Place not-connected flag" )
|
||||
|
||||
#define HELP_PLACE_NETLABEL _( "Place a net name (local label)" )
|
||||
#define HELP_PLACE_NETLABEL _( "Place net name - local label" )
|
||||
#define HELP_PLACE_GLOBALLABEL \
|
||||
_(\
|
||||
"Place a global label.\nWarning: all global labels with the same name are connected in whole hierarchy" )
|
||||
"Place global label.\nWarning: inside global hierarchy , all global labels with same name are connected" )
|
||||
#define HELP_PLACE_HIER_LABEL \
|
||||
_( "Place a hierarchical label. This label will be seen as a hierarchical pin in the sheet symbol" )
|
||||
_( "Place a hierarchical label. Label will be seen as a hierarchical pin in the sheet symbol" )
|
||||
|
||||
#define HELP_PLACE_JUNCTION _( "Place a junction" )
|
||||
#define HELP_PLACE_SHEET _( "Create a hierarchical sheet" )
|
||||
#define HELP_PLACE_JUNCTION _( "Place junction" )
|
||||
#define HELP_PLACE_SHEET _( "Create hierarchical sheet" )
|
||||
#define HELP_IMPORT_SHEETPIN _( \
|
||||
"Place a hierarchical pin imported from the corresponding hierarchical label in sheet" )
|
||||
#define HELP_PLACE_SHEETPIN _( "Place a hierarchical pin in sheet" )
|
||||
"Place hierarchical pin imported from the corresponding hierarchical label" )
|
||||
#define HELP_PLACE_SHEETPIN _( "Place hierarchical pin in sheet" )
|
||||
#define HELP_PLACE_GRAPHICLINES _( "Place graphic lines or polygons" )
|
||||
#define HELP_PLACE_GRAPHICTEXTS _( "Place graphic text (comment)" )
|
||||
#define HELP_PLACE_GRAPHICTEXTS _( "Place graphic text/comment" )
|
||||
|
||||
#define HELP_ANNOTATE _( "Annotate the components in the schematic" )
|
||||
#define HELP_RUN_LIB_EDITOR _( "Library editor - Create and edit components" )
|
||||
#define HELP_RUN_LIB_VIEWER _( "Library browser - Browse components" )
|
||||
#define HELP_ANNOTATE _( "Annotate schematic components" )
|
||||
#define HELP_RUN_LIB_EDITOR _( "Library Editor - Create/edit components" )
|
||||
#define HELP_RUN_LIB_VIEWER _( "Library Browser - Browse components" )
|
||||
#define HELP_GENERATE_BOM _( "Generate bill of materials and/or cross references" )
|
||||
#define HELP_IMPORT_FOOTPRINTS \
|
||||
_( "Import the footprint selection from CvPcb (the .cmp file)\n\
|
||||
in component footprint fields" )
|
||||
_( "Back-import component footprint fields via CvPcb .cmp file" )
|
||||
|
||||
// Component editor:
|
||||
#define HELP_ADD_PIN _( "Add pins to the component" )
|
||||
#define HELP_ADD_BODYTEXT _( "Add graphic texts to the component body" )
|
||||
#define HELP_ADD_BODYRECT _( "Add graphic rectangles to the component body" )
|
||||
#define HELP_ADD_BODYCIRCLE _( "Add circles to the component body" )
|
||||
#define HELP_ADD_BODYARC _( "Add arcs to the component body" )
|
||||
#define HELP_ADD_BODYPOLYGON _( "Add lines and polygons to the component body" )
|
||||
#define HELP_PLACE_GRAPHICIMAGES _("Add a bitmap image")
|
||||
#define HELP_ADD_PIN _( "Add pins to component" )
|
||||
#define HELP_ADD_BODYTEXT _( "Add text to component body" )
|
||||
#define HELP_ADD_BODYRECT _( "Add graphic rectangle to component body" )
|
||||
#define HELP_ADD_BODYCIRCLE _( "Add circles to component body" )
|
||||
#define HELP_ADD_BODYARC _( "Add arcs to component body" )
|
||||
#define HELP_ADD_BODYPOLYGON _( "Add lines and polygons to component body" )
|
||||
#define HELP_PLACE_GRAPHICIMAGES _("Add bitmap image")
|
||||
|
|
|
@ -447,16 +447,18 @@ void LIB_ARC::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOf
|
|||
if( aColor >= 0 )
|
||||
fill = NO_FILL;
|
||||
|
||||
EDA_RECT* const clipbox = aPanel? aPanel->GetClipBox() : NULL;
|
||||
|
||||
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
||||
{
|
||||
GRFilledArc( aPanel->GetClipBox(), aDC, posc.x, posc.y, pt1, pt2,
|
||||
GRFilledArc( clipbox, aDC, posc.x, posc.y, pt1, pt2,
|
||||
m_Radius, GetPenSize( ),
|
||||
(m_Flags & IS_MOVED) ? color : GetLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||
GetLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||
}
|
||||
else if( fill == FILLED_SHAPE && !aData )
|
||||
{
|
||||
GRFilledArc( aPanel->GetClipBox(), aDC, posc.x, posc.y, pt1, pt2, m_Radius,
|
||||
GRFilledArc( clipbox, aDC, posc.x, posc.y, pt1, pt2, m_Radius,
|
||||
color, color );
|
||||
}
|
||||
else
|
||||
|
@ -464,11 +466,11 @@ void LIB_ARC::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOf
|
|||
|
||||
#ifdef DRAW_ARC_WITH_ANGLE
|
||||
|
||||
GRArc( aPanel->GetClipBox(), aDC, posc.x, posc.y, pt1, pt2, m_Radius,
|
||||
GRArc( clipbox, aDC, posc.x, posc.y, pt1, pt2, m_Radius,
|
||||
GetPenSize(), color );
|
||||
#else
|
||||
|
||||
GRArc1( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||
GRArc1( clipbox, aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||
posc.x, posc.y, GetPenSize(), color );
|
||||
#endif
|
||||
}
|
||||
|
@ -477,7 +479,7 @@ void LIB_ARC::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOf
|
|||
* calculation. */
|
||||
#if 0
|
||||
EDA_RECT bBox = GetBoundingBox();
|
||||
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
GRRect( clipbox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -231,20 +231,21 @@ void LIB_CIRCLE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint&
|
|||
if( aColor >= 0 )
|
||||
fill = NO_FILL;
|
||||
|
||||
EDA_RECT* const clipbox = aPanel? aPanel->GetClipBox() : NULL;
|
||||
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
||||
GRFilledCircle( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, m_Radius, GetPenSize(),
|
||||
GRFilledCircle( clipbox, aDC, pos1.x, pos1.y, m_Radius, GetPenSize(),
|
||||
(m_Flags & IS_MOVED) ? color : GetLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||
GetLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||
else if( fill == FILLED_SHAPE )
|
||||
GRFilledCircle( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, m_Radius, 0, color, color );
|
||||
GRFilledCircle( clipbox, aDC, pos1.x, pos1.y, m_Radius, 0, color, color );
|
||||
else
|
||||
GRCircle( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, m_Radius, GetPenSize(), color );
|
||||
GRCircle( clipbox, aDC, pos1.x, pos1.y, m_Radius, GetPenSize(), color );
|
||||
|
||||
/* Set to one (1) to draw bounding box around circle to validate bounding
|
||||
* box calculation. */
|
||||
#if 0
|
||||
EDA_RECT bBox = GetBoundingBox();
|
||||
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
GRRect( clipbox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -296,15 +296,16 @@ void LIB_POLYLINE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint
|
|||
|
||||
GRSetDrawMode( aDC, aDrawMode );
|
||||
|
||||
EDA_RECT* const clipbox = aPanel? aPanel->GetClipBox() : NULL;
|
||||
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
||||
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
||||
GRPoly( clipbox, aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
||||
(m_Flags & IS_MOVED) ? color : GetLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||
GetLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||
else if( fill == FILLED_SHAPE )
|
||||
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
||||
GRPoly( clipbox, aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
||||
color, color );
|
||||
else
|
||||
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(), buffer, 0, GetPenSize(),
|
||||
GRPoly( clipbox, aDC, m_PolyPoints.size(), buffer, 0, GetPenSize(),
|
||||
color, color );
|
||||
|
||||
delete[] buffer;
|
||||
|
@ -314,7 +315,7 @@ void LIB_POLYLINE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint
|
|||
#if 0
|
||||
EDA_RECT bBox = GetBoundingBox();
|
||||
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
||||
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
GRRect( clipbox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -222,22 +222,23 @@ void LIB_RECTANGLE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
|||
|
||||
GRSetDrawMode( aDC, aDrawMode );
|
||||
|
||||
EDA_RECT* const clipbox = aPanel? aPanel->GetClipBox() : NULL;
|
||||
if( fill == FILLED_WITH_BG_BODYCOLOR && !aData )
|
||||
GRFilledRect( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize( ),
|
||||
GRFilledRect( clipbox, aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize( ),
|
||||
(m_Flags & IS_MOVED) ? color : GetLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||
GetLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||
else if( m_Fill == FILLED_SHAPE && !aData )
|
||||
GRFilledRect( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||
GRFilledRect( clipbox, aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||
GetPenSize(), color, color );
|
||||
else
|
||||
GRRect( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize(), color );
|
||||
GRRect( clipbox, aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize(), color );
|
||||
|
||||
/* Set to one (1) to draw bounding box around rectangle to validate
|
||||
* bounding box calculation. */
|
||||
#if 0
|
||||
EDA_RECT bBox = GetBoundingBox();
|
||||
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
||||
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
GRRect( clipbox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -131,8 +131,10 @@ void LIB_EDIT_FRAME::LoadOneLibraryPart( wxCommandEvent& event )
|
|||
return;
|
||||
}
|
||||
|
||||
wxArrayString historyList;
|
||||
CmpName = SelectComponentFromLibrary( m_library->GetName(), historyList, true, NULL, NULL );
|
||||
wxArrayString dummyHistoryList;
|
||||
int dummyLastUnit;
|
||||
CmpName = SelectComponentFromLibrary( m_library->GetName(), dummyHistoryList, dummyLastUnit,
|
||||
true, NULL, NULL );
|
||||
|
||||
if( CmpName.IsEmpty() )
|
||||
return;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
|
||||
* Copyright (C) 2004-2014 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
|
@ -216,7 +216,7 @@ bool LIB_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
|
|||
if( item->IsNew() )
|
||||
{
|
||||
AddMenuItem( PopMenu, ID_POPUP_LIBEDIT_END_CREATE_ITEM, _( "Line End" ),
|
||||
KiBitmap( apply_xpm ) );
|
||||
KiBitmap( checked_ok_xpm ) );
|
||||
}
|
||||
|
||||
msg = AddHotkeyName( _( "Edit Line Options" ), s_Libedit_Hokeys_Descr, HK_EDIT );
|
||||
|
@ -328,7 +328,7 @@ void AddMenusForBlock( wxMenu* PopMenu, LIB_EDIT_FRAME* frame )
|
|||
|
||||
PopMenu->AppendSeparator();
|
||||
|
||||
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( apply_xpm ) );
|
||||
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( checked_ok_xpm ) );
|
||||
|
||||
if( frame->GetScreen()->m_BlockLocate.GetCommand() == BLOCK_MOVE )
|
||||
{
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||
* Copyright (C) 2009-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||
* Copyright (C) 2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||
* Copyright (C) 2009-2014 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 1992-2014 KiCad Developers, see AUTHORS.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
|
@ -27,9 +27,6 @@
|
|||
* @file eeschema/menubar.cpp
|
||||
* @brief (Re)Create the main menubar for the schematic frame
|
||||
*/
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#endif
|
||||
|
||||
#include <fctsys.h>
|
||||
#include <appl_wxstruct.h>
|
||||
|
@ -69,15 +66,15 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
// New
|
||||
AddMenuItem( fileMenu,
|
||||
ID_NEW_PROJECT,
|
||||
_( "&New" ),
|
||||
_( "New schematic project" ),
|
||||
_( "&New Schematic Project" ),
|
||||
_( "Clear current schematic hierarchy and start a new schematic root sheet" ),
|
||||
KiBitmap( new_xpm ) );
|
||||
|
||||
// Open
|
||||
text = AddHotkeyName( _( "&Open" ), s_Schematic_Hokeys_Descr, HK_LOAD_SCH );
|
||||
text = AddHotkeyName( _( "&Open Schematic Sheet" ), s_Schematic_Hokeys_Descr, HK_LOAD_SCH );
|
||||
AddMenuItem( fileMenu,
|
||||
ID_LOAD_PROJECT, text,
|
||||
_( "Open an existing schematic project" ),
|
||||
_( "Open an existing schematic sheet" ),
|
||||
KiBitmap( open_document_xpm ) );
|
||||
|
||||
// Open Recent submenu
|
||||
|
@ -98,19 +95,19 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
|
||||
// Import
|
||||
AddMenuItem( fileMenu,
|
||||
ID_APPEND_PROJECT, _( "&Append Schematic" ),
|
||||
_( "Append another schematic project to the current loaded schematic" ),
|
||||
ID_APPEND_PROJECT, _( "&Append Schematic Sheet" ),
|
||||
_( "Append schematic sheet to current project" ),
|
||||
KiBitmap( open_document_xpm ) );
|
||||
|
||||
// Separator
|
||||
fileMenu->AppendSeparator();
|
||||
|
||||
// Save schematic project
|
||||
text = AddHotkeyName( _( "&Save Whole Schematic Project" ),
|
||||
text = AddHotkeyName( _( "&Save Schematic Project" ),
|
||||
s_Schematic_Hokeys_Descr, HK_SAVE_SCH );
|
||||
AddMenuItem( fileMenu,
|
||||
ID_SAVE_PROJECT, text,
|
||||
_( "Save all sheets in the schematic project" ),
|
||||
_( "Save all sheets in schematic project" ),
|
||||
KiBitmap( save_project_xpm ) );
|
||||
|
||||
// Save current sheet
|
||||
|
@ -134,14 +131,14 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
AddMenuItem( fileMenu,
|
||||
ID_SHEET_SET,
|
||||
_( "Pa&ge Settings" ),
|
||||
_( "Settigns for page size and information" ),
|
||||
_( "Setting for sheet size and frame references" ),
|
||||
KiBitmap( sheetset_xpm ) );
|
||||
|
||||
// Print
|
||||
AddMenuItem( fileMenu,
|
||||
wxID_PRINT,
|
||||
_( "Pri&nt" ),
|
||||
_( "Print schematic" ),
|
||||
_( "Print schematic sheet" ),
|
||||
KiBitmap( print_button_xpm ) );
|
||||
|
||||
#ifdef __WINDOWS__ // __WINDOWS__
|
||||
|
@ -262,8 +259,8 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Hierarchy
|
||||
AddMenuItem( viewMenu,
|
||||
ID_HIERARCHY,
|
||||
_( "&Hierarchy" ),
|
||||
_( "Navigate schematic hierarchy" ),
|
||||
_( "Show &Hierarchical Navigator" ),
|
||||
_( "Navigate hierarchical sheets" ),
|
||||
KiBitmap( hierarchy_nav_xpm ) );
|
||||
|
||||
// Redraw
|
||||
|
@ -402,15 +399,15 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Library
|
||||
AddMenuItem( preferencesMenu,
|
||||
ID_CONFIG_REQ,
|
||||
_( "&Library" ),
|
||||
_( "Library preferences" ),
|
||||
_( "Set &Library Path" ),
|
||||
_( "Set library preferences" ),
|
||||
KiBitmap( library_xpm ) );
|
||||
|
||||
// Colors
|
||||
AddMenuItem( preferencesMenu,
|
||||
ID_COLORS_SETUP,
|
||||
_( "&Colors" ),
|
||||
_( "Color preferences" ),
|
||||
_( "Set &Colors Scheme" ),
|
||||
_( "Set color preferences" ),
|
||||
KiBitmap( palette_xpm ) );
|
||||
|
||||
// Options (Preferences on WXMAC)
|
||||
|
@ -420,8 +417,8 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
#else
|
||||
AddMenuItem( preferencesMenu,
|
||||
wxID_PREFERENCES,
|
||||
_( "&Options" ),
|
||||
_( "Eeschema preferences" ),
|
||||
_( "Schematic Editor &Options" ),
|
||||
_( "Set Eeschema preferences" ),
|
||||
KiBitmap( preference_xpm ) );
|
||||
#endif // __WXMAC__
|
||||
|
||||
|
@ -470,21 +467,21 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Annotate
|
||||
AddMenuItem( toolsMenu,
|
||||
ID_GET_ANNOTATE,
|
||||
_( "&Annotate" ), HELP_ANNOTATE,
|
||||
_( "&Annotate Schematic" ), HELP_ANNOTATE,
|
||||
KiBitmap( annotate_xpm ) );
|
||||
|
||||
// ERC
|
||||
AddMenuItem( toolsMenu,
|
||||
ID_GET_ERC,
|
||||
_( "ER&C" ),
|
||||
_( "Electric Rules &Checker" ),
|
||||
_( "Perform electrical rule check" ),
|
||||
KiBitmap( erc_xpm ) );
|
||||
|
||||
// Generate netlist
|
||||
AddMenuItem( toolsMenu,
|
||||
ID_GET_NETLIST,
|
||||
_( "Generate &Netlist" ),
|
||||
_( "Generate the component netlist" ),
|
||||
_( "Generate &Netlist File" ),
|
||||
_( "Generate the component netlist file" ),
|
||||
KiBitmap( netlist_xpm ) );
|
||||
|
||||
// Generate bill of materials
|
||||
|
@ -520,14 +517,14 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Contents
|
||||
AddMenuItem( helpMenu,
|
||||
wxID_HELP,
|
||||
_( "&Contents" ),
|
||||
_( "Open the Eeschema handbook" ),
|
||||
_( "Eesc&hema Manual" ),
|
||||
_( "Open Eeschema manual" ),
|
||||
KiBitmap( online_help_xpm ) );
|
||||
|
||||
AddMenuItem( helpMenu,
|
||||
wxID_INDEX,
|
||||
_( "&Getting Started in KiCad" ),
|
||||
_( "Open the \"Getting Started in KiCad\" guide for beginners" ),
|
||||
_( "Open \"Getting Started in KiCad\" guide for beginners" ),
|
||||
KiBitmap( help_xpm ) );
|
||||
|
||||
// About Eeschema
|
||||
|
|
|
@ -46,8 +46,13 @@
|
|||
#include <sch_bitmap.h>
|
||||
|
||||
|
||||
// TODO(hzeller): These pairs of elmenets should be represented by an object, but don't want
|
||||
// to refactor too much right now to not get in the way with other code changes.
|
||||
static wxArrayString s_CmpNameList;
|
||||
static int s_CmpLastUnit;
|
||||
|
||||
static wxArrayString s_PowerNameList;
|
||||
static int s_LastPowerUnit;
|
||||
|
||||
|
||||
void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||
|
@ -294,7 +299,8 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
|||
case ID_SCH_PLACE_COMPONENT:
|
||||
if( (item == NULL) || (item->GetFlags() == 0) )
|
||||
{
|
||||
GetScreen()->SetCurItem( Load_Component( aDC, wxEmptyString, s_CmpNameList, true ) );
|
||||
GetScreen()->SetCurItem( Load_Component( aDC, wxEmptyString,
|
||||
s_CmpNameList, s_CmpLastUnit, true ) );
|
||||
m_canvas->SetAutoPanRequest( true );
|
||||
}
|
||||
else
|
||||
|
@ -307,7 +313,7 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
|||
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
||||
{
|
||||
GetScreen()->SetCurItem( Load_Component( aDC, wxT( "power" ),
|
||||
s_PowerNameList, false ) );
|
||||
s_PowerNameList, s_LastPowerUnit, false ) );
|
||||
m_canvas->SetAutoPanRequest( true );
|
||||
}
|
||||
else
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||
* Copyright (C) 2008-2013 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
|
||||
* Copyright (C) 2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||
* Copyright (C) 2008-2014 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2004-2014 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
|
@ -270,7 +270,7 @@ bool SCH_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
|
|||
default:
|
||||
if( is_new )
|
||||
AddMenuItem( PopMenu, ID_POPUP_END_LINE, _( "End Drawing" ),
|
||||
KiBitmap( apply_xpm ) );
|
||||
KiBitmap( checked_ok_xpm ) );
|
||||
|
||||
AddMenuItem( PopMenu, ID_POPUP_SCH_DELETE, _( "Delete Drawing" ),
|
||||
KiBitmap( delete_xpm ) );
|
||||
|
@ -677,7 +677,7 @@ void AddMenusForWire( wxMenu* PopMenu, SCH_LINE* Wire, SCH_EDIT_FRAME* frame )
|
|||
if( is_new )
|
||||
{
|
||||
msg = AddHotkeyName( _( "Wire End" ), s_Schematic_Hokeys_Descr, HK_END_CURR_LINEWIREBUS );
|
||||
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( apply_xpm ) );
|
||||
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( checked_ok_xpm ) );
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -727,7 +727,7 @@ void AddMenusForBus( wxMenu* PopMenu, SCH_LINE* Bus, SCH_EDIT_FRAME* frame )
|
|||
if( is_new )
|
||||
{
|
||||
msg = AddHotkeyName( _( "Bus End" ), s_Schematic_Hokeys_Descr, HK_END_CURR_LINEWIREBUS );
|
||||
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( apply_xpm ) );
|
||||
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( checked_ok_xpm ) );
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -768,7 +768,7 @@ void AddMenusForHierchicalSheet( wxMenu* PopMenu, SCH_SHEET* Sheet )
|
|||
|
||||
if( Sheet->GetFlags() )
|
||||
{
|
||||
AddMenuItem( PopMenu, ID_POPUP_SCH_END_SHEET, _( "Place Sheet" ), KiBitmap( apply_xpm ) );
|
||||
AddMenuItem( PopMenu, ID_POPUP_SCH_END_SHEET, _( "Place Sheet" ), KiBitmap( checked_ok_xpm ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -823,7 +823,7 @@ void AddMenusForBlock( wxMenu* PopMenu, SCH_EDIT_FRAME* frame )
|
|||
if( frame->GetScreen()->m_BlockLocate.GetCommand() == BLOCK_MOVE )
|
||||
AddMenuItem( PopMenu, ID_POPUP_ZOOM_BLOCK, _( "Window Zoom" ), KiBitmap( zoom_area_xpm ) );
|
||||
|
||||
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( apply_xpm ) );
|
||||
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( checked_ok_xpm ) );
|
||||
|
||||
// After a block move (that is also a block selection) one can reselect
|
||||
// a block function.
|
||||
|
|
|
@ -199,6 +199,16 @@ void SCH_FIELD::Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
|
|||
GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER,
|
||||
LineWidth, m_Italic, m_Bold );
|
||||
|
||||
// While moving: don't loose visual contact to which component this label belongs.
|
||||
if ( IsWireImage() )
|
||||
{
|
||||
const wxPoint origin = parentComponent->GetPosition();
|
||||
textpos = m_Pos - origin;
|
||||
textpos = parentComponent->GetScreenCoord( textpos );
|
||||
textpos += parentComponent->GetPosition();
|
||||
GRLine( clipbox, DC, origin.x, origin.y, textpos.x, textpos.y, 2, DARKGRAY );
|
||||
}
|
||||
|
||||
/* Enable this to draw the bounding box around the text field to validate
|
||||
* the bounding box calculations.
|
||||
*/
|
||||
|
|
|
@ -653,6 +653,7 @@ static void moveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPositio
|
|||
item->SetPosition( aPanel->GetParent()->GetCrossHairPosition() );
|
||||
|
||||
// Draw the item item at it's new position.
|
||||
item->SetWireImage(); // While moving, the item may choose to render differently
|
||||
item->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode );
|
||||
}
|
||||
|
||||
|
@ -697,6 +698,11 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC )
|
|||
// Never delete existing item, because it can be referenced by an undo/redo command
|
||||
// Just restore its data
|
||||
currentItem->SwapData( oldItem );
|
||||
|
||||
// Erase the wire representation before the 'normal' view is drawn.
|
||||
if ( item->IsWireImage() )
|
||||
item->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode );
|
||||
|
||||
item->ClearFlags();
|
||||
}
|
||||
|
||||
|
|
|
@ -173,6 +173,7 @@ END_EVENT_TABLE()
|
|||
|
||||
#define SCH_EDIT_FRAME_NAME wxT( "SchematicFrame" )
|
||||
|
||||
|
||||
SCH_EDIT_FRAME::SCH_EDIT_FRAME( wxWindow* aParent, const wxString& aTitle,
|
||||
const wxPoint& aPosition, const wxSize& aSize,
|
||||
long aStyle ) :
|
||||
|
@ -534,12 +535,6 @@ double SCH_EDIT_FRAME::BestZoom()
|
|||
}
|
||||
|
||||
|
||||
/* Build a filename that can be used in plot and print functions
|
||||
* for the current sheet path.
|
||||
* This filename is unique and must be used instead of the screen filename
|
||||
* when one must creates file for each sheet in the hierarchy,
|
||||
* because in complex hierarchies a sheet and a SCH_SCREEN is used more than once
|
||||
*/
|
||||
wxString SCH_EDIT_FRAME::GetUniqueFilenameForCurrentSheet()
|
||||
{
|
||||
wxFileName fn = GetScreen()->GetFileName();
|
||||
|
@ -582,11 +577,6 @@ void SCH_EDIT_FRAME::OnModify()
|
|||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Enable or disable menu entry and toolbar buttons according to current
|
||||
* conditions.
|
||||
*****************************************************************************/
|
||||
|
||||
void SCH_EDIT_FRAME::OnUpdateBlockSelected( wxUpdateUIEvent& event )
|
||||
{
|
||||
bool enable = ( GetScreen() && GetScreen()->m_BlockLocate.GetCommand() == BLOCK_MOVE );
|
||||
|
@ -782,9 +772,11 @@ void SCH_EDIT_FRAME::OnOpenCvpcb( wxCommandEvent& event )
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void SCH_EDIT_FRAME::OnOpenLibraryEditor( wxCommandEvent& event )
|
||||
{
|
||||
SCH_COMPONENT* component = NULL;
|
||||
|
||||
if( event.GetId() == ID_POPUP_SCH_CALL_LIBEDIT_AND_LOAD_CMP )
|
||||
{
|
||||
SCH_ITEM* item = GetScreen()->GetCurItem();
|
||||
|
@ -861,6 +853,7 @@ void SCH_EDIT_FRAME::OnPrint( wxCommandEvent& event )
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void SCH_EDIT_FRAME::PrintPage( wxDC* aDC, LAYER_MSK aPrintMask, bool aPrintMirrorMode,
|
||||
void* aData )
|
||||
{
|
||||
|
@ -973,6 +966,10 @@ void SCH_EDIT_FRAME::addCurrentItemToList( wxDC* aDC )
|
|||
SaveUndoItemInUndoList( undoItem );
|
||||
}
|
||||
|
||||
// Erase the wire representation before the 'normal' view is drawn.
|
||||
if ( item->IsWireImage() )
|
||||
item->Draw( m_canvas, aDC, wxPoint( 0, 0 ), g_XorMode );
|
||||
|
||||
item->ClearFlags();
|
||||
screen->SetModify();
|
||||
screen->SetCurItem( NULL );
|
||||
|
@ -989,13 +986,7 @@ void SCH_EDIT_FRAME::addCurrentItemToList( wxDC* aDC )
|
|||
}
|
||||
}
|
||||
|
||||
/* sets the main window title bar text.
|
||||
* If file name defined by SCH_SCREEN::m_FileName is not set, the title is set to the
|
||||
* application name appended with no file.
|
||||
* Otherwise, the title is set to the hierarchical sheet path and the full file name,
|
||||
* and read only is appended to the title if the user does not have write
|
||||
* access to the file.
|
||||
*/
|
||||
|
||||
void SCH_EDIT_FRAME::UpdateTitle()
|
||||
{
|
||||
wxString title;
|
||||
|
|
|
@ -53,7 +53,7 @@ bool GERBVIEW_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
|
|||
_( "Cancel Block" ), KiBitmap( cancel_xpm ) );
|
||||
PopMenu->AppendSeparator();
|
||||
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK,
|
||||
_( "Place Block" ), KiBitmap( apply_xpm ) );
|
||||
_( "Place Block" ), KiBitmap( checked_ok_xpm ) );
|
||||
AddMenuItem( PopMenu, ID_POPUP_DELETE_BLOCK,
|
||||
_( "Delete Block (ctrl + drag mouse)" ), KiBitmap( delete_xpm ) );
|
||||
}
|
||||
|
|
|
@ -97,6 +97,9 @@ protected:
|
|||
|
||||
/// The file name of the the program selected for browsing pdf files.
|
||||
wxString m_PdfBrowser;
|
||||
/// true to use the selected PDF browser, if exists, or false to use the default
|
||||
bool m_useSystemPdfBrowser;
|
||||
|
||||
wxPathList m_searchPaths;
|
||||
wxFileHistory m_fileHistory;
|
||||
wxString m_HelpFileName;
|
||||
|
@ -150,11 +153,29 @@ public:
|
|||
|
||||
wxLocale* GetLocale() { return m_Locale; }
|
||||
|
||||
/**
|
||||
* @return the full file name of the prefered PDF browser
|
||||
* ( the file name is empty if no prefered there is no PDF browser selected
|
||||
*/
|
||||
wxString GetPdfBrowserFileName() const { return m_PdfBrowser; }
|
||||
|
||||
/**
|
||||
* Set the name of a prefered PDF browser, which could be an alternate browser
|
||||
* to the system PDF browser.
|
||||
*/
|
||||
void SetPdfBrowserFileName( const wxString& aFileName ) { m_PdfBrowser = aFileName; }
|
||||
|
||||
bool UseSystemPdfBrowser() const { return m_PdfBrowser.IsEmpty(); }
|
||||
/**
|
||||
* @return true if the PDF browser is the default (system) PDF browser
|
||||
* and false if the PDF browser is the prefered (selected) browser
|
||||
* returns false if there is no selected browser
|
||||
*/
|
||||
bool UseSystemPdfBrowser() const { return m_useSystemPdfBrowser || m_PdfBrowser.IsEmpty(); }
|
||||
|
||||
/**
|
||||
* force the use of system PDF browser, even if a preferend PDF browser is set
|
||||
*/
|
||||
void ForceSystemPdfBrowser( bool aFlg ) { m_useSystemPdfBrowser = aFlg; }
|
||||
|
||||
wxFileHistory& GetFileHistory() { return m_fileHistory; }
|
||||
|
||||
|
@ -435,6 +456,26 @@ public:
|
|||
*/
|
||||
bool SetFootprintLibTablePath();
|
||||
|
||||
/**
|
||||
* Function Set3DShapesPath
|
||||
* attempts set the environment variable given by aKiSys3Dmod to a valid path.
|
||||
* (typically "KISYS3DMOD" )
|
||||
* If the environment variable is already set,
|
||||
* then it left as is to respect the wishes of the user.
|
||||
*
|
||||
* The path is determined by attempting to find the path modules/packages3d
|
||||
* files in kicad tree.
|
||||
* This may or may not be the best path but it provides the best solution for
|
||||
* backwards compatibility with the previous 3D shapes search path implementation.
|
||||
*
|
||||
* @note This must be called after #SetBinDir() is called at least on Windows.
|
||||
* Otherwise, the kicad path is not known (Windows specific)
|
||||
*
|
||||
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
|
||||
* @return false if the aKiSys3Dmod path is not valid.
|
||||
*/
|
||||
bool Set3DShapesPath( const wxString& aKiSys3Dmod );
|
||||
|
||||
const wxString& GetModuleLibraryNickname() { return m_module_nickname; }
|
||||
void SetModuleLibraryNickname( const wxString& aNickname ) { m_module_nickname = aNickname; }
|
||||
};
|
||||
|
|
|
@ -298,7 +298,7 @@ public:
|
|||
#define IS_RESIZED (1 << 5) ///< Item being resized
|
||||
#define IS_DRAGGED (1 << 6) ///< Item being dragged
|
||||
#define IS_DELETED (1 << 7)
|
||||
#define IS_WIRE_IMAGE (1 << 8)
|
||||
#define IS_WIRE_IMAGE (1 << 8) ///< Item to be drawn as wireframe while editing
|
||||
#define STARTPOINT (1 << 9)
|
||||
#define ENDPOINT (1 << 10)
|
||||
#define SELECTED (1 << 11)
|
||||
|
@ -389,11 +389,13 @@ public:
|
|||
inline bool IsModified() const { return m_Flags & IS_CHANGED; }
|
||||
inline bool IsMoving() const { return m_Flags & IS_MOVED; }
|
||||
inline bool IsDragging() const { return m_Flags & IS_DRAGGED; }
|
||||
inline bool IsWireImage() const { return m_Flags & IS_WIRE_IMAGE; }
|
||||
inline bool IsSelected() const { return m_Flags & SELECTED; }
|
||||
inline bool IsResized() const { return m_Flags & IS_RESIZED; }
|
||||
inline bool IsHighlighted() const { return m_Flags & HIGHLIGHTED; }
|
||||
inline bool IsBrightened() const { return m_Flags & BRIGHTENED; }
|
||||
|
||||
inline void SetWireImage() { SetFlags( IS_WIRE_IMAGE ); }
|
||||
inline void SetSelected() { SetFlags( SELECTED ); ViewUpdate( COLOR ); }
|
||||
inline void SetHighlighted() { SetFlags( HIGHLIGHTED ); ViewUpdate( COLOR ); }
|
||||
inline void SetBrightened() { SetFlags( BRIGHTENED ); }
|
||||
|
|
|
@ -78,7 +78,6 @@ EXTERN_BITMAP( anchor_xpm )
|
|||
EXTERN_BITMAP( annotate_down_right_xpm )
|
||||
EXTERN_BITMAP( annotate_right_down_xpm )
|
||||
EXTERN_BITMAP( annotate_xpm )
|
||||
EXTERN_BITMAP( apply_xpm )
|
||||
EXTERN_BITMAP( auto_associe_xpm )
|
||||
EXTERN_BITMAP( auto_delete_track_xpm )
|
||||
EXTERN_BITMAP( auto_track_width_xpm )
|
||||
|
@ -411,6 +410,7 @@ EXTERN_BITMAP( post_module_xpm )
|
|||
EXTERN_BITMAP( preference_xpm )
|
||||
EXTERN_BITMAP( print_button_xpm )
|
||||
EXTERN_BITMAP( ps_router_xpm )
|
||||
EXTERN_BITMAP( py_script_xpm )
|
||||
EXTERN_BITMAP( ratsnest_xpm )
|
||||
EXTERN_BITMAP( read_setup_xpm )
|
||||
EXTERN_BITMAP( redo_xpm )
|
||||
|
|
|
@ -119,23 +119,25 @@ public:
|
|||
* Function IsElementVisible
|
||||
* tests whether a given element category is visible. Keep this as an
|
||||
* inline function.
|
||||
* @param aPCB_VISIBLE is from the enum by the same name
|
||||
* @param aElementCategory is from the enum by the same name
|
||||
* @return bool - true if the element is visible.
|
||||
* @see enum PCB_VISIBLE
|
||||
*/
|
||||
bool IsElementVisible( int aPCB_VISIBLE ) const
|
||||
bool IsElementVisible( int aElementCategory ) const
|
||||
{
|
||||
return bool( m_VisibleElements & (1 << aPCB_VISIBLE) );
|
||||
assert( aElementCategory >= 0 && aElementCategory < END_PCB_VISIBLE_LIST );
|
||||
|
||||
return ( m_VisibleElements & ( 1 << aElementCategory ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Function SetElementVisibility
|
||||
* changes the visibility of an element category
|
||||
* @param aPCB_VISIBLE is from the enum by the same name
|
||||
* @param aElementCategory is from the enum by the same name
|
||||
* @param aNewState = The new visibility state of the element category
|
||||
* @see enum PCB_VISIBLE
|
||||
*/
|
||||
void SetElementVisibility( int aPCB_VISIBLE, bool aNewState );
|
||||
void SetElementVisibility( int aElementCategory, bool aNewState );
|
||||
|
||||
/**
|
||||
* Function GetEnabledLayers
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -445,7 +445,14 @@ namespace detail
|
|||
# define GLM_RESTRICT __declspec(restrict)
|
||||
# define GLM_RESTRICT_VAR __restrict
|
||||
# define GLM_CONSTEXPR
|
||||
#elif((GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC)) && (GLM_COMPILER >= GLM_COMPILER_GCC31))
|
||||
#elif(GLM_COMPILER & GLM_COMPILER_INTEL)
|
||||
# define GLM_DEPRECATED
|
||||
# define GLM_ALIGN(x) __declspec(align(x))
|
||||
# define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
|
||||
# define GLM_RESTRICT
|
||||
# define GLM_RESTRICT_VAR __restrict
|
||||
# define GLM_CONSTEXPR
|
||||
#elif(((GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC)) && (GLM_COMPILER >= GLM_COMPILER_GCC31)) || (GLM_COMPILER & GLM_COMPILER_CLANG))
|
||||
# define GLM_DEPRECATED __attribute__((__deprecated__))
|
||||
# define GLM_ALIGN(x) __attribute__((aligned(x)))
|
||||
# define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -60,8 +60,8 @@ namespace detail
|
|||
typedef T value_type;
|
||||
|
||||
protected:
|
||||
value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
|
||||
const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
|
||||
GLM_FUNC_QUALIFIER value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
|
||||
GLM_FUNC_QUALIFIER const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
|
||||
|
||||
// Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
|
||||
// The size 1 buffer is assumed to aligned to the actual members so that the
|
||||
|
@ -77,19 +77,19 @@ namespace detail
|
|||
template <typename T, typename V, int E0, int E1>
|
||||
struct _swizzle_base1<T,V,E0,E1,-1,-2,2> : public _swizzle_base0<T,2>
|
||||
{
|
||||
V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
|
||||
GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
|
||||
};
|
||||
|
||||
template <typename T, typename V, int E0, int E1, int E2>
|
||||
struct _swizzle_base1<T,V,E0,E1,E2,-1,3> : public _swizzle_base0<T,3>
|
||||
{
|
||||
V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
|
||||
GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
|
||||
};
|
||||
|
||||
template <typename T, typename V, int E0, int E1, int E2, int E3>
|
||||
struct _swizzle_base1<T,V,E0,E1,E2,E3,4> : public _swizzle_base0<T,4>
|
||||
{
|
||||
V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
|
||||
GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
|
||||
};
|
||||
|
||||
// Internal class for implementing swizzle operators
|
||||
|
@ -110,67 +110,73 @@ namespace detail
|
|||
typedef VecType vec_type;
|
||||
typedef ValueType value_type;
|
||||
|
||||
_swizzle_base2& operator= (const ValueType& t)
|
||||
GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const ValueType& t)
|
||||
{
|
||||
for (int i = 0; i < N; ++i)
|
||||
(*this)[i] = t;
|
||||
return *this;
|
||||
}
|
||||
|
||||
_swizzle_base2& operator= (const VecType& that)
|
||||
GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
void operator() (value_type& e, value_type& t) { e = t; }
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e = t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void operator -= (const VecType& that)
|
||||
GLM_FUNC_QUALIFIER void operator -= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
void operator() (value_type& e, value_type& t) { e -= t; }
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e -= t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
void operator += (const VecType& that)
|
||||
GLM_FUNC_QUALIFIER void operator += (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
void operator() (value_type& e, value_type& t) { e += t; }
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e += t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
void operator *= (const VecType& that)
|
||||
GLM_FUNC_QUALIFIER void operator *= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
void operator() (value_type& e, value_type& t) { e *= t; }
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e *= t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
void operator /= (const VecType& that)
|
||||
GLM_FUNC_QUALIFIER void operator /= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
void operator() (value_type& e, value_type& t) { e /= t; }
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e /= t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
value_type& operator[] (size_t i)
|
||||
GLM_FUNC_QUALIFIER value_type& operator[] (size_t i)
|
||||
{
|
||||
static const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
#ifndef __CUDA_ARCH__
|
||||
static
|
||||
#endif
|
||||
const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
return this->elem(offset_dst[i]);
|
||||
}
|
||||
value_type operator[] (size_t i) const
|
||||
GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
|
||||
{
|
||||
static const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
#ifndef __CUDA_ARCH__
|
||||
static
|
||||
#endif
|
||||
const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
return this->elem(offset_dst[i]);
|
||||
}
|
||||
protected:
|
||||
template <typename T>
|
||||
void _apply_op(const VecType& that, T op)
|
||||
GLM_FUNC_QUALIFIER void _apply_op(const VecType& that, T op)
|
||||
{
|
||||
// Make a copy of the data in this == &that.
|
||||
// The copier should optimize out the copy in cases where the function is
|
||||
|
@ -191,11 +197,14 @@ namespace detail
|
|||
typedef ValueType value_type;
|
||||
|
||||
struct Stub {};
|
||||
_swizzle_base2& operator= (Stub const &) {}
|
||||
GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const &) { return *this; }
|
||||
|
||||
value_type operator[] (size_t i) const
|
||||
GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
|
||||
{
|
||||
static const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
#ifndef __CUDA_ARCH__
|
||||
static
|
||||
#endif
|
||||
const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
return this->elem(offset_dst[i]);
|
||||
}
|
||||
};
|
||||
|
@ -207,7 +216,7 @@ namespace detail
|
|||
|
||||
using base_type::operator=;
|
||||
|
||||
operator VecType () const { return (*this)(); }
|
||||
GLM_FUNC_QUALIFIER operator VecType () const { return (*this)(); }
|
||||
};
|
||||
|
||||
//
|
||||
|
@ -223,17 +232,17 @@ namespace detail
|
|||
//
|
||||
#define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
|
||||
_GLM_SWIZZLE_TEMPLATE2 \
|
||||
V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
{ \
|
||||
return a() OPERAND b(); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
|
||||
{ \
|
||||
return a() OPERAND b; \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return a OPERAND b(); \
|
||||
}
|
||||
|
@ -243,12 +252,12 @@ namespace detail
|
|||
//
|
||||
#define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
|
||||
{ \
|
||||
return a() OPERAND b; \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return a OPERAND b(); \
|
||||
}
|
||||
|
@ -258,7 +267,7 @@ namespace detail
|
|||
//
|
||||
#define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
|
||||
{ \
|
||||
return FUNCTION(a()); \
|
||||
}
|
||||
|
@ -268,22 +277,22 @@ namespace detail
|
|||
//
|
||||
#define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \
|
||||
_GLM_SWIZZLE_TEMPLATE2 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
{ \
|
||||
return FUNCTION(a(), b()); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return FUNCTION(a(), b()); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
|
||||
{ \
|
||||
return FUNCTION(a(), b); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return FUNCTION(a, b()); \
|
||||
}
|
||||
|
@ -293,22 +302,22 @@ namespace detail
|
|||
//
|
||||
#define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \
|
||||
_GLM_SWIZZLE_TEMPLATE2 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
|
||||
{ \
|
||||
return FUNCTION(a(), b(), c); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
{ \
|
||||
return FUNCTION(a(), b(), c); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
|
||||
{ \
|
||||
return FUNCTION(a(), b, c); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
{ \
|
||||
return FUNCTION(a, b(), c); \
|
||||
}
|
||||
|
@ -640,6 +649,22 @@ namespace glm
|
|||
struct { glm::detail::swizzle<4,T,P,0,2,3,1> E0 ## E2 ## E3 ## E1; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,2,3,2> E0 ## E2 ## E3 ## E2; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,2,3,3> E0 ## E2 ## E3 ## E3; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,0,0> E0 ## E3 ## E0 ## E0; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,0,1> E0 ## E3 ## E0 ## E1; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,0,2> E0 ## E3 ## E0 ## E2; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,0,3> E0 ## E3 ## E0 ## E3; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,1,0> E0 ## E3 ## E1 ## E0; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,1,1> E0 ## E3 ## E1 ## E1; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,1,2> E0 ## E3 ## E1 ## E2; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,1,3> E0 ## E3 ## E1 ## E3; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,2,0> E0 ## E3 ## E2 ## E0; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,2,1> E0 ## E3 ## E2 ## E1; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,2,2> E0 ## E3 ## E2 ## E2; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,2,3> E0 ## E3 ## E2 ## E3; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,3,0> E0 ## E3 ## E3 ## E0; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,3,1> E0 ## E3 ## E3 ## E1; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,3,2> E0 ## E3 ## E3 ## E2; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,0,3,3,3> E0 ## E3 ## E3 ## E3; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
|
||||
struct { glm::detail::swizzle<4,T,P,1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -50,7 +50,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/abs.xml">GLSL abs man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType abs(genType const & x);
|
||||
GLM_FUNC_DECL genType abs(genType const & x);
|
||||
|
||||
/// Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
|
||||
///
|
||||
|
@ -59,7 +59,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sign.xml">GLSL sign man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType sign(genType const & x);
|
||||
GLM_FUNC_DECL genType sign(genType const & x);
|
||||
|
||||
/// Returns a value equal to the nearest integer that is less then or equal to x.
|
||||
///
|
||||
|
@ -68,7 +68,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/floor.xml">GLSL floor man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType floor(genType const & x);
|
||||
GLM_FUNC_DECL genType floor(genType const & x);
|
||||
|
||||
/// Returns a value equal to the nearest integer to x
|
||||
/// whose absolute value is not larger than the absolute value of x.
|
||||
|
@ -78,7 +78,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/trunc.xml">GLSL trunc man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType trunc(genType const & x);
|
||||
GLM_FUNC_DECL genType trunc(genType const & x);
|
||||
|
||||
/// Returns a value equal to the nearest integer to x.
|
||||
/// The fraction 0.5 will round in a direction chosen by the
|
||||
|
@ -91,7 +91,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/round.xml">GLSL round man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType round(genType const & x);
|
||||
GLM_FUNC_DECL genType round(genType const & x);
|
||||
|
||||
/// Returns a value equal to the nearest integer to x.
|
||||
/// A fractional part of 0.5 will round toward the nearest even
|
||||
|
@ -103,7 +103,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
/// @see <a href="http://developer.amd.com/documentation/articles/pages/New-Round-to-Even-Technique.aspx">New round to even technique</a>
|
||||
template <typename genType>
|
||||
genType roundEven(genType const & x);
|
||||
GLM_FUNC_DECL genType roundEven(genType const & x);
|
||||
|
||||
/// Returns a value equal to the nearest integer
|
||||
/// that is greater than or equal to x.
|
||||
|
@ -113,7 +113,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/ceil.xml">GLSL ceil man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType ceil(genType const & x);
|
||||
GLM_FUNC_DECL genType ceil(genType const & x);
|
||||
|
||||
/// Return x - floor(x).
|
||||
///
|
||||
|
@ -122,7 +122,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/fract.xml">GLSL fract man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType fract(genType const & x);
|
||||
GLM_FUNC_DECL genType fract(genType const & x);
|
||||
|
||||
/// Modulus. Returns x - y * floor(x / y)
|
||||
/// for each component in x using the floating point value y.
|
||||
|
@ -132,7 +132,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/mod.xml">GLSL mod man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType mod(
|
||||
GLM_FUNC_DECL genType mod(
|
||||
genType const & x,
|
||||
genType const & y);
|
||||
|
||||
|
@ -144,7 +144,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/mod.xml">GLSL mod man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType mod(
|
||||
GLM_FUNC_DECL genType mod(
|
||||
genType const & x,
|
||||
typename genType::value_type const & y);
|
||||
|
||||
|
@ -158,7 +158,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/modf.xml">GLSL modf man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType modf(
|
||||
GLM_FUNC_DECL genType modf(
|
||||
genType const & x,
|
||||
genType & i);
|
||||
|
||||
|
@ -169,12 +169,12 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/min.xml">GLSL min man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType min(
|
||||
GLM_FUNC_DECL genType min(
|
||||
genType const & x,
|
||||
genType const & y);
|
||||
|
||||
template <typename genType>
|
||||
genType min(
|
||||
GLM_FUNC_DECL genType min(
|
||||
genType const & x,
|
||||
typename genType::value_type const & y);
|
||||
|
||||
|
@ -185,12 +185,12 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/max.xml">GLSL max man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType max(
|
||||
GLM_FUNC_DECL genType max(
|
||||
genType const & x,
|
||||
genType const & y);
|
||||
|
||||
template <typename genType>
|
||||
genType max(
|
||||
GLM_FUNC_DECL genType max(
|
||||
genType const & x,
|
||||
typename genType::value_type const & y);
|
||||
|
||||
|
@ -202,33 +202,33 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/clamp.xml">GLSL clamp man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType clamp(
|
||||
GLM_FUNC_DECL genType clamp(
|
||||
genType const & x,
|
||||
genType const & minVal,
|
||||
genType const & maxVal);
|
||||
|
||||
template <typename genType>
|
||||
genType clamp(
|
||||
GLM_FUNC_DECL genType clamp(
|
||||
genType const & x,
|
||||
typename genType::value_type const & minVal,
|
||||
typename genType::value_type const & maxVal);
|
||||
|
||||
//! @return If genTypeU is a floating scalar or vector:
|
||||
//! Returns x * (1.0 - a) + y * a, i.e., the linear blend of
|
||||
//! x and y using the floating-point value a.
|
||||
//! The value for a is not restricted to the range [0, 1].
|
||||
//!
|
||||
//! @return If genTypeU is a boolean scalar or vector:
|
||||
//! Selects which vector each returned component comes
|
||||
//! from. For a component of a that is false, the
|
||||
//! corresponding component of x is returned. For a
|
||||
//! component of a that is true, the corresponding
|
||||
//! component of y is returned. Components of x and y that
|
||||
//! are not selected are allowed to be invalid floating point
|
||||
//! values and will have no effect on the results. Thus, this
|
||||
//! provides different functionality than
|
||||
//! genType mix(genType x, genType y, genType(a))
|
||||
//! where a is a Boolean vector.
|
||||
/// If genTypeU is a floating scalar or vector:
|
||||
/// Returns x * (1.0 - a) + y * a, i.e., the linear blend of
|
||||
/// x and y using the floating-point value a.
|
||||
/// The value for a is not restricted to the range [0, 1].
|
||||
///
|
||||
/// If genTypeU is a boolean scalar or vector:
|
||||
/// Selects which vector each returned component comes
|
||||
/// from. For a component of <a> that is false, the
|
||||
/// corresponding component of x is returned. For a
|
||||
/// component of a that is true, the corresponding
|
||||
/// component of y is returned. Components of x and y that
|
||||
/// are not selected are allowed to be invalid floating point
|
||||
/// values and will have no effect on the results. Thus, this
|
||||
/// provides different functionality than
|
||||
/// genType mix(genType x, genType y, genType(a))
|
||||
/// where a is a Boolean vector.
|
||||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/mix.xml">GLSL mix man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
|
@ -256,19 +256,19 @@ namespace glm
|
|||
/// glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
|
||||
/// @endcode
|
||||
template <typename genTypeT, typename genTypeU>
|
||||
genTypeT mix(genTypeT const & x, genTypeT const & y, genTypeU const & a);
|
||||
GLM_FUNC_DECL genTypeT mix(genTypeT const & x, genTypeT const & y, genTypeU const & a);
|
||||
|
||||
//! Returns 0.0 if x < edge, otherwise it returns 1.0.
|
||||
//!
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/step.xml">GLSL step man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType step(
|
||||
GLM_FUNC_DECL genType step(
|
||||
genType const & edge,
|
||||
genType const & x);
|
||||
|
||||
template <typename genType>
|
||||
genType step(
|
||||
GLM_FUNC_DECL genType step(
|
||||
typename genType::value_type const & edge,
|
||||
genType const & x);
|
||||
|
||||
|
@ -278,8 +278,8 @@ namespace glm
|
|||
/// you would want a threshold function with a smooth
|
||||
/// transition. This is equivalent to:
|
||||
/// genType t;
|
||||
/// t = clamp ((x – edge0) / (edge1 – edge0), 0, 1);
|
||||
/// return t * t * (3 – 2 * t);
|
||||
/// t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
|
||||
/// return t * t * (3 - 2 * t);
|
||||
/// Results are undefined if edge0 >= edge1.
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
|
@ -287,13 +287,13 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/smoothstep.xml">GLSL smoothstep man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType smoothstep(
|
||||
GLM_FUNC_DECL genType smoothstep(
|
||||
genType const & edge0,
|
||||
genType const & edge1,
|
||||
genType const & x);
|
||||
|
||||
template <typename genType>
|
||||
genType smoothstep(
|
||||
GLM_FUNC_DECL genType smoothstep(
|
||||
typename genType::value_type const & edge0,
|
||||
typename genType::value_type const & edge1,
|
||||
genType const & x);
|
||||
|
@ -311,7 +311,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/isnan.xml">GLSL isnan man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
typename genType::bool_type isnan(genType const & x);
|
||||
GLM_FUNC_DECL typename genType::bool_type isnan(genType const & x);
|
||||
|
||||
/// Returns true if x holds a positive infinity or negative
|
||||
/// infinity representation in the underlying implementation's
|
||||
|
@ -324,7 +324,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/isinf.xml">GLSL isinf man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
typename genType::bool_type isinf(genType const & x);
|
||||
GLM_FUNC_DECL typename genType::bool_type isinf(genType const & x);
|
||||
|
||||
/// Returns a signed integer value representing
|
||||
/// the encoding of a floating-point value. The floatingpoint
|
||||
|
@ -336,7 +336,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/floatBitsToInt.xml">GLSL floatBitsToInt man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType, typename genIType>
|
||||
genIType floatBitsToInt(genType const & value);
|
||||
GLM_FUNC_DECL genIType floatBitsToInt(genType const & value);
|
||||
|
||||
/// Returns a unsigned integer value representing
|
||||
/// the encoding of a floating-point value. The floatingpoint
|
||||
|
@ -348,7 +348,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/floatBitsToUint.xml">GLSL floatBitsToUint man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType, typename genUType>
|
||||
genUType floatBitsToUint(genType const & value);
|
||||
GLM_FUNC_DECL genUType floatBitsToUint(genType const & value);
|
||||
|
||||
/// Returns a floating-point value corresponding to a signed
|
||||
/// integer encoding of a floating-point value.
|
||||
|
@ -364,7 +364,7 @@ namespace glm
|
|||
///
|
||||
/// @todo Clarify this declaration, we don't need to actually specify the return type
|
||||
template <typename genType, typename genIType>
|
||||
genType intBitsToFloat(genIType const & value);
|
||||
GLM_FUNC_DECL genType intBitsToFloat(genIType const & value);
|
||||
|
||||
/// Returns a floating-point value corresponding to a
|
||||
/// unsigned integer encoding of a floating-point value.
|
||||
|
@ -380,7 +380,7 @@ namespace glm
|
|||
///
|
||||
/// @todo Clarify this declaration, we don't need to actually specify the return type
|
||||
template <typename genType, typename genUType>
|
||||
genType uintBitsToFloat(genUType const & value);
|
||||
GLM_FUNC_DECL genType uintBitsToFloat(genUType const & value);
|
||||
|
||||
/// Computes and returns a * b + c.
|
||||
///
|
||||
|
@ -389,7 +389,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/fma.xml">GLSL fma man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType>
|
||||
genType fma(genType const & a, genType const & b, genType const & c);
|
||||
GLM_FUNC_DECL genType fma(genType const & a, genType const & b, genType const & c);
|
||||
|
||||
/// Splits x into a floating-point significand in the range
|
||||
/// [0.5, 1.0) and an integral exponent of two, such that:
|
||||
|
@ -406,7 +406,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/frexp.xml">GLSL frexp man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType, typename genIType>
|
||||
genType frexp(genType const & x, genIType & exp);
|
||||
GLM_FUNC_DECL genType frexp(genType const & x, genIType & exp);
|
||||
|
||||
/// Builds a floating-point number from x and the
|
||||
/// corresponding integral exponent of two in exp, returning:
|
||||
|
@ -420,7 +420,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/ldexp.xml">GLSL ldexp man page</a>;
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
|
||||
template <typename genType, typename genIType>
|
||||
genType ldexp(genType const & x, genIType const & exp);
|
||||
GLM_FUNC_DECL genType ldexp(genType const & x, genIType const & exp);
|
||||
|
||||
/// @}
|
||||
}//namespace glm
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -36,7 +36,7 @@ namespace detail
|
|||
template <typename genFIType>
|
||||
struct Abs_<genFIType, true>
|
||||
{
|
||||
static genFIType get(genFIType const & x)
|
||||
GLM_FUNC_QUALIFIER static genFIType get(genFIType const & x)
|
||||
{
|
||||
GLM_STATIC_ASSERT(
|
||||
detail::type<genFIType>::is_float ||
|
||||
|
@ -49,7 +49,7 @@ namespace detail
|
|||
template <typename genFIType>
|
||||
struct Abs_<genFIType, false>
|
||||
{
|
||||
static genFIType get(genFIType const & x)
|
||||
GLM_FUNC_QUALIFIER static genFIType get(genFIType const & x)
|
||||
{
|
||||
GLM_STATIC_ASSERT(
|
||||
detail::type<genFIType>::is_uint, "'abs' only accept floating-point and integer inputs");
|
||||
|
@ -275,7 +275,7 @@ namespace detail
|
|||
//// Only valid if (INT_MIN <= x-y <= INT_MAX)
|
||||
//// min(x,y)
|
||||
//r = y + ((x - y) & ((x - y) >> (sizeof(int) *
|
||||
//CHAR_BIT – 1)));
|
||||
//CHAR_BIT - 1)));
|
||||
//// max(x,y)
|
||||
//r = x - ((x - y) & ((x - y) >> (sizeof(int) *
|
||||
//CHAR_BIT - 1)));
|
||||
|
@ -420,93 +420,87 @@ namespace detail
|
|||
}
|
||||
|
||||
// mix
|
||||
template <typename genTypeT, typename genTypeU>
|
||||
GLM_FUNC_QUALIFIER genTypeT mix
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType mix
|
||||
(
|
||||
genTypeT const & x,
|
||||
genTypeT const & y,
|
||||
genTypeU const & a
|
||||
genType const & x,
|
||||
genType const & y,
|
||||
genType const & a
|
||||
)
|
||||
{
|
||||
// It could be a vector too
|
||||
//GLM_STATIC_ASSERT(
|
||||
// detail::type<genTypeT>::is_float &&
|
||||
// detail::type<genTypeU>::is_float);
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float , "'genType' is not floating-point type");
|
||||
|
||||
//return x + a * (y - x);
|
||||
return genTypeT(genTypeU(x) + a * genTypeU(y - x));
|
||||
return x + a * (y - x);
|
||||
}
|
||||
|
||||
template <typename valTypeA, typename valTypeB>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<valTypeA> mix
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<valType> mix
|
||||
(
|
||||
detail::tvec2<valTypeA> const & x,
|
||||
detail::tvec2<valTypeA> const & y,
|
||||
valTypeB const & a
|
||||
detail::tvec2<valType> const & x,
|
||||
detail::tvec2<valType> const & y,
|
||||
valType const & a
|
||||
)
|
||||
{
|
||||
return detail::tvec2<valTypeA>(
|
||||
detail::tvec2<valTypeB>(x) + a * detail::tvec2<valTypeB>(y - x));
|
||||
GLM_STATIC_ASSERT(detail::type<valType>::is_float , "'genType' is not floating-point type");
|
||||
|
||||
return x + a * (y - x);
|
||||
}
|
||||
|
||||
template <typename valTypeA, typename valTypeB>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<valTypeA> mix
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<valType> mix
|
||||
(
|
||||
detail::tvec3<valTypeA> const & x,
|
||||
detail::tvec3<valTypeA> const & y,
|
||||
valTypeB const & a
|
||||
detail::tvec3<valType> const & x,
|
||||
detail::tvec3<valType> const & y,
|
||||
valType const & a
|
||||
)
|
||||
{
|
||||
return detail::tvec3<valTypeA>(
|
||||
detail::tvec3<valTypeB>(x) + a * detail::tvec3<valTypeB>(y - x));
|
||||
return x + a * (y - x);
|
||||
}
|
||||
|
||||
template <typename valTypeA, typename valTypeB>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<valTypeA> mix
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<valType> mix
|
||||
(
|
||||
detail::tvec4<valTypeA> const & x,
|
||||
detail::tvec4<valTypeA> const & y,
|
||||
valTypeB const & a
|
||||
detail::tvec4<valType> const & x,
|
||||
detail::tvec4<valType> const & y,
|
||||
valType const & a
|
||||
)
|
||||
{
|
||||
return detail::tvec4<valTypeA>(
|
||||
detail::tvec4<valTypeB>(x) + a * detail::tvec4<valTypeB>(y - x));
|
||||
return x + a * (y - x);
|
||||
}
|
||||
|
||||
template <typename valTypeA, typename valTypeB>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<valTypeA> mix
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<valType> mix
|
||||
(
|
||||
detail::tvec2<valTypeA> const & x,
|
||||
detail::tvec2<valTypeA> const & y,
|
||||
detail::tvec2<valTypeB> const & a
|
||||
detail::tvec2<valType> const & x,
|
||||
detail::tvec2<valType> const & y,
|
||||
detail::tvec2<valType> const & a
|
||||
)
|
||||
{
|
||||
return detail::tvec2<valTypeA>(
|
||||
detail::tvec2<valTypeB>(x) + a * detail::tvec2<valTypeB>(y - x));
|
||||
return x + a * (y - x);
|
||||
}
|
||||
|
||||
template <typename valTypeA, typename valTypeB>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<valTypeA> mix
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<valType> mix
|
||||
(
|
||||
detail::tvec3<valTypeA> const & x,
|
||||
detail::tvec3<valTypeA> const & y,
|
||||
detail::tvec3<valTypeB> const & a
|
||||
detail::tvec3<valType> const & x,
|
||||
detail::tvec3<valType> const & y,
|
||||
detail::tvec3<valType> const & a
|
||||
)
|
||||
{
|
||||
return detail::tvec3<valTypeA>(
|
||||
detail::tvec3<valTypeB>(x) + a * detail::tvec3<valTypeB>(y - x));
|
||||
GLM_STATIC_ASSERT(detail::type<valType>::is_float , "'genType' is not floating-point type");
|
||||
|
||||
return x + a * (y - x);
|
||||
}
|
||||
|
||||
template <typename valTypeA, typename valTypeB>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<valTypeA> mix
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<valType> mix
|
||||
(
|
||||
detail::tvec4<valTypeA> const & x,
|
||||
detail::tvec4<valTypeA> const & y,
|
||||
detail::tvec4<valTypeB> const & a
|
||||
detail::tvec4<valType> const & x,
|
||||
detail::tvec4<valType> const & y,
|
||||
detail::tvec4<valType> const & a
|
||||
)
|
||||
{
|
||||
return detail::tvec4<valTypeA>(
|
||||
detail::tvec4<valTypeB>(x) + a * detail::tvec4<valTypeB>(y - x));
|
||||
return x + a * (y - x);
|
||||
}
|
||||
|
||||
//template <typename genTypeT>
|
||||
|
@ -525,15 +519,63 @@ namespace detail
|
|||
// return x + a * (y - x);
|
||||
//}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType mix
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER float mix
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y,
|
||||
float const & x,
|
||||
float const & y,
|
||||
bool const & a
|
||||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'mix' only accept floating-point inputs");
|
||||
return a ? y : x;
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER double mix
|
||||
(
|
||||
double const & x,
|
||||
double const & y,
|
||||
bool const & a
|
||||
)
|
||||
{
|
||||
return a ? y : x;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T> mix
|
||||
(
|
||||
detail::tvec2<T> const & x,
|
||||
detail::tvec2<T> const & y,
|
||||
bool a
|
||||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<T>::is_float, "'mix' only accept floating-point inputs");
|
||||
|
||||
return a ? y : x;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T> mix
|
||||
(
|
||||
detail::tvec3<T> const & x,
|
||||
detail::tvec3<T> const & y,
|
||||
bool a
|
||||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<T>::is_float, "'mix' only accept floating-point inputs");
|
||||
|
||||
return a ? y : x;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T> mix
|
||||
(
|
||||
detail::tvec4<T> const & x,
|
||||
detail::tvec4<T> const & y,
|
||||
bool a
|
||||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<T>::is_float, "'mix' only accept floating-point inputs");
|
||||
|
||||
return a ? y : x;
|
||||
}
|
||||
|
@ -552,8 +594,7 @@ namespace detail
|
|||
for
|
||||
(
|
||||
typename detail::tvec2<T>::size_type i = 0;
|
||||
i < detail::tvec2<T>::value_size();
|
||||
++i
|
||||
i < x.length(); ++i
|
||||
)
|
||||
{
|
||||
result[i] = a[i] ? y[i] : x[i];
|
||||
|
@ -575,8 +616,7 @@ namespace detail
|
|||
for
|
||||
(
|
||||
typename detail::tvec3<T>::size_type i = 0;
|
||||
i < detail::tvec3<T>::value_size();
|
||||
++i
|
||||
i < x.length(); ++i
|
||||
)
|
||||
{
|
||||
result[i] = a[i] ? y[i] : x[i];
|
||||
|
@ -598,8 +638,7 @@ namespace detail
|
|||
for
|
||||
(
|
||||
typename detail::tvec4<T>::size_type i = 0;
|
||||
i < detail::tvec4<T>::value_size();
|
||||
++i
|
||||
i < x.length(); ++i
|
||||
)
|
||||
{
|
||||
result[i] = a[i] ? y[i] : x[i];
|
||||
|
@ -803,17 +842,19 @@ namespace detail
|
|||
{
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'isnan' only accept floating-point inputs");
|
||||
|
||||
# if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_INTEL))
|
||||
# if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_INTEL))
|
||||
return _isnan(x) != 0;
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_GCC)
|
||||
# elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG))
|
||||
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
|
||||
return _isnan(x) != 0;
|
||||
# else
|
||||
return std::isnan(x);
|
||||
# endif
|
||||
# else
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_CUDA)
|
||||
return isnan(x) != 0;
|
||||
# else
|
||||
return std::isnan(x);
|
||||
# endif
|
||||
# endif
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
@ -858,32 +899,20 @@ namespace detail
|
|||
{
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'isinf' only accept floating-point inputs");
|
||||
|
||||
# if(GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC))
|
||||
# if(GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC))
|
||||
return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF;
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_GCC)
|
||||
# elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG))
|
||||
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
|
||||
return _isinf(x) != 0;
|
||||
# else
|
||||
return std::isinf(x);
|
||||
# endif
|
||||
# else
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_CUDA)
|
||||
// http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/group__CUDA__MATH__DOUBLE_g13431dd2b40b51f9139cbb7f50c18fab.html#g13431dd2b40b51f9139cbb7f50c18fab
|
||||
return isinf(double(x)) != 0;
|
||||
# else
|
||||
return std::isinf(x);
|
||||
# endif
|
||||
/*
|
||||
# if(GLM_COMPILER & GLM_COMPILER_VC)
|
||||
return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF;
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_GCC)
|
||||
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
|
||||
return _isinf(x) != 0;
|
||||
# else
|
||||
return std::isinf(x);
|
||||
# endif
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_INTEL)
|
||||
return isinf(x) != 0;
|
||||
# else
|
||||
return std::isinf(x);
|
||||
# endif
|
||||
*/
|
||||
# endif
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -41,16 +41,16 @@ namespace glm
|
|||
/// @addtogroup core_func_exponential
|
||||
/// @{
|
||||
|
||||
/// Returns x raised to the y power.
|
||||
/// Returns 'base' raised to the power 'exponent'.
|
||||
///
|
||||
/// @param x pow function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
|
||||
/// @param y
|
||||
/// @param base Floating point value. pow function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
|
||||
/// @param exponent Floating point value representing the 'exponent'.
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/pow.xml">GLSL pow man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a>
|
||||
template <typename genType>
|
||||
genType pow(genType const & x, genType const & y);
|
||||
GLM_FUNC_DECL genType pow(genType const & base, genType const & exponent);
|
||||
|
||||
/// Returns the natural exponentiation of x, i.e., e^x.
|
||||
///
|
||||
|
@ -60,7 +60,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/exp.xml">GLSL exp man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a>
|
||||
template <typename genType>
|
||||
genType exp(genType const & x);
|
||||
GLM_FUNC_DECL genType exp(genType const & x);
|
||||
|
||||
/// Returns the natural logarithm of x, i.e.,
|
||||
/// returns the value y which satisfies the equation x = e^y.
|
||||
|
@ -72,7 +72,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/log.xml">GLSL log man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a>
|
||||
template <typename genType>
|
||||
genType log(genType const & x);
|
||||
GLM_FUNC_DECL genType log(genType const & x);
|
||||
|
||||
/// Returns 2 raised to the x power.
|
||||
///
|
||||
|
@ -82,7 +82,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/exp2.xml">GLSL exp2 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a>
|
||||
template <typename genType>
|
||||
genType exp2(genType const & x);
|
||||
GLM_FUNC_DECL genType exp2(genType const & x);
|
||||
|
||||
/// Returns the base 2 log of x, i.e., returns the value y,
|
||||
/// which satisfies the equation x = 2 ^ y.
|
||||
|
@ -93,7 +93,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/log2.xml">GLSL log2 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a>
|
||||
template <typename genType>
|
||||
genType log2(genType const & x);
|
||||
GLM_FUNC_DECL genType log2(genType const & x);
|
||||
|
||||
/// Returns the positive square root of x.
|
||||
///
|
||||
|
@ -103,7 +103,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sqrt.xml">GLSL sqrt man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a>
|
||||
template <typename genType>
|
||||
genType sqrt(genType const & x);
|
||||
GLM_FUNC_DECL genType sqrt(genType const & x);
|
||||
|
||||
/// Returns the reciprocal of the positive square root of x.
|
||||
///
|
||||
|
@ -113,7 +113,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inversesqrt.xml">GLSL inversesqrt man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a>
|
||||
template <typename genType>
|
||||
genType inversesqrt(genType const & x);
|
||||
GLM_FUNC_DECL genType inversesqrt(genType const & x);
|
||||
|
||||
/// @}
|
||||
}//namespace glm
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -146,6 +146,7 @@ namespace _detail
|
|||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'inversesqrt' only accept floating-point input");
|
||||
assert(x > genType(0));
|
||||
|
||||
return genType(1) / ::std::sqrt(x);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -48,7 +48,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/length.xml">GLSL length man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename genType>
|
||||
typename genType::value_type length(
|
||||
GLM_FUNC_DECL typename genType::value_type length(
|
||||
genType const & x);
|
||||
|
||||
/// Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
|
||||
|
@ -58,7 +58,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/distance.xml">GLSL distance man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename genType>
|
||||
typename genType::value_type distance(
|
||||
GLM_FUNC_DECL typename genType::value_type distance(
|
||||
genType const & p0,
|
||||
genType const & p1);
|
||||
|
||||
|
@ -69,7 +69,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/dot.xml">GLSL dot man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename genType>
|
||||
typename genType::value_type dot(
|
||||
GLM_FUNC_DECL typename genType::value_type dot(
|
||||
genType const & x,
|
||||
genType const & y);
|
||||
|
||||
|
@ -80,7 +80,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/cross.xml">GLSL cross man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename valType>
|
||||
detail::tvec3<valType> cross(
|
||||
GLM_FUNC_DECL detail::tvec3<valType> cross(
|
||||
detail::tvec3<valType> const & x,
|
||||
detail::tvec3<valType> const & y);
|
||||
|
||||
|
@ -89,7 +89,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/normalize.xml">GLSL normalize man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename genType>
|
||||
genType normalize(
|
||||
GLM_FUNC_DECL genType normalize(
|
||||
genType const & x);
|
||||
|
||||
/// If dot(Nref, I) < 0.0, return N, otherwise, return -N.
|
||||
|
@ -99,7 +99,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/faceforward.xml">GLSL faceforward man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename genType>
|
||||
genType faceforward(
|
||||
GLM_FUNC_DECL genType faceforward(
|
||||
genType const & N,
|
||||
genType const & I,
|
||||
genType const & Nref);
|
||||
|
@ -112,7 +112,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/reflect.xml">GLSL reflect man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename genType>
|
||||
genType reflect(
|
||||
GLM_FUNC_DECL genType reflect(
|
||||
genType const & I,
|
||||
genType const & N);
|
||||
|
||||
|
@ -125,7 +125,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/refract.xml">GLSL refract man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a>
|
||||
template <typename genType>
|
||||
genType refract(
|
||||
GLM_FUNC_DECL genType refract(
|
||||
genType const & I,
|
||||
genType const & N,
|
||||
typename genType::value_type const & eta);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -132,7 +132,6 @@ namespace glm
|
|||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
|
||||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'dot' only accept floating-point inputs");
|
||||
|
@ -271,7 +270,7 @@ namespace glm
|
|||
|
||||
// reflect
|
||||
template <typename genType>
|
||||
genType reflect
|
||||
GLM_FUNC_QUALIFIER genType reflect
|
||||
(
|
||||
genType const & I,
|
||||
genType const & N
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -52,7 +52,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/uaddCarry.xml">GLSL uaddCarry man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a>
|
||||
template <typename genUType>
|
||||
genUType uaddCarry(
|
||||
GLM_FUNC_DECL genUType uaddCarry(
|
||||
genUType const & x,
|
||||
genUType const & y,
|
||||
genUType & carry);
|
||||
|
@ -66,7 +66,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/usubBorrow.xml">GLSL usubBorrow man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a>
|
||||
template <typename genUType>
|
||||
genUType usubBorrow(
|
||||
GLM_FUNC_DECL genUType usubBorrow(
|
||||
genUType const & x,
|
||||
genUType const & y,
|
||||
genUType & borrow);
|
||||
|
@ -80,7 +80,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/umulExtended.xml">GLSL umulExtended man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a>
|
||||
template <typename genUType>
|
||||
void umulExtended(
|
||||
GLM_FUNC_DECL void umulExtended(
|
||||
genUType const & x,
|
||||
genUType const & y,
|
||||
genUType & msb,
|
||||
|
@ -95,7 +95,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/imulExtended.xml">GLSL imulExtended man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a>
|
||||
template <typename genIType>
|
||||
void imulExtended(
|
||||
GLM_FUNC_DECL void imulExtended(
|
||||
genIType const & x,
|
||||
genIType const & y,
|
||||
genIType & msb,
|
||||
|
@ -105,7 +105,7 @@ namespace glm
|
|||
/// returning them in the least significant bits of the result.
|
||||
/// For unsigned data types, the most significant bits of the
|
||||
/// result will be set to zero. For signed data types, the
|
||||
/// most significant bits will be set to the value of bit offset + base – 1.
|
||||
/// most significant bits will be set to the value of bit offset + base - 1.
|
||||
///
|
||||
/// If bits is zero, the result will be zero. The result will be
|
||||
/// undefined if offset or bits is negative, or if the sum of
|
||||
|
@ -117,7 +117,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/bitfieldExtract.xml">GLSL bitfieldExtract man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a>
|
||||
template <typename genIUType>
|
||||
genIUType bitfieldExtract(
|
||||
GLM_FUNC_DECL genIUType bitfieldExtract(
|
||||
genIUType const & Value,
|
||||
int const & Offset,
|
||||
int const & Bits);
|
||||
|
@ -125,7 +125,7 @@ namespace glm
|
|||
/// Returns the insertion the bits least-significant bits of insert into base.
|
||||
///
|
||||
/// The result will have bits [offset, offset + bits - 1] taken
|
||||
/// from bits [0, bits – 1] of insert, and all other bits taken
|
||||
/// from bits [0, bits - 1] of insert, and all other bits taken
|
||||
/// directly from the corresponding bits of base. If bits is
|
||||
/// zero, the result will simply be base. The result will be
|
||||
/// undefined if offset or bits is negative, or if the sum of
|
||||
|
@ -137,7 +137,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/bitfieldInsert.xml">GLSL bitfieldInsert man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a>
|
||||
template <typename genIUType>
|
||||
genIUType bitfieldInsert(
|
||||
GLM_FUNC_DECL genIUType bitfieldInsert(
|
||||
genIUType const & Base,
|
||||
genIUType const & Insert,
|
||||
int const & Offset,
|
||||
|
@ -152,7 +152,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/bitfieldReverse.xml">GLSL bitfieldReverse man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a>
|
||||
template <typename genIUType>
|
||||
genIUType bitfieldReverse(genIUType const & Value);
|
||||
GLM_FUNC_DECL genIUType bitfieldReverse(genIUType const & Value);
|
||||
|
||||
/// Returns the number of bits set to 1 in the binary representation of value.
|
||||
///
|
||||
|
@ -163,7 +163,7 @@ namespace glm
|
|||
///
|
||||
/// @todo Clarify the declaration to specify that scalars are suported.
|
||||
template <typename T, template <typename> class genIUType>
|
||||
typename genIUType<T>::signed_type bitCount(genIUType<T> const & Value);
|
||||
GLM_FUNC_DECL typename genIUType<T>::signed_type bitCount(genIUType<T> const & Value);
|
||||
|
||||
/// Returns the bit number of the least significant bit set to
|
||||
/// 1 in the binary representation of value.
|
||||
|
@ -176,7 +176,7 @@ namespace glm
|
|||
///
|
||||
/// @todo Clarify the declaration to specify that scalars are suported.
|
||||
template <typename T, template <typename> class genIUType>
|
||||
typename genIUType<T>::signed_type findLSB(genIUType<T> const & Value);
|
||||
GLM_FUNC_DECL typename genIUType<T>::signed_type findLSB(genIUType<T> const & Value);
|
||||
|
||||
/// Returns the bit number of the most significant bit in the binary representation of value.
|
||||
/// For positive integers, the result will be the bit number of the most significant bit set to 1.
|
||||
|
@ -190,7 +190,7 @@ namespace glm
|
|||
///
|
||||
/// @todo Clarify the declaration to specify that scalars are suported.
|
||||
template <typename T, template <typename> class genIUType>
|
||||
typename genIUType<T>::signed_type findMSB(genIUType<T> const & Value);
|
||||
GLM_FUNC_DECL typename genIUType<T>::signed_type findMSB(genIUType<T> const & Value);
|
||||
|
||||
/// @}
|
||||
}//namespace glm
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -26,10 +26,12 @@
|
|||
/// @author Christophe Riccio
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if(GLM_ARCH != GLM_ARCH_PURE)
|
||||
#if(GLM_COMPILER & GLM_COMPILER_VC)
|
||||
#include <intrin.h>
|
||||
#pragma intrinsic(_BitScanReverse)
|
||||
#endif
|
||||
# include <intrin.h>
|
||||
# pragma intrinsic(_BitScanReverse)
|
||||
#endif//(GLM_COMPILER & GLM_COMPILER_VC)
|
||||
#endif//(GLM_ARCH != GLM_ARCH_PURE)
|
||||
|
||||
namespace glm
|
||||
{
|
||||
|
@ -103,7 +105,7 @@ namespace glm
|
|||
if(x > y)
|
||||
return genUType(detail::highp_int_t(x) - detail::highp_int_t(y));
|
||||
else
|
||||
return genUType(detail::highp_int_t(1) << detail::highp_int_t(32) + detail::highp_int_t(x) - detail::highp_int_t(y));
|
||||
return genUType((detail::highp_int_t(1) << detail::highp_int_t(32)) + detail::highp_int_t(x) - detail::highp_int_t(y));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
@ -521,7 +523,6 @@ namespace glm
|
|||
}
|
||||
|
||||
// findMSB
|
||||
/*
|
||||
#if((GLM_ARCH != GLM_ARCH_PURE) && (GLM_COMPILER & GLM_COMPILER_VC))
|
||||
|
||||
template <typename genIUType>
|
||||
|
@ -538,7 +539,7 @@ namespace glm
|
|||
_BitScanReverse(&Result, Value);
|
||||
return int(Result);
|
||||
}
|
||||
|
||||
/*
|
||||
// __builtin_clz seems to be buggy as it crasks for some values, from 0x00200000 to 80000000
|
||||
#elif((GLM_ARCH != GLM_ARCH_PURE) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC40))
|
||||
|
||||
|
@ -560,8 +561,9 @@ namespace glm
|
|||
//
|
||||
return 31 - __builtin_clzl(Value);
|
||||
}
|
||||
#else
|
||||
*/
|
||||
#else
|
||||
|
||||
/* SSE implementation idea
|
||||
|
||||
__m128i const Zero = _mm_set_epi32( 0, 0, 0, 0);
|
||||
|
@ -606,7 +608,7 @@ namespace glm
|
|||
return MostSignificantBit;
|
||||
}
|
||||
}
|
||||
//#endif//(GLM_COMPILER)
|
||||
#endif//(GLM_COMPILER)
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<int> findMSB
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -53,7 +53,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/matrixCompMult.xml">GLSL matrixCompMult man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename matType>
|
||||
matType matrixCompMult(
|
||||
GLM_FUNC_DECL matType matrixCompMult(
|
||||
matType const & x,
|
||||
matType const & y);
|
||||
|
||||
|
@ -68,7 +68,7 @@ namespace glm
|
|||
///
|
||||
/// @todo Clarify the declaration to specify that matType doesn't have to be provided when used.
|
||||
template <typename vecType, typename matType>
|
||||
matType outerProduct(
|
||||
GLM_FUNC_DECL matType outerProduct(
|
||||
vecType const & c,
|
||||
vecType const & r);
|
||||
|
||||
|
@ -79,7 +79,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/transpose.xml">GLSL transpose man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename matType>
|
||||
typename matType::transpose_type transpose(
|
||||
GLM_FUNC_DECL typename matType::transpose_type transpose(
|
||||
matType const & x);
|
||||
|
||||
/// Return the determinant of a mat2 matrix.
|
||||
|
@ -89,7 +89,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename valType>
|
||||
typename detail::tmat2x2<valType>::value_type determinant(
|
||||
GLM_FUNC_DECL typename detail::tmat2x2<valType>::value_type determinant(
|
||||
detail::tmat2x2<valType> const & m);
|
||||
|
||||
/// Return the determinant of a mat3 matrix.
|
||||
|
@ -99,7 +99,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename valType>
|
||||
typename detail::tmat3x3<valType>::value_type determinant(
|
||||
GLM_FUNC_DECL typename detail::tmat3x3<valType>::value_type determinant(
|
||||
detail::tmat3x3<valType> const & m);
|
||||
|
||||
/// Return the determinant of a mat4 matrix.
|
||||
|
@ -109,7 +109,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename valType>
|
||||
typename detail::tmat4x4<valType>::value_type determinant(
|
||||
GLM_FUNC_DECL typename detail::tmat4x4<valType>::value_type determinant(
|
||||
detail::tmat4x4<valType> const & m);
|
||||
|
||||
/// Return the inverse of a mat2 matrix.
|
||||
|
@ -119,7 +119,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename valType>
|
||||
detail::tmat2x2<valType> inverse(
|
||||
GLM_FUNC_DECL detail::tmat2x2<valType> inverse(
|
||||
detail::tmat2x2<valType> const & m);
|
||||
|
||||
/// Return the inverse of a mat3 matrix.
|
||||
|
@ -129,7 +129,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename valType>
|
||||
detail::tmat3x3<valType> inverse(
|
||||
GLM_FUNC_DECL detail::tmat3x3<valType> inverse(
|
||||
detail::tmat3x3<valType> const & m);
|
||||
|
||||
/// Return the inverse of a mat4 matrix.
|
||||
|
@ -139,7 +139,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a>
|
||||
template <typename valType>
|
||||
detail::tmat4x4<valType> inverse(
|
||||
GLM_FUNC_DECL detail::tmat4x4<valType> inverse(
|
||||
detail::tmat4x4<valType> const & m);
|
||||
|
||||
/// @}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -50,7 +50,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise1.xml">GLSL noise1 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
|
||||
template <typename genType>
|
||||
typename genType::value_type noise1(genType const & x);
|
||||
GLM_FUNC_DECL typename genType::value_type noise1(genType const & x);
|
||||
|
||||
/// Returns a 2D noise value based on the input value x.
|
||||
///
|
||||
|
@ -59,7 +59,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise2.xml">GLSL noise2 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
|
||||
template <typename genType>
|
||||
detail::tvec2<typename genType::value_type> noise2(genType const & x);
|
||||
GLM_FUNC_DECL detail::tvec2<typename genType::value_type> noise2(genType const & x);
|
||||
|
||||
/// Returns a 3D noise value based on the input value x.
|
||||
///
|
||||
|
@ -68,7 +68,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise3.xml">GLSL noise3 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
|
||||
template <typename genType>
|
||||
detail::tvec3<typename genType::value_type> noise3(genType const & x);
|
||||
GLM_FUNC_DECL detail::tvec3<typename genType::value_type> noise3(genType const & x);
|
||||
|
||||
/// Returns a 4D noise value based on the input value x.
|
||||
///
|
||||
|
@ -77,7 +77,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise4.xml">GLSL noise4 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
|
||||
template <typename genType>
|
||||
detail::tvec4<typename genType::value_type> noise4(genType const & x);
|
||||
GLM_FUNC_DECL detail::tvec4<typename genType::value_type> noise4(genType const & x);
|
||||
|
||||
/// @}
|
||||
}//namespace glm
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -52,7 +52,7 @@ namespace glm
|
|||
//!
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packUnorm2x16.xml">GLSL packUnorm2x16 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::uint32 packUnorm2x16(detail::tvec2<detail::float32> const & v);
|
||||
GLM_FUNC_DECL detail::uint32 packUnorm2x16(detail::tvec2<detail::float32> const & v);
|
||||
|
||||
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
||||
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
||||
|
@ -65,7 +65,7 @@ namespace glm
|
|||
//!
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packSnorm2x16.xml">GLSL packSnorm2x16 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::uint32 packSnorm2x16(detail::tvec2<detail::float32> const & v);
|
||||
GLM_FUNC_DECL detail::uint32 packSnorm2x16(detail::tvec2<detail::float32> const & v);
|
||||
|
||||
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
||||
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
||||
|
@ -78,7 +78,7 @@ namespace glm
|
|||
//!
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packUnorm4x8.xml">GLSL packUnorm4x8 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::uint32 packUnorm4x8(detail::tvec4<detail::float32> const & v);
|
||||
GLM_FUNC_DECL detail::uint32 packUnorm4x8(detail::tvec4<detail::float32> const & v);
|
||||
|
||||
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
||||
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
||||
|
@ -91,7 +91,7 @@ namespace glm
|
|||
//!
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packSnorm4x8.xml">GLSL packSnorm4x8 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::uint32 packSnorm4x8(detail::tvec4<detail::float32> const & v);
|
||||
GLM_FUNC_DECL detail::uint32 packSnorm4x8(detail::tvec4<detail::float32> const & v);
|
||||
|
||||
//! First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||
//! Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||
|
@ -104,7 +104,7 @@ namespace glm
|
|||
//!
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackUnorm2x16.xml">GLSL unpackUnorm2x16 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::tvec2<detail::float32> unpackUnorm2x16(detail::uint32 const & p);
|
||||
GLM_FUNC_DECL detail::tvec2<detail::float32> unpackUnorm2x16(detail::uint32 const & p);
|
||||
|
||||
//! First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||
//! Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||
|
@ -117,7 +117,7 @@ namespace glm
|
|||
//!
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackSnorm2x16.xml">GLSL unpackSnorm2x16 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::tvec2<detail::float32> unpackSnorm2x16(detail::uint32 const & p);
|
||||
GLM_FUNC_DECL detail::tvec2<detail::float32> unpackSnorm2x16(detail::uint32 const & p);
|
||||
|
||||
/// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||
/// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||
|
@ -130,7 +130,7 @@ namespace glm
|
|||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackUnorm4x8.xml">GLSL unpackUnorm4x8 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::tvec4<detail::float32> unpackUnorm4x8(detail::uint32 const & p);
|
||||
GLM_FUNC_DECL detail::tvec4<detail::float32> unpackUnorm4x8(detail::uint32 const & p);
|
||||
|
||||
/// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||
/// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||
|
@ -143,7 +143,7 @@ namespace glm
|
|||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackSnorm4x8.xml">GLSL unpackSnorm4x8 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::tvec4<detail::float32> unpackSnorm4x8(detail::uint32 const & p);
|
||||
GLM_FUNC_DECL detail::tvec4<detail::float32> unpackSnorm4x8(detail::uint32 const & p);
|
||||
|
||||
/// Returns a double-precision value obtained by packing the components of v into a 64-bit value.
|
||||
/// If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified.
|
||||
|
@ -153,7 +153,7 @@ namespace glm
|
|||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packDouble2x32.xml">GLSL packDouble2x32 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
double packDouble2x32(detail::tvec2<detail::uint32> const & v);
|
||||
GLM_FUNC_DECL double packDouble2x32(detail::tvec2<detail::uint32> const & v);
|
||||
|
||||
/// Returns a two-component unsigned integer vector representation of v.
|
||||
/// The bit-level representation of v is preserved.
|
||||
|
@ -162,7 +162,7 @@ namespace glm
|
|||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackDouble2x32.xml">GLSL unpackDouble2x32 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
detail::tvec2<detail::uint32> unpackDouble2x32(double const & v);
|
||||
GLM_FUNC_DECL detail::tvec2<detail::uint32> unpackDouble2x32(double const & v);
|
||||
|
||||
/// Returns an unsigned integer obtained by converting the components of a two-component floating-point vector
|
||||
/// to the 16-bit floating-point representation found in the OpenGL Specification,
|
||||
|
@ -172,7 +172,7 @@ namespace glm
|
|||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packHalf2x16.xml">GLSL packHalf2x16 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
uint packHalf2x16(vec2 const & v);
|
||||
GLM_FUNC_DECL uint packHalf2x16(vec2 const & v);
|
||||
|
||||
/// Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values,
|
||||
/// interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification,
|
||||
|
@ -182,7 +182,7 @@ namespace glm
|
|||
///
|
||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackHalf2x16.xml">GLSL unpackHalf2x16 man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||
vec2 unpackHalf2x16(uint const & v);
|
||||
GLM_FUNC_DECL vec2 unpackHalf2x16(uint const & v);
|
||||
|
||||
/// @}
|
||||
}//namespace glm
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -136,12 +136,42 @@ namespace glm
|
|||
|
||||
GLM_FUNC_QUALIFIER double packDouble2x32(detail::tvec2<detail::uint32> const & v)
|
||||
{
|
||||
return *(double*)&v;
|
||||
struct uint32_pair
|
||||
{
|
||||
detail::uint32 x;
|
||||
detail::uint32 y;
|
||||
};
|
||||
|
||||
union helper
|
||||
{
|
||||
uint32_pair input;
|
||||
double output;
|
||||
} Helper;
|
||||
|
||||
Helper.input.x = v.x;
|
||||
Helper.input.y = v.y;
|
||||
|
||||
return Helper.output;
|
||||
//return *(double*)&v;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<uint> unpackDouble2x32(double const & v)
|
||||
{
|
||||
return *(detail::tvec2<uint>*)&v;
|
||||
struct uint32_pair
|
||||
{
|
||||
detail::uint32 x;
|
||||
detail::uint32 y;
|
||||
};
|
||||
|
||||
union helper
|
||||
{
|
||||
double input;
|
||||
uint32_pair output;
|
||||
} Helper;
|
||||
|
||||
Helper.input = v;
|
||||
|
||||
return detail::tvec2<uint>(Helper.output.x, Helper.output.y);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint packHalf2x16(detail::tvec2<float> const & v)
|
||||
|
@ -157,7 +187,7 @@ namespace glm
|
|||
|
||||
Pack.orig.a = detail::toFloat16(v.x);
|
||||
Pack.orig.b = detail::toFloat16(v.y);
|
||||
return *(uint*)&Pack;
|
||||
return Pack.other;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec2 unpackHalf2x16(uint const & v)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -52,7 +52,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/radians.xml">GLSL radians man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType radians(genType const & degrees);
|
||||
GLM_FUNC_DECL genType radians(genType const & degrees);
|
||||
|
||||
/// Converts radians to degrees and returns the result.
|
||||
///
|
||||
|
@ -61,7 +61,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/degrees.xml">GLSL degrees man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType degrees(genType const & radians);
|
||||
GLM_FUNC_DECL genType degrees(genType const & radians);
|
||||
|
||||
/// The standard trigonometric sine function.
|
||||
/// The values returned by this function will range from [-1, 1].
|
||||
|
@ -71,7 +71,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sin.xml">GLSL sin man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType sin(genType const & angle);
|
||||
GLM_FUNC_DECL genType sin(genType const & angle);
|
||||
|
||||
/// The standard trigonometric cosine function.
|
||||
/// The values returned by this function will range from [-1, 1].
|
||||
|
@ -81,7 +81,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/cos.xml">GLSL cos man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType cos(genType const & angle);
|
||||
GLM_FUNC_DECL genType cos(genType const & angle);
|
||||
|
||||
/// The standard trigonometric tangent function.
|
||||
///
|
||||
|
@ -90,7 +90,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/tan.xml">GLSL tan man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType tan(genType const & angle);
|
||||
GLM_FUNC_DECL genType tan(genType const & angle);
|
||||
|
||||
/// Arc sine. Returns an angle whose sine is x.
|
||||
/// The range of values returned by this function is [-PI/2, PI/2].
|
||||
|
@ -101,7 +101,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/asin.xml">GLSL asin man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType asin(genType const & x);
|
||||
GLM_FUNC_DECL genType asin(genType const & x);
|
||||
|
||||
/// Arc cosine. Returns an angle whose sine is x.
|
||||
/// The range of values returned by this function is [0, PI].
|
||||
|
@ -112,7 +112,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/acos.xml">GLSL acos man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType acos(genType const & x);
|
||||
GLM_FUNC_DECL genType acos(genType const & x);
|
||||
|
||||
/// Arc tangent. Returns an angle whose tangent is y/x.
|
||||
/// The signs of x and y are used to determine what
|
||||
|
@ -125,7 +125,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atan.xml">GLSL atan man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType atan(genType const & y, genType const & x);
|
||||
GLM_FUNC_DECL genType atan(genType const & y, genType const & x);
|
||||
|
||||
/// Arc tangent. Returns an angle whose tangent is y_over_x.
|
||||
/// The range of values returned by this function is [-PI/2, PI/2].
|
||||
|
@ -135,7 +135,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atan.xml">GLSL atan man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType atan(genType const & y_over_x);
|
||||
GLM_FUNC_DECL genType atan(genType const & y_over_x);
|
||||
|
||||
/// Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2
|
||||
///
|
||||
|
@ -144,7 +144,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sinh.xml">GLSL sinh man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType sinh(genType const & angle);
|
||||
GLM_FUNC_DECL genType sinh(genType const & angle);
|
||||
|
||||
/// Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2
|
||||
///
|
||||
|
@ -153,7 +153,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/cosh.xml">GLSL cosh man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType cosh(genType const & angle);
|
||||
GLM_FUNC_DECL genType cosh(genType const & angle);
|
||||
|
||||
/// Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
|
||||
///
|
||||
|
@ -162,7 +162,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/tanh.xml">GLSL tanh man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType tanh(genType const & angle);
|
||||
GLM_FUNC_DECL genType tanh(genType const & angle);
|
||||
|
||||
/// Arc hyperbolic sine; returns the inverse of sinh.
|
||||
///
|
||||
|
@ -171,7 +171,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/asinh.xml">GLSL asinh man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType asinh(genType const & x);
|
||||
GLM_FUNC_DECL genType asinh(genType const & x);
|
||||
|
||||
/// Arc hyperbolic cosine; returns the non-negative inverse
|
||||
/// of cosh. Results are undefined if x < 1.
|
||||
|
@ -181,7 +181,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/acosh.xml">GLSL acosh man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType acosh(genType const & x);
|
||||
GLM_FUNC_DECL genType acosh(genType const & x);
|
||||
|
||||
/// Arc hyperbolic tangent; returns the inverse of tanh.
|
||||
/// Results are undefined if abs(x) >= 1.
|
||||
|
@ -191,7 +191,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atanh.xml">GLSL atanh man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a>
|
||||
template <typename genType>
|
||||
genType atanh(genType const & x);
|
||||
GLM_FUNC_DECL genType atanh(genType const & x);
|
||||
|
||||
/// @}
|
||||
}//namespace glm
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
@ -55,7 +55,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThan.xml">GLSL lessThan man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <typename vecType>
|
||||
typename vecType::bool_type lessThan(vecType const & x, vecType const & y);
|
||||
GLM_FUNC_DECL typename vecType::bool_type lessThan(vecType const & x, vecType const & y);
|
||||
|
||||
/// Returns the component-wise comparison of result x <= y.
|
||||
///
|
||||
|
@ -64,7 +64,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThanEqual.xml">GLSL lessThanEqual man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <typename vecType>
|
||||
typename vecType::bool_type lessThanEqual(vecType const & x, vecType const & y);
|
||||
GLM_FUNC_DECL typename vecType::bool_type lessThanEqual(vecType const & x, vecType const & y);
|
||||
|
||||
/// Returns the component-wise comparison of result x > y.
|
||||
///
|
||||
|
@ -73,7 +73,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThan.xml">GLSL greaterThan man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <typename vecType>
|
||||
typename vecType::bool_type greaterThan(vecType const & x, vecType const & y);
|
||||
GLM_FUNC_DECL typename vecType::bool_type greaterThan(vecType const & x, vecType const & y);
|
||||
|
||||
/// Returns the component-wise comparison of result x >= y.
|
||||
///
|
||||
|
@ -82,7 +82,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThanEqual.xml">GLSL greaterThanEqual man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <typename vecType>
|
||||
typename vecType::bool_type greaterThanEqual(vecType const & x, vecType const & y);
|
||||
GLM_FUNC_DECL typename vecType::bool_type greaterThanEqual(vecType const & x, vecType const & y);
|
||||
|
||||
/// Returns the component-wise comparison of result x == y.
|
||||
///
|
||||
|
@ -91,7 +91,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/equal.xml">GLSL equal man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <typename vecType>
|
||||
typename vecType::bool_type equal(vecType const & x, vecType const & y);
|
||||
GLM_FUNC_DECL typename vecType::bool_type equal(vecType const & x, vecType const & y);
|
||||
|
||||
/// Returns the component-wise comparison of result x != y.
|
||||
///
|
||||
|
@ -100,7 +100,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/notEqual.xml">GLSL notEqual man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <typename vecType>
|
||||
typename vecType::bool_type notEqual(vecType const & x, vecType const & y);
|
||||
GLM_FUNC_DECL typename vecType::bool_type notEqual(vecType const & x, vecType const & y);
|
||||
|
||||
/// Returns true if any component of x is true.
|
||||
///
|
||||
|
@ -109,7 +109,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/any.xml">GLSL any man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <template <typename> class vecType>
|
||||
bool any(vecType<bool> const & v);
|
||||
GLM_FUNC_DECL bool any(vecType<bool> const & v);
|
||||
|
||||
/// Returns true if all components of x are true.
|
||||
///
|
||||
|
@ -118,7 +118,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/all.xml">GLSL all man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <template <typename> class vecType>
|
||||
bool all(vecType<bool> const & v);
|
||||
GLM_FUNC_DECL bool all(vecType<bool> const & v);
|
||||
|
||||
/// Returns the component-wise logical complement of x.
|
||||
/// /!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.
|
||||
|
@ -128,7 +128,7 @@ namespace glm
|
|||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/not.xml">GLSL not man page</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a>
|
||||
template <template <typename> class vecType>
|
||||
vecType<bool> not_(vecType<bool> const & v);
|
||||
GLM_FUNC_DECL vecType<bool> not_(vecType<bool> const & v);
|
||||
|
||||
/// @}
|
||||
}//namespace glm
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
|
||||
/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
|
|