template project, first version
56
AntTweakBar/src/AntPerfTimer.h
Normal file
@@ -0,0 +1,56 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file AntPerfTimer.h
|
||||
// @brief A performance (precision) timer for benchs
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: No cpp file is needed, everything is defined in this header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if !defined ANT_PERF_TIMER_INCLUDED
|
||||
#define ANT_PERF_TIMER_INCLUDED
|
||||
|
||||
#ifndef __cplusplus
|
||||
# error This is a C++ header
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#if defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64)
|
||||
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
|
||||
struct PerfTimer
|
||||
{
|
||||
inline PerfTimer() { if( !QueryPerformanceFrequency(&Freq) ) MessageBox(NULL, _T("Precision timer not supported"), _T("Problem"), MB_ICONEXCLAMATION); Reset(); }
|
||||
inline void Reset() { QueryPerformanceCounter(&Start); }
|
||||
inline double GetTime() { if( QueryPerformanceCounter(&End) ) return ((double)End.QuadPart - (double)Start.QuadPart)/((double)Freq.QuadPart); else return 0; }
|
||||
protected:
|
||||
LARGE_INTEGER Start, End, Freq;
|
||||
};
|
||||
|
||||
#else // !_WIN (-> LINUX)
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
struct PerfTimer
|
||||
{
|
||||
inline PerfTimer() { Reset(); }
|
||||
inline void Reset() { gettimeofday(&Start, &TZ); }
|
||||
inline double GetTime() { gettimeofday(&End,&TZ);
|
||||
double t1 = (double)Start.tv_sec + (double)Start.tv_usec/(1000*1000);
|
||||
double t2 = (double)End.tv_sec + (double)End.tv_usec/(1000*1000);
|
||||
return t2-t1; }
|
||||
protected:
|
||||
struct timeval Start, End;
|
||||
struct timezone TZ;
|
||||
};
|
||||
|
||||
#endif // _WIN
|
||||
|
||||
|
||||
#endif // ANT_PERF_TIMER_INCLUDED
|
||||
83
AntTweakBar/src/AntTweakBar.rc
Normal file
@@ -0,0 +1,83 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
//#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Fran<61>ais (France) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
|
||||
#ifdef _WIN32
|
||||
//LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Cursor
|
||||
//
|
||||
|
||||
IDC_CURSOR1 CURSOR "res\\cur00013.cur"
|
||||
IDC_CURSOR2 CURSOR "res\\cur00000.cur"
|
||||
IDC_CURSOR3 CURSOR "res\\cur00001.cur"
|
||||
IDC_CURSOR4 CURSOR "res\\cur00002.cur"
|
||||
IDC_CURSOR5 CURSOR "res\\cur00003.cur"
|
||||
IDC_CURSOR6 CURSOR "res\\cur00004.cur"
|
||||
IDC_CURSOR7 CURSOR "res\\cur00005.cur"
|
||||
IDC_CURSOR8 CURSOR "res\\cur00006.cur"
|
||||
IDC_CURSOR9 CURSOR "res\\cur00007.cur"
|
||||
IDC_CURSOR10 CURSOR "res\\cur00008.cur"
|
||||
IDC_CURSOR11 CURSOR "res\\cur00009.cur"
|
||||
IDC_CURSOR12 CURSOR "res\\cur00010.cur"
|
||||
IDC_CURSOR13 CURSOR "res\\cur00011.cur"
|
||||
IDC_CURSOR14 CURSOR "res\\cur00012.cur"
|
||||
#endif // Fran<61>ais (France) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
1025
AntTweakBar/src/AntTweakBar.vcproj
Normal file
490
AntTweakBar/src/AntTweakBar.vcxproj
Normal file
@@ -0,0 +1,490 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}</ProjectGuid>
|
||||
<RootNamespace>AntTweakBar</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release32\</IntDir>
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release64\</IntDir>
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug32\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug64\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat />
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>xcopy /y /f ..\lib\AntTweakBar.dll ..\examples\bin32</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc/T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat />
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>xcopy /y /f ..\lib\AntTweakBar64.dll ..\examples\bin64</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if exist ..\examples\debug32 xcopy /y /f ..\lib\debug\AntTweakBar.dll ..\examples\debug32\.</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if exist ..\examples\debug64 xcopy /y /f ..\lib\debug\AntTweakBar64.dll ..\examples\debug64\.</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="LoadOGL.cpp" />
|
||||
<ClCompile Include="LoadOGLCore.cpp" />
|
||||
<ClCompile Include="TwBar.cpp" />
|
||||
<ClCompile Include="TwColors.cpp" />
|
||||
<ClCompile Include="TwDirect3D10.cpp" />
|
||||
<ClCompile Include="TwDirect3D11.cpp" />
|
||||
<ClCompile Include="TwDirect3D9.cpp" />
|
||||
<ClCompile Include="TwEventGLFW.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventGLUT.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Default</CompileAs>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL12.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL13.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSFML.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventWin.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwFonts.cpp" />
|
||||
<ClCompile Include="TwMgr.cpp" />
|
||||
<ClCompile Include="TwOpenGL.cpp" />
|
||||
<ClCompile Include="TwOpenGLCore.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwPrecomp.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="TwDirect3D11.hlsl">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\AntTweakBar.h" />
|
||||
<ClInclude Include="AntPerfTimer.h" />
|
||||
<ClInclude Include="LoadOGL.h" />
|
||||
<ClInclude Include="LoadOGLCore.h" />
|
||||
<ClInclude Include="MiniGLFW.h" />
|
||||
<ClInclude Include="MiniGLUT.h" />
|
||||
<ClInclude Include="MiniSDL12.h" />
|
||||
<ClInclude Include="MiniSDL13.h" />
|
||||
<ClInclude Include="MiniSFML16.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="TwBar.h" />
|
||||
<ClInclude Include="TwColors.h" />
|
||||
<ClInclude Include="TwDirect3D10.h" />
|
||||
<ClInclude Include="TwDirect3D11.h" />
|
||||
<ClInclude Include="TwDirect3D9.h" />
|
||||
<ClInclude Include="TwFonts.h" />
|
||||
<ClInclude Include="TwGraph.h" />
|
||||
<ClInclude Include="TwMgr.h" />
|
||||
<ClInclude Include="TwOpenGL.h" />
|
||||
<ClInclude Include="TwOpenGLCore.h" />
|
||||
<ClInclude Include="TwPrecomp.h" />
|
||||
<ClInclude Include="res\TwXCursors.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="AntTweakBar.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\cur00000.cur" />
|
||||
<None Include="res\cur00001.cur" />
|
||||
<None Include="res\cur00002.cur" />
|
||||
<None Include="res\cur00003.cur" />
|
||||
<None Include="res\cur00004.cur" />
|
||||
<None Include="res\cur00005.cur" />
|
||||
<None Include="res\cur00006.cur" />
|
||||
<None Include="res\cur00007.cur" />
|
||||
<None Include="res\cur00008.cur" />
|
||||
<None Include="res\cur00009.cur" />
|
||||
<None Include="res\cur00010.cur" />
|
||||
<None Include="res\cur00011.cur" />
|
||||
<None Include="res\cur00012.cur" />
|
||||
<None Include="res\cur00013.cur" />
|
||||
<None Include="res\FontFixed1.pgm" />
|
||||
<None Include="res\FontLargeAA.pgm" />
|
||||
<None Include="res\FontNormal.pgm" />
|
||||
<None Include="FontSmall.pgm" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="res\FontChars.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
217
AntTweakBar/src/AntTweakBar.vcxproj.filters
Normal file
@@ -0,0 +1,217 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{f83ca079-8ea0-4739-a811-1271c1da7b99}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Public Header Files">
|
||||
<UniqueIdentifier>{9fa95835-d0ac-461f-9e15-970d83af4629}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Private Header Files">
|
||||
<UniqueIdentifier>{87a5b5f8-eb1d-4589-96fd-f8e516fc15e7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{d4d938bf-b5f6-43d3-896f-a3fff1885877}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="LoadOGL.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="LoadOGLCore.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwBar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwColors.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwDirect3D10.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwDirect3D11.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwDirect3D9.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventGLFW.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventGLUT.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL12.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL13.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSFML.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventWin.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwFonts.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwMgr.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwOpenGL.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwOpenGLCore.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwPrecomp.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\AntTweakBar.h">
|
||||
<Filter>Public Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="AntPerfTimer.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="LoadOGL.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="LoadOGLCore.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MiniGLFW.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MiniGLUT.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MiniSDL12.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MiniSDL13.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MiniSFML16.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwBar.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwColors.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwDirect3D10.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwDirect3D11.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwDirect3D9.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwFonts.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwGraph.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwMgr.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwOpenGL.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwOpenGLCore.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TwPrecomp.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="res\TwXCursors.h">
|
||||
<Filter>Private Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="AntTweakBar.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\cur00000.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00001.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00002.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00003.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00004.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00005.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00006.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00007.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00008.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00009.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00010.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00011.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00012.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\cur00013.cur">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\FontFixed1.pgm">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\FontLargeAA.pgm">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\FontNormal.pgm">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="FontSmall.pgm">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="res\FontChars.txt">
|
||||
<Filter>Resource Files</Filter>
|
||||
</Text>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="TwDirect3D11.hlsl">
|
||||
<Filter>Source Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
495
AntTweakBar/src/AntTweakBar_2013.vcxproj
Normal file
@@ -0,0 +1,495 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}</ProjectGuid>
|
||||
<RootNamespace>AntTweakBar</RootNamespace>
|
||||
<ProjectName>AntTweakBar</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release64\</IntDir>
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release32\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug64\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug32\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc/T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat />
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc/T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="LoadOGL.cpp" />
|
||||
<ClCompile Include="LoadOGLCore.cpp" />
|
||||
<ClCompile Include="TwBar.cpp" />
|
||||
<ClCompile Include="TwColors.cpp" />
|
||||
<ClCompile Include="TwDirect3D10.cpp" />
|
||||
<ClCompile Include="TwDirect3D11.cpp" />
|
||||
<ClCompile Include="TwDirect3D9.cpp" />
|
||||
<ClCompile Include="TwEventGLFW.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventGLUT.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL12.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL13.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSFML.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventWin.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwFonts.cpp" />
|
||||
<ClCompile Include="TwMgr.cpp" />
|
||||
<ClCompile Include="TwOpenGL.cpp" />
|
||||
<ClCompile Include="TwOpenGLCore.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwPrecomp.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="TwDirect3D11.hlsl">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\AntTweakBar.h" />
|
||||
<ClInclude Include="AntPerfTimer.h" />
|
||||
<ClInclude Include="LoadOGL.h" />
|
||||
<ClInclude Include="LoadOGLCore.h" />
|
||||
<ClInclude Include="MiniGLFW.h" />
|
||||
<ClInclude Include="MiniGLUT.h" />
|
||||
<ClInclude Include="MiniSDL12.h" />
|
||||
<ClInclude Include="MiniSDL13.h" />
|
||||
<ClInclude Include="MiniSFML16.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="TwBar.h" />
|
||||
<ClInclude Include="TwColors.h" />
|
||||
<ClInclude Include="TwDirect3D10.h" />
|
||||
<ClInclude Include="TwDirect3D11.h" />
|
||||
<ClInclude Include="TwDirect3D9.h" />
|
||||
<ClInclude Include="TwFonts.h" />
|
||||
<ClInclude Include="TwGraph.h" />
|
||||
<ClInclude Include="TwMgr.h" />
|
||||
<ClInclude Include="TwOpenGL.h" />
|
||||
<ClInclude Include="TwOpenGLCore.h" />
|
||||
<ClInclude Include="TwPrecomp.h" />
|
||||
<ClInclude Include="res\TwXCursors.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="AntTweakBar.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\cur00000.cur" />
|
||||
<None Include="res\cur00001.cur" />
|
||||
<None Include="res\cur00002.cur" />
|
||||
<None Include="res\cur00003.cur" />
|
||||
<None Include="res\cur00004.cur" />
|
||||
<None Include="res\cur00005.cur" />
|
||||
<None Include="res\cur00006.cur" />
|
||||
<None Include="res\cur00007.cur" />
|
||||
<None Include="res\cur00008.cur" />
|
||||
<None Include="res\cur00009.cur" />
|
||||
<None Include="res\cur00010.cur" />
|
||||
<None Include="res\cur00011.cur" />
|
||||
<None Include="res\cur00012.cur" />
|
||||
<None Include="res\cur00013.cur" />
|
||||
<None Include="res\FontFixed1.pgm" />
|
||||
<None Include="res\FontLargeAA.pgm" />
|
||||
<None Include="res\FontNormal.pgm" />
|
||||
<None Include="FontSmall.pgm" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="res\FontChars.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
495
AntTweakBar/src/AntTweakBar_2015.vcxproj
Normal file
@@ -0,0 +1,495 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}</ProjectGuid>
|
||||
<RootNamespace>AntTweakBar</RootNamespace>
|
||||
<ProjectName>AntTweakBar</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release64\</IntDir>
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release32\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug64\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug32\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc/T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat />
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc/T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="LoadOGL.cpp" />
|
||||
<ClCompile Include="LoadOGLCore.cpp" />
|
||||
<ClCompile Include="TwBar.cpp" />
|
||||
<ClCompile Include="TwColors.cpp" />
|
||||
<ClCompile Include="TwDirect3D10.cpp" />
|
||||
<ClCompile Include="TwDirect3D11.cpp" />
|
||||
<ClCompile Include="TwDirect3D9.cpp" />
|
||||
<ClCompile Include="TwEventGLFW.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventGLUT.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL12.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL13.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSFML.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventWin.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwFonts.cpp" />
|
||||
<ClCompile Include="TwMgr.cpp" />
|
||||
<ClCompile Include="TwOpenGL.cpp" />
|
||||
<ClCompile Include="TwOpenGLCore.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwPrecomp.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="TwDirect3D11.hlsl">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\AntTweakBar.h" />
|
||||
<ClInclude Include="AntPerfTimer.h" />
|
||||
<ClInclude Include="LoadOGL.h" />
|
||||
<ClInclude Include="LoadOGLCore.h" />
|
||||
<ClInclude Include="MiniGLFW.h" />
|
||||
<ClInclude Include="MiniGLUT.h" />
|
||||
<ClInclude Include="MiniSDL12.h" />
|
||||
<ClInclude Include="MiniSDL13.h" />
|
||||
<ClInclude Include="MiniSFML16.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="TwBar.h" />
|
||||
<ClInclude Include="TwColors.h" />
|
||||
<ClInclude Include="TwDirect3D10.h" />
|
||||
<ClInclude Include="TwDirect3D11.h" />
|
||||
<ClInclude Include="TwDirect3D9.h" />
|
||||
<ClInclude Include="TwFonts.h" />
|
||||
<ClInclude Include="TwGraph.h" />
|
||||
<ClInclude Include="TwMgr.h" />
|
||||
<ClInclude Include="TwOpenGL.h" />
|
||||
<ClInclude Include="TwOpenGLCore.h" />
|
||||
<ClInclude Include="TwPrecomp.h" />
|
||||
<ClInclude Include="res\TwXCursors.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="AntTweakBar.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\cur00000.cur" />
|
||||
<None Include="res\cur00001.cur" />
|
||||
<None Include="res\cur00002.cur" />
|
||||
<None Include="res\cur00003.cur" />
|
||||
<None Include="res\cur00004.cur" />
|
||||
<None Include="res\cur00005.cur" />
|
||||
<None Include="res\cur00006.cur" />
|
||||
<None Include="res\cur00007.cur" />
|
||||
<None Include="res\cur00008.cur" />
|
||||
<None Include="res\cur00009.cur" />
|
||||
<None Include="res\cur00010.cur" />
|
||||
<None Include="res\cur00011.cur" />
|
||||
<None Include="res\cur00012.cur" />
|
||||
<None Include="res\cur00013.cur" />
|
||||
<None Include="res\FontFixed1.pgm" />
|
||||
<None Include="res\FontLargeAA.pgm" />
|
||||
<None Include="res\FontNormal.pgm" />
|
||||
<None Include="FontSmall.pgm" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="res\FontChars.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
496
AntTweakBar/src/AntTweakBar_2017.vcxproj
Normal file
@@ -0,0 +1,496 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}</ProjectGuid>
|
||||
<RootNamespace>AntTweakBar</RootNamespace>
|
||||
<ProjectName>AntTweakBar</ProjectName>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release64\</IntDir>
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<IgnoreImportLibrary>false</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<OutDir>../lib\</OutDir>
|
||||
<IntDir>release32\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug64\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>$(ProjectName)64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<OutDir>../lib/debug\</OutDir>
|
||||
<IntDir>debug32\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc/T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat />
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc/T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<RegisterOutput>false</RegisterOutput>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<MapExports>false</MapExports>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN64;_WIN64;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention />
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectVS /Fh $(IntDir)TwDirect3D11_LineRectVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E LineRectCstColorVS /Fh $(IntDir)TwDirect3D11_LineRectCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E LineRectPS /Fh $(IntDir)TwDirect3D11_LineRectPS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextVS /Fh $(IntDir)TwDirect3D11_TextVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T vs_4_0_level_9_1 /E TextCstColorVS /Fh $(IntDir)TwDirect3D11_TextCstColorVS.h TwDirect3D11.hlsl
|
||||
fxc /Od /Zi /T ps_4_0_level_9_1 /E TextPS /Fh $(IntDir)TwDirect3D11_TextPS.h TwDirect3D11.hlsl
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TypeLibraryName>$(OutDir)AntTweakBar.tlb</TypeLibraryName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;TW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>TwPrecomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)AntTweakBar.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)AntTweakBar.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>mkdir "$(SolutionDir)$(Platform)/$(Configuration)"
|
||||
xcopy /y /f "$(TargetPath)" "$(SolutionDir)$(Platform)/$(Configuration)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="LoadOGL.cpp" />
|
||||
<ClCompile Include="LoadOGLCore.cpp" />
|
||||
<ClCompile Include="TwBar.cpp" />
|
||||
<ClCompile Include="TwColors.cpp" />
|
||||
<ClCompile Include="TwDirect3D10.cpp" />
|
||||
<ClCompile Include="TwDirect3D11.cpp" />
|
||||
<ClCompile Include="TwDirect3D9.cpp" />
|
||||
<ClCompile Include="TwEventGLFW.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventGLUT.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL12.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSDL13.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventSFML.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwEventWin.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwFonts.cpp" />
|
||||
<ClCompile Include="TwMgr.cpp" />
|
||||
<ClCompile Include="TwOpenGL.cpp" />
|
||||
<ClCompile Include="TwOpenGLCore.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TwPrecomp.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="TwDirect3D11.hlsl">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\AntTweakBar.h" />
|
||||
<ClInclude Include="AntPerfTimer.h" />
|
||||
<ClInclude Include="LoadOGL.h" />
|
||||
<ClInclude Include="LoadOGLCore.h" />
|
||||
<ClInclude Include="MiniGLFW.h" />
|
||||
<ClInclude Include="MiniGLUT.h" />
|
||||
<ClInclude Include="MiniSDL12.h" />
|
||||
<ClInclude Include="MiniSDL13.h" />
|
||||
<ClInclude Include="MiniSFML16.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="TwBar.h" />
|
||||
<ClInclude Include="TwColors.h" />
|
||||
<ClInclude Include="TwDirect3D10.h" />
|
||||
<ClInclude Include="TwDirect3D11.h" />
|
||||
<ClInclude Include="TwDirect3D9.h" />
|
||||
<ClInclude Include="TwFonts.h" />
|
||||
<ClInclude Include="TwGraph.h" />
|
||||
<ClInclude Include="TwMgr.h" />
|
||||
<ClInclude Include="TwOpenGL.h" />
|
||||
<ClInclude Include="TwOpenGLCore.h" />
|
||||
<ClInclude Include="TwPrecomp.h" />
|
||||
<ClInclude Include="res\TwXCursors.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="AntTweakBar.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\cur00000.cur" />
|
||||
<None Include="res\cur00001.cur" />
|
||||
<None Include="res\cur00002.cur" />
|
||||
<None Include="res\cur00003.cur" />
|
||||
<None Include="res\cur00004.cur" />
|
||||
<None Include="res\cur00005.cur" />
|
||||
<None Include="res\cur00006.cur" />
|
||||
<None Include="res\cur00007.cur" />
|
||||
<None Include="res\cur00008.cur" />
|
||||
<None Include="res\cur00009.cur" />
|
||||
<None Include="res\cur00010.cur" />
|
||||
<None Include="res\cur00011.cur" />
|
||||
<None Include="res\cur00012.cur" />
|
||||
<None Include="res\cur00013.cur" />
|
||||
<None Include="res\FontFixed1.pgm" />
|
||||
<None Include="res\FontLargeAA.pgm" />
|
||||
<None Include="res\FontNormal.pgm" />
|
||||
<None Include="FontSmall.pgm" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="res\FontChars.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
25
AntTweakBar/src/AntTweakBar_VS2008.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual C++ Express 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AntTweakBar", "AntTweakBar.vcproj", "{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|x64.Build.0 = Debug|x64
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|Win32.Build.0 = Release|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|x64.ActiveCfg = Release|x64
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
25
AntTweakBar/src/AntTweakBar_VS2012.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Express 2012 for Windows Desktop
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AntTweakBar", "AntTweakBar.vcxproj", "{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Debug|x64.Build.0 = Debug|x64
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|Win32.Build.0 = Release|Win32
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|x64.ActiveCfg = Release|x64
|
||||
{B99E1FA1-C30A-45F2-9D57-9E9C21B2DF42}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
545
AntTweakBar/src/LoadOGL.cpp
Normal file
@@ -0,0 +1,545 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file LoadOGL.cpp
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "TwPrecomp.h"
|
||||
#include "LoadOGL.h"
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#define ANT_NB_OGL_FUNC_MAX 1024
|
||||
|
||||
struct COGLFuncRec
|
||||
{
|
||||
const char * m_Name;
|
||||
GL::PFNOpenGL * m_FuncPtr;
|
||||
COGLFuncRec() : m_Name(NULL), m_FuncPtr(NULL) {}
|
||||
};
|
||||
COGLFuncRec g_OGLFuncRec[ANT_NB_OGL_FUNC_MAX];
|
||||
int g_NbOGLFunc = 0;
|
||||
#if defined(ANT_WINDOWS)
|
||||
HMODULE g_OGLModule = NULL;
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
ANT_GL_IMPL(glAccum)
|
||||
ANT_GL_IMPL(glAlphaFunc)
|
||||
ANT_GL_IMPL(glAreTexturesResident)
|
||||
ANT_GL_IMPL(glArrayElement)
|
||||
ANT_GL_IMPL(glBegin)
|
||||
ANT_GL_IMPL(glBindTexture)
|
||||
ANT_GL_IMPL(glBitmap)
|
||||
ANT_GL_IMPL(glBlendFunc)
|
||||
ANT_GL_IMPL(glCallList)
|
||||
ANT_GL_IMPL(glCallLists)
|
||||
ANT_GL_IMPL(glClear)
|
||||
ANT_GL_IMPL(glClearAccum)
|
||||
ANT_GL_IMPL(glClearColor)
|
||||
ANT_GL_IMPL(glClearDepth)
|
||||
ANT_GL_IMPL(glClearIndex)
|
||||
ANT_GL_IMPL(glClearStencil)
|
||||
ANT_GL_IMPL(glClipPlane)
|
||||
ANT_GL_IMPL(glColor3b)
|
||||
ANT_GL_IMPL(glColor3bv)
|
||||
ANT_GL_IMPL(glColor3d)
|
||||
ANT_GL_IMPL(glColor3dv)
|
||||
ANT_GL_IMPL(glColor3f)
|
||||
ANT_GL_IMPL(glColor3fv)
|
||||
ANT_GL_IMPL(glColor3i)
|
||||
ANT_GL_IMPL(glColor3iv)
|
||||
ANT_GL_IMPL(glColor3s)
|
||||
ANT_GL_IMPL(glColor3sv)
|
||||
ANT_GL_IMPL(glColor3ub)
|
||||
ANT_GL_IMPL(glColor3ubv)
|
||||
ANT_GL_IMPL(glColor3ui)
|
||||
ANT_GL_IMPL(glColor3uiv)
|
||||
ANT_GL_IMPL(glColor3us)
|
||||
ANT_GL_IMPL(glColor3usv)
|
||||
ANT_GL_IMPL(glColor4b)
|
||||
ANT_GL_IMPL(glColor4bv)
|
||||
ANT_GL_IMPL(glColor4d)
|
||||
ANT_GL_IMPL(glColor4dv)
|
||||
ANT_GL_IMPL(glColor4f)
|
||||
ANT_GL_IMPL(glColor4fv)
|
||||
ANT_GL_IMPL(glColor4i)
|
||||
ANT_GL_IMPL(glColor4iv)
|
||||
ANT_GL_IMPL(glColor4s)
|
||||
ANT_GL_IMPL(glColor4sv)
|
||||
ANT_GL_IMPL(glColor4ub)
|
||||
ANT_GL_IMPL(glColor4ubv)
|
||||
ANT_GL_IMPL(glColor4ui)
|
||||
ANT_GL_IMPL(glColor4uiv)
|
||||
ANT_GL_IMPL(glColor4us)
|
||||
ANT_GL_IMPL(glColor4usv)
|
||||
ANT_GL_IMPL(glColorMask)
|
||||
ANT_GL_IMPL(glColorMaterial)
|
||||
ANT_GL_IMPL(glColorPointer)
|
||||
ANT_GL_IMPL(glCopyPixels)
|
||||
ANT_GL_IMPL(glCopyTexImage1D)
|
||||
ANT_GL_IMPL(glCopyTexImage2D)
|
||||
ANT_GL_IMPL(glCopyTexSubImage1D)
|
||||
ANT_GL_IMPL(glCopyTexSubImage2D)
|
||||
ANT_GL_IMPL(glCullFace)
|
||||
ANT_GL_IMPL(glDeleteLists)
|
||||
ANT_GL_IMPL(glDeleteTextures)
|
||||
ANT_GL_IMPL(glDepthFunc)
|
||||
ANT_GL_IMPL(glDepthMask)
|
||||
ANT_GL_IMPL(glDepthRange)
|
||||
ANT_GL_IMPL(glDisable)
|
||||
ANT_GL_IMPL(glDisableClientState)
|
||||
ANT_GL_IMPL(glDrawArrays)
|
||||
ANT_GL_IMPL(glDrawBuffer)
|
||||
ANT_GL_IMPL(glDrawElements)
|
||||
ANT_GL_IMPL(glDrawPixels)
|
||||
ANT_GL_IMPL(glEdgeFlag)
|
||||
ANT_GL_IMPL(glEdgeFlagPointer)
|
||||
ANT_GL_IMPL(glEdgeFlagv)
|
||||
ANT_GL_IMPL(glEnable)
|
||||
ANT_GL_IMPL(glEnableClientState)
|
||||
ANT_GL_IMPL(glEnd)
|
||||
ANT_GL_IMPL(glEndList)
|
||||
ANT_GL_IMPL(glEvalCoord1d)
|
||||
ANT_GL_IMPL(glEvalCoord1dv)
|
||||
ANT_GL_IMPL(glEvalCoord1f)
|
||||
ANT_GL_IMPL(glEvalCoord1fv)
|
||||
ANT_GL_IMPL(glEvalCoord2d)
|
||||
ANT_GL_IMPL(glEvalCoord2dv)
|
||||
ANT_GL_IMPL(glEvalCoord2f)
|
||||
ANT_GL_IMPL(glEvalCoord2fv)
|
||||
ANT_GL_IMPL(glEvalMesh1)
|
||||
ANT_GL_IMPL(glEvalMesh2)
|
||||
ANT_GL_IMPL(glEvalPoint1)
|
||||
ANT_GL_IMPL(glEvalPoint2)
|
||||
ANT_GL_IMPL(glFeedbackBuffer)
|
||||
ANT_GL_IMPL(glFinish)
|
||||
ANT_GL_IMPL(glFlush)
|
||||
ANT_GL_IMPL(glFogf)
|
||||
ANT_GL_IMPL(glFogfv)
|
||||
ANT_GL_IMPL(glFogi)
|
||||
ANT_GL_IMPL(glFogiv)
|
||||
ANT_GL_IMPL(glFrontFace)
|
||||
ANT_GL_IMPL(glFrustum)
|
||||
ANT_GL_IMPL(glGenLists)
|
||||
ANT_GL_IMPL(glGenTextures)
|
||||
ANT_GL_IMPL(glGetBooleanv)
|
||||
ANT_GL_IMPL(glGetClipPlane)
|
||||
ANT_GL_IMPL(glGetDoublev)
|
||||
ANT_GL_IMPL(glGetError)
|
||||
ANT_GL_IMPL(glGetFloatv)
|
||||
ANT_GL_IMPL(glGetIntegerv)
|
||||
ANT_GL_IMPL(glGetLightfv)
|
||||
ANT_GL_IMPL(glGetLightiv)
|
||||
ANT_GL_IMPL(glGetMapdv)
|
||||
ANT_GL_IMPL(glGetMapfv)
|
||||
ANT_GL_IMPL(glGetMapiv)
|
||||
ANT_GL_IMPL(glGetMaterialfv)
|
||||
ANT_GL_IMPL(glGetMaterialiv)
|
||||
ANT_GL_IMPL(glGetPixelMapfv)
|
||||
ANT_GL_IMPL(glGetPixelMapuiv)
|
||||
ANT_GL_IMPL(glGetPixelMapusv)
|
||||
ANT_GL_IMPL(glGetPointerv)
|
||||
ANT_GL_IMPL(glGetPolygonStipple)
|
||||
ANT_GL_IMPL(glGetString)
|
||||
ANT_GL_IMPL(glGetTexEnvfv)
|
||||
ANT_GL_IMPL(glGetTexEnviv)
|
||||
ANT_GL_IMPL(glGetTexGendv)
|
||||
ANT_GL_IMPL(glGetTexGenfv)
|
||||
ANT_GL_IMPL(glGetTexGeniv)
|
||||
ANT_GL_IMPL(glGetTexImage)
|
||||
ANT_GL_IMPL(glGetTexLevelParameterfv)
|
||||
ANT_GL_IMPL(glGetTexLevelParameteriv)
|
||||
ANT_GL_IMPL(glGetTexParameterfv)
|
||||
ANT_GL_IMPL(glGetTexParameteriv)
|
||||
ANT_GL_IMPL(glHint)
|
||||
ANT_GL_IMPL(glIndexMask)
|
||||
ANT_GL_IMPL(glIndexPointer)
|
||||
ANT_GL_IMPL(glIndexd)
|
||||
ANT_GL_IMPL(glIndexdv)
|
||||
ANT_GL_IMPL(glIndexf)
|
||||
ANT_GL_IMPL(glIndexfv)
|
||||
ANT_GL_IMPL(glIndexi)
|
||||
ANT_GL_IMPL(glIndexiv)
|
||||
ANT_GL_IMPL(glIndexs)
|
||||
ANT_GL_IMPL(glIndexsv)
|
||||
ANT_GL_IMPL(glIndexub)
|
||||
ANT_GL_IMPL(glIndexubv)
|
||||
ANT_GL_IMPL(glInitNames)
|
||||
ANT_GL_IMPL(glInterleavedArrays)
|
||||
ANT_GL_IMPL(glIsEnabled)
|
||||
ANT_GL_IMPL(glIsList)
|
||||
ANT_GL_IMPL(glIsTexture)
|
||||
ANT_GL_IMPL(glLightModelf)
|
||||
ANT_GL_IMPL(glLightModelfv)
|
||||
ANT_GL_IMPL(glLightModeli)
|
||||
ANT_GL_IMPL(glLightModeliv)
|
||||
ANT_GL_IMPL(glLightf)
|
||||
ANT_GL_IMPL(glLightfv)
|
||||
ANT_GL_IMPL(glLighti)
|
||||
ANT_GL_IMPL(glLightiv)
|
||||
ANT_GL_IMPL(glLineStipple)
|
||||
ANT_GL_IMPL(glLineWidth)
|
||||
ANT_GL_IMPL(glListBase)
|
||||
ANT_GL_IMPL(glLoadIdentity)
|
||||
ANT_GL_IMPL(glLoadMatrixd)
|
||||
ANT_GL_IMPL(glLoadMatrixf)
|
||||
ANT_GL_IMPL(glLoadName)
|
||||
ANT_GL_IMPL(glLogicOp)
|
||||
ANT_GL_IMPL(glMap1d)
|
||||
ANT_GL_IMPL(glMap1f)
|
||||
ANT_GL_IMPL(glMap2d)
|
||||
ANT_GL_IMPL(glMap2f)
|
||||
ANT_GL_IMPL(glMapGrid1d)
|
||||
ANT_GL_IMPL(glMapGrid1f)
|
||||
ANT_GL_IMPL(glMapGrid2d)
|
||||
ANT_GL_IMPL(glMapGrid2f)
|
||||
ANT_GL_IMPL(glMaterialf)
|
||||
ANT_GL_IMPL(glMaterialfv)
|
||||
ANT_GL_IMPL(glMateriali)
|
||||
ANT_GL_IMPL(glMaterialiv)
|
||||
ANT_GL_IMPL(glMatrixMode)
|
||||
ANT_GL_IMPL(glMultMatrixd)
|
||||
ANT_GL_IMPL(glMultMatrixf)
|
||||
ANT_GL_IMPL(glNewList)
|
||||
ANT_GL_IMPL(glNormal3b)
|
||||
ANT_GL_IMPL(glNormal3bv)
|
||||
ANT_GL_IMPL(glNormal3d)
|
||||
ANT_GL_IMPL(glNormal3dv)
|
||||
ANT_GL_IMPL(glNormal3f)
|
||||
ANT_GL_IMPL(glNormal3fv)
|
||||
ANT_GL_IMPL(glNormal3i)
|
||||
ANT_GL_IMPL(glNormal3iv)
|
||||
ANT_GL_IMPL(glNormal3s)
|
||||
ANT_GL_IMPL(glNormal3sv)
|
||||
ANT_GL_IMPL(glNormalPointer)
|
||||
ANT_GL_IMPL(glOrtho)
|
||||
ANT_GL_IMPL(glPassThrough)
|
||||
ANT_GL_IMPL(glPixelMapfv)
|
||||
ANT_GL_IMPL(glPixelMapuiv)
|
||||
ANT_GL_IMPL(glPixelMapusv)
|
||||
ANT_GL_IMPL(glPixelStoref)
|
||||
ANT_GL_IMPL(glPixelStorei)
|
||||
ANT_GL_IMPL(glPixelTransferf)
|
||||
ANT_GL_IMPL(glPixelTransferi)
|
||||
ANT_GL_IMPL(glPixelZoom)
|
||||
ANT_GL_IMPL(glPointSize)
|
||||
ANT_GL_IMPL(glPolygonMode)
|
||||
ANT_GL_IMPL(glPolygonOffset)
|
||||
ANT_GL_IMPL(glPolygonStipple)
|
||||
ANT_GL_IMPL(glPopAttrib)
|
||||
ANT_GL_IMPL(glPopClientAttrib)
|
||||
ANT_GL_IMPL(glPopMatrix)
|
||||
ANT_GL_IMPL(glPopName)
|
||||
ANT_GL_IMPL(glPrioritizeTextures)
|
||||
ANT_GL_IMPL(glPushAttrib)
|
||||
ANT_GL_IMPL(glPushClientAttrib)
|
||||
ANT_GL_IMPL(glPushMatrix)
|
||||
ANT_GL_IMPL(glPushName)
|
||||
ANT_GL_IMPL(glRasterPos2d)
|
||||
ANT_GL_IMPL(glRasterPos2dv)
|
||||
ANT_GL_IMPL(glRasterPos2f)
|
||||
ANT_GL_IMPL(glRasterPos2fv)
|
||||
ANT_GL_IMPL(glRasterPos2i)
|
||||
ANT_GL_IMPL(glRasterPos2iv)
|
||||
ANT_GL_IMPL(glRasterPos2s)
|
||||
ANT_GL_IMPL(glRasterPos2sv)
|
||||
ANT_GL_IMPL(glRasterPos3d)
|
||||
ANT_GL_IMPL(glRasterPos3dv)
|
||||
ANT_GL_IMPL(glRasterPos3f)
|
||||
ANT_GL_IMPL(glRasterPos3fv)
|
||||
ANT_GL_IMPL(glRasterPos3i)
|
||||
ANT_GL_IMPL(glRasterPos3iv)
|
||||
ANT_GL_IMPL(glRasterPos3s)
|
||||
ANT_GL_IMPL(glRasterPos3sv)
|
||||
ANT_GL_IMPL(glRasterPos4d)
|
||||
ANT_GL_IMPL(glRasterPos4dv)
|
||||
ANT_GL_IMPL(glRasterPos4f)
|
||||
ANT_GL_IMPL(glRasterPos4fv)
|
||||
ANT_GL_IMPL(glRasterPos4i)
|
||||
ANT_GL_IMPL(glRasterPos4iv)
|
||||
ANT_GL_IMPL(glRasterPos4s)
|
||||
ANT_GL_IMPL(glRasterPos4sv)
|
||||
ANT_GL_IMPL(glReadBuffer)
|
||||
ANT_GL_IMPL(glReadPixels)
|
||||
ANT_GL_IMPL(glRectd)
|
||||
ANT_GL_IMPL(glRectdv)
|
||||
ANT_GL_IMPL(glRectf)
|
||||
ANT_GL_IMPL(glRectfv)
|
||||
ANT_GL_IMPL(glRecti)
|
||||
ANT_GL_IMPL(glRectiv)
|
||||
ANT_GL_IMPL(glRects)
|
||||
ANT_GL_IMPL(glRectsv)
|
||||
ANT_GL_IMPL(glRenderMode)
|
||||
ANT_GL_IMPL(glRotated)
|
||||
ANT_GL_IMPL(glRotatef)
|
||||
ANT_GL_IMPL(glScaled)
|
||||
ANT_GL_IMPL(glScalef)
|
||||
ANT_GL_IMPL(glScissor)
|
||||
ANT_GL_IMPL(glSelectBuffer)
|
||||
ANT_GL_IMPL(glShadeModel)
|
||||
ANT_GL_IMPL(glStencilFunc)
|
||||
ANT_GL_IMPL(glStencilMask)
|
||||
ANT_GL_IMPL(glStencilOp)
|
||||
ANT_GL_IMPL(glTexCoord1d)
|
||||
ANT_GL_IMPL(glTexCoord1dv)
|
||||
ANT_GL_IMPL(glTexCoord1f)
|
||||
ANT_GL_IMPL(glTexCoord1fv)
|
||||
ANT_GL_IMPL(glTexCoord1i)
|
||||
ANT_GL_IMPL(glTexCoord1iv)
|
||||
ANT_GL_IMPL(glTexCoord1s)
|
||||
ANT_GL_IMPL(glTexCoord1sv)
|
||||
ANT_GL_IMPL(glTexCoord2d)
|
||||
ANT_GL_IMPL(glTexCoord2dv)
|
||||
ANT_GL_IMPL(glTexCoord2f)
|
||||
ANT_GL_IMPL(glTexCoord2fv)
|
||||
ANT_GL_IMPL(glTexCoord2i)
|
||||
ANT_GL_IMPL(glTexCoord2iv)
|
||||
ANT_GL_IMPL(glTexCoord2s)
|
||||
ANT_GL_IMPL(glTexCoord2sv)
|
||||
ANT_GL_IMPL(glTexCoord3d)
|
||||
ANT_GL_IMPL(glTexCoord3dv)
|
||||
ANT_GL_IMPL(glTexCoord3f)
|
||||
ANT_GL_IMPL(glTexCoord3fv)
|
||||
ANT_GL_IMPL(glTexCoord3i)
|
||||
ANT_GL_IMPL(glTexCoord3iv)
|
||||
ANT_GL_IMPL(glTexCoord3s)
|
||||
ANT_GL_IMPL(glTexCoord3sv)
|
||||
ANT_GL_IMPL(glTexCoord4d)
|
||||
ANT_GL_IMPL(glTexCoord4dv)
|
||||
ANT_GL_IMPL(glTexCoord4f)
|
||||
ANT_GL_IMPL(glTexCoord4fv)
|
||||
ANT_GL_IMPL(glTexCoord4i)
|
||||
ANT_GL_IMPL(glTexCoord4iv)
|
||||
ANT_GL_IMPL(glTexCoord4s)
|
||||
ANT_GL_IMPL(glTexCoord4sv)
|
||||
ANT_GL_IMPL(glTexCoordPointer)
|
||||
ANT_GL_IMPL(glTexEnvf)
|
||||
ANT_GL_IMPL(glTexEnvfv)
|
||||
ANT_GL_IMPL(glTexEnvi)
|
||||
ANT_GL_IMPL(glTexEnviv)
|
||||
ANT_GL_IMPL(glTexGend)
|
||||
ANT_GL_IMPL(glTexGendv)
|
||||
ANT_GL_IMPL(glTexGenf)
|
||||
ANT_GL_IMPL(glTexGenfv)
|
||||
ANT_GL_IMPL(glTexGeni)
|
||||
ANT_GL_IMPL(glTexGeniv)
|
||||
ANT_GL_IMPL(glTexImage1D)
|
||||
ANT_GL_IMPL(glTexImage2D)
|
||||
ANT_GL_IMPL(glTexParameterf)
|
||||
ANT_GL_IMPL(glTexParameterfv)
|
||||
ANT_GL_IMPL(glTexParameteri)
|
||||
ANT_GL_IMPL(glTexParameteriv)
|
||||
ANT_GL_IMPL(glTexSubImage1D)
|
||||
ANT_GL_IMPL(glTexSubImage2D)
|
||||
ANT_GL_IMPL(glTranslated)
|
||||
ANT_GL_IMPL(glTranslatef)
|
||||
ANT_GL_IMPL(glVertex2d)
|
||||
ANT_GL_IMPL(glVertex2dv)
|
||||
ANT_GL_IMPL(glVertex2f)
|
||||
ANT_GL_IMPL(glVertex2fv)
|
||||
ANT_GL_IMPL(glVertex2i)
|
||||
ANT_GL_IMPL(glVertex2iv)
|
||||
ANT_GL_IMPL(glVertex2s)
|
||||
ANT_GL_IMPL(glVertex2sv)
|
||||
ANT_GL_IMPL(glVertex3d)
|
||||
ANT_GL_IMPL(glVertex3dv)
|
||||
ANT_GL_IMPL(glVertex3f)
|
||||
ANT_GL_IMPL(glVertex3fv)
|
||||
ANT_GL_IMPL(glVertex3i)
|
||||
ANT_GL_IMPL(glVertex3iv)
|
||||
ANT_GL_IMPL(glVertex3s)
|
||||
ANT_GL_IMPL(glVertex3sv)
|
||||
ANT_GL_IMPL(glVertex4d)
|
||||
ANT_GL_IMPL(glVertex4dv)
|
||||
ANT_GL_IMPL(glVertex4f)
|
||||
ANT_GL_IMPL(glVertex4fv)
|
||||
ANT_GL_IMPL(glVertex4i)
|
||||
ANT_GL_IMPL(glVertex4iv)
|
||||
ANT_GL_IMPL(glVertex4s)
|
||||
ANT_GL_IMPL(glVertex4sv)
|
||||
ANT_GL_IMPL(glVertexPointer)
|
||||
ANT_GL_IMPL(glViewport)
|
||||
#if defined(ANT_WINDOWS)
|
||||
ANT_GL_IMPL(wglGetProcAddress)
|
||||
#endif
|
||||
|
||||
namespace GL { PFNGLGetProcAddress _glGetProcAddress = NULL; }
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if defined(ANT_WINDOWS)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int LoadOpenGL()
|
||||
{
|
||||
if( g_OGLModule!=NULL )
|
||||
{
|
||||
return 1; // "OpenGL library already loaded"
|
||||
}
|
||||
|
||||
g_OGLModule = LoadLibrary("OPENGL32.DLL");
|
||||
if( g_OGLModule )
|
||||
{
|
||||
// Info(VERB_LOW, "Load %d OpenGL functions", g_NbOGLFunc);
|
||||
|
||||
int Res = 1;
|
||||
for(int i=0; i<g_NbOGLFunc; ++i)
|
||||
{
|
||||
assert(g_OGLFuncRec[i].m_FuncPtr!=NULL);
|
||||
assert(*(g_OGLFuncRec[i].m_FuncPtr)==NULL);
|
||||
assert(g_OGLFuncRec[i].m_Name!=NULL);
|
||||
assert(strlen(g_OGLFuncRec[i].m_Name)>0);
|
||||
*(g_OGLFuncRec[i].m_FuncPtr) = reinterpret_cast<GL::PFNOpenGL>(GetProcAddress(g_OGLModule, g_OGLFuncRec[i].m_Name));
|
||||
if( *(g_OGLFuncRec[i].m_FuncPtr)==NULL )
|
||||
Res = 0; // Error("cannot find OpenGL function");
|
||||
|
||||
}
|
||||
|
||||
_glGetProcAddress = reinterpret_cast<GL::PFNGLGetProcAddress>(_wglGetProcAddress);
|
||||
if( _glGetProcAddress==NULL )
|
||||
Res = 0;
|
||||
|
||||
return Res;
|
||||
}
|
||||
else
|
||||
{
|
||||
// InternDisplayLastErrorWIN("Cannot load opengl32 DLL", false);
|
||||
return 0; // cannot load DLL
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int UnloadOpenGL()
|
||||
{
|
||||
if( g_OGLModule==NULL )
|
||||
{
|
||||
return 1; // "OpenGL library not loaded"
|
||||
}
|
||||
|
||||
// Info(VERB_LOW, "Unload %d OpenGL functions", g_NbOGLFunc);
|
||||
for(int i=0; i<g_NbOGLFunc; ++i)
|
||||
{
|
||||
assert(g_OGLFuncRec[i].m_FuncPtr!=NULL);
|
||||
assert(*(g_OGLFuncRec[i].m_FuncPtr)!=NULL);
|
||||
assert(g_OGLFuncRec[i].m_Name!=NULL);
|
||||
assert(strlen(g_OGLFuncRec[i].m_Name)>0);
|
||||
*(g_OGLFuncRec[i].m_FuncPtr) = NULL;
|
||||
}
|
||||
if( FreeLibrary(g_OGLModule) )
|
||||
{
|
||||
// Info(VERB_LOW, "OpenGL library unloaded");
|
||||
g_OGLModule = NULL;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// InternDisplayLastErrorWIN("Cannot unload opengl32 DLL", false);
|
||||
return 0; // cannot unload opengl32.dll
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
namespace GL
|
||||
{
|
||||
|
||||
PFNOpenGL Record(const char *_FuncName, PFNOpenGL *_FuncPtr)
|
||||
{
|
||||
if( g_NbOGLFunc>=ANT_NB_OGL_FUNC_MAX )
|
||||
{
|
||||
fprintf(stderr, "Too many OpenGL functions declared. Change ANT_NB_OGL_FUNC_MAX.");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
g_OGLFuncRec[g_NbOGLFunc].m_Name = _FuncName;
|
||||
g_OGLFuncRec[g_NbOGLFunc].m_FuncPtr = _FuncPtr;
|
||||
++g_NbOGLFunc;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
} // namespace GL
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#endif // defined(ANT_WINDOWS)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if defined(ANT_UNIX)
|
||||
|
||||
int LoadOpenGL()
|
||||
{
|
||||
_glGetProcAddress = reinterpret_cast<GL::PFNGLGetProcAddress>(glXGetProcAddressARB);
|
||||
|
||||
return 1; // "OpenGL library is statically linked"
|
||||
}
|
||||
|
||||
int UnloadOpenGL()
|
||||
{
|
||||
return 1; // "OpenGL library is statically linked"
|
||||
}
|
||||
|
||||
#elif defined(ANT_OSX)
|
||||
|
||||
#include <dlfcn.h>
|
||||
|
||||
static void *gl_dyld = NULL;
|
||||
static const char *gl_prefix = "_";
|
||||
void *NSGLGetProcAddressNew(const GLubyte *name)
|
||||
{
|
||||
void *proc=NULL;
|
||||
if (gl_dyld == NULL)
|
||||
{
|
||||
gl_dyld = dlopen("OpenGL",RTLD_LAZY);
|
||||
}
|
||||
if (gl_dyld)
|
||||
{
|
||||
NSString *sym = [[NSString alloc] initWithFormat: @"%s%s",gl_prefix,name];
|
||||
proc = dlsym(gl_dyld,[sym UTF8String]);
|
||||
[sym release];
|
||||
}
|
||||
return proc;
|
||||
}
|
||||
|
||||
int LoadOpenGL()
|
||||
{
|
||||
_glGetProcAddress = reinterpret_cast<GL::PFNGLGetProcAddress>(NSGLGetProcAddressNew);
|
||||
|
||||
// try to load a symbol
|
||||
if (_glGetProcAddress("glBindBufferARB") == NULL)
|
||||
{
|
||||
// remove the symbols underscore prefix (OSX 10.7 and later)
|
||||
gl_prefix = "";
|
||||
if (_glGetProcAddress("glBindBufferARB") == NULL)
|
||||
{
|
||||
// fail: fall back to underscore
|
||||
gl_prefix = "_";
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int UnloadOpenGL()
|
||||
{
|
||||
if (gl_dyld)
|
||||
{
|
||||
dlclose(gl_dyld);
|
||||
gl_dyld = NULL;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif // defined(ANT_UNIX)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
397
AntTweakBar/src/LoadOGL.h
Normal file
@@ -0,0 +1,397 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file LoadOGL.h
|
||||
// @brief OpenGL declarations for dynamic loading
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_LOAD_OGL_INCLUDED
|
||||
#define ANT_LOAD_OGL_INCLUDED
|
||||
|
||||
|
||||
#define ANT_GL_DECL(_Ret, _Fct, _Params) \
|
||||
extern "C" { typedef _Ret (APIENTRY* PFN##_Fct)_Params; } \
|
||||
namespace GL { extern PFN##_Fct _##_Fct; } \
|
||||
using GL::_##_Fct;
|
||||
|
||||
#if defined(ANT_WINDOWS)
|
||||
# define ANT_GL_IMPL(_Fct) \
|
||||
namespace GL { PFN##_Fct _##_Fct = (PFN##_Fct)Record(#_Fct, (PFNOpenGL*)(&_##_Fct)); }
|
||||
#elif defined(ANT_UNIX) || defined(ANT_OSX)
|
||||
# define ANT_GL_IMPL(_Fct) \
|
||||
namespace GL { PFN##_Fct _##_Fct = _Fct; }
|
||||
# if !defined(APIENTRY)
|
||||
# define APIENTRY
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
int LoadOpenGL();
|
||||
int UnloadOpenGL();
|
||||
|
||||
namespace GL
|
||||
{
|
||||
extern "C" { typedef void (APIENTRY* PFNOpenGL)(); }
|
||||
PFNOpenGL Record(const char *_FuncName, PFNOpenGL *_FuncPtr);
|
||||
|
||||
extern "C" { typedef PFNOpenGL (APIENTRY *PFNGLGetProcAddress)(const char *); }
|
||||
extern PFNGLGetProcAddress _glGetProcAddress;
|
||||
}
|
||||
using GL::_glGetProcAddress;
|
||||
|
||||
|
||||
ANT_GL_DECL(void, glAccum, (GLenum op, GLfloat value))
|
||||
ANT_GL_DECL(void, glAlphaFunc, (GLenum func, GLclampf ref))
|
||||
ANT_GL_DECL(GLboolean, glAreTexturesResident, (GLsizei n, const GLuint *textures, GLboolean *residences))
|
||||
ANT_GL_DECL(void, glArrayElement, (GLint i))
|
||||
ANT_GL_DECL(void, glBegin, (GLenum mode))
|
||||
ANT_GL_DECL(void, glBindTexture, (GLenum target, GLuint texture))
|
||||
ANT_GL_DECL(void, glBitmap, (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap))
|
||||
ANT_GL_DECL(void, glBlendFunc, (GLenum sfactor, GLenum dfactor))
|
||||
ANT_GL_DECL(void, glCallList, (GLuint list))
|
||||
ANT_GL_DECL(void, glCallLists, (GLsizei n, GLenum type, const GLvoid *lists))
|
||||
ANT_GL_DECL(void, glClear, (GLbitfield mask))
|
||||
ANT_GL_DECL(void, glClearAccum, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha))
|
||||
ANT_GL_DECL(void, glClearColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha))
|
||||
ANT_GL_DECL(void, glClearDepth, (GLclampd depth))
|
||||
ANT_GL_DECL(void, glClearIndex, (GLfloat c))
|
||||
ANT_GL_DECL(void, glClearStencil, (GLint s))
|
||||
ANT_GL_DECL(void, glClipPlane, (GLenum plane, const GLdouble *equation))
|
||||
ANT_GL_DECL(void, glColor3b, (GLbyte red, GLbyte green, GLbyte blue))
|
||||
ANT_GL_DECL(void, glColor3bv, (const GLbyte *v))
|
||||
ANT_GL_DECL(void, glColor3d, (GLdouble red, GLdouble green, GLdouble blue))
|
||||
ANT_GL_DECL(void, glColor3dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glColor3f, (GLfloat red, GLfloat green, GLfloat blue))
|
||||
ANT_GL_DECL(void, glColor3fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glColor3i, (GLint red, GLint green, GLint blue))
|
||||
ANT_GL_DECL(void, glColor3iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glColor3s, (GLshort red, GLshort green, GLshort blue))
|
||||
ANT_GL_DECL(void, glColor3sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glColor3ub, (GLubyte red, GLubyte green, GLubyte blue))
|
||||
ANT_GL_DECL(void, glColor3ubv, (const GLubyte *v))
|
||||
ANT_GL_DECL(void, glColor3ui, (GLuint red, GLuint green, GLuint blue))
|
||||
ANT_GL_DECL(void, glColor3uiv, (const GLuint *v))
|
||||
ANT_GL_DECL(void, glColor3us, (GLushort red, GLushort green, GLushort blue))
|
||||
ANT_GL_DECL(void, glColor3usv, (const GLushort *v))
|
||||
ANT_GL_DECL(void, glColor4b, (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha))
|
||||
ANT_GL_DECL(void, glColor4bv, (const GLbyte *v))
|
||||
ANT_GL_DECL(void, glColor4d, (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha))
|
||||
ANT_GL_DECL(void, glColor4dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glColor4f, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha))
|
||||
ANT_GL_DECL(void, glColor4fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glColor4i, (GLint red, GLint green, GLint blue, GLint alpha))
|
||||
ANT_GL_DECL(void, glColor4iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glColor4s, (GLshort red, GLshort green, GLshort blue, GLshort alpha))
|
||||
ANT_GL_DECL(void, glColor4sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glColor4ub, (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha))
|
||||
ANT_GL_DECL(void, glColor4ubv, (const GLubyte *v))
|
||||
ANT_GL_DECL(void, glColor4ui, (GLuint red, GLuint green, GLuint blue, GLuint alpha))
|
||||
ANT_GL_DECL(void, glColor4uiv, (const GLuint *v))
|
||||
ANT_GL_DECL(void, glColor4us, (GLushort red, GLushort green, GLushort blue, GLushort alpha))
|
||||
ANT_GL_DECL(void, glColor4usv, (const GLushort *v))
|
||||
ANT_GL_DECL(void, glColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha))
|
||||
ANT_GL_DECL(void, glColorMaterial, (GLenum face, GLenum mode))
|
||||
ANT_GL_DECL(void, glColorPointer, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
|
||||
ANT_GL_DECL(void, glCopyPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type))
|
||||
ANT_GL_DECL(void, glCopyTexImage1D, (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border))
|
||||
ANT_GL_DECL(void, glCopyTexImage2D, (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border))
|
||||
ANT_GL_DECL(void, glCopyTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width))
|
||||
ANT_GL_DECL(void, glCopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
ANT_GL_DECL(void, glCullFace, (GLenum mode))
|
||||
ANT_GL_DECL(void, glDeleteLists, (GLuint list, GLsizei range))
|
||||
ANT_GL_DECL(void, glDeleteTextures, (GLsizei n, const GLuint *textures))
|
||||
ANT_GL_DECL(void, glDepthFunc, (GLenum func))
|
||||
ANT_GL_DECL(void, glDepthMask, (GLboolean flag))
|
||||
ANT_GL_DECL(void, glDepthRange, (GLclampd zNear, GLclampd zFar))
|
||||
ANT_GL_DECL(void, glDisable, (GLenum cap))
|
||||
ANT_GL_DECL(void, glDisableClientState, (GLenum array))
|
||||
ANT_GL_DECL(void, glDrawArrays, (GLenum mode, GLint first, GLsizei count))
|
||||
ANT_GL_DECL(void, glDrawBuffer, (GLenum mode))
|
||||
ANT_GL_DECL(void, glDrawElements, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices))
|
||||
ANT_GL_DECL(void, glDrawPixels, (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_DECL(void, glEdgeFlag, (GLboolean flag))
|
||||
ANT_GL_DECL(void, glEdgeFlagPointer, (GLsizei stride, const void *pointer))
|
||||
ANT_GL_DECL(void, glEdgeFlagv, (const GLboolean *flag))
|
||||
ANT_GL_DECL(void, glEnable, (GLenum cap))
|
||||
ANT_GL_DECL(void, glEnableClientState, (GLenum array))
|
||||
ANT_GL_DECL(void, glEnd, (void))
|
||||
ANT_GL_DECL(void, glEndList, (void))
|
||||
ANT_GL_DECL(void, glEvalCoord1d, (GLdouble u))
|
||||
ANT_GL_DECL(void, glEvalCoord1dv, (const GLdouble *u))
|
||||
ANT_GL_DECL(void, glEvalCoord1f, (GLfloat u))
|
||||
ANT_GL_DECL(void, glEvalCoord1fv, (const GLfloat *u))
|
||||
ANT_GL_DECL(void, glEvalCoord2d, (GLdouble u, GLdouble v))
|
||||
ANT_GL_DECL(void, glEvalCoord2dv, (const GLdouble *u))
|
||||
ANT_GL_DECL(void, glEvalCoord2f, (GLfloat u, GLfloat v))
|
||||
ANT_GL_DECL(void, glEvalCoord2fv, (const GLfloat *u))
|
||||
ANT_GL_DECL(void, glEvalMesh1, (GLenum mode, GLint i1, GLint i2))
|
||||
ANT_GL_DECL(void, glEvalMesh2, (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2))
|
||||
ANT_GL_DECL(void, glEvalPoint1, (GLint i))
|
||||
ANT_GL_DECL(void, glEvalPoint2, (GLint i, GLint j))
|
||||
ANT_GL_DECL(void, glFeedbackBuffer, (GLsizei size, GLenum type, GLfloat *buffer))
|
||||
ANT_GL_DECL(void, glFinish, (void))
|
||||
ANT_GL_DECL(void, glFlush, (void))
|
||||
ANT_GL_DECL(void, glFogf, (GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glFogfv, (GLenum pname, const GLfloat *params))
|
||||
ANT_GL_DECL(void, glFogi, (GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glFogiv, (GLenum pname, const GLint *params))
|
||||
ANT_GL_DECL(void, glFrontFace, (GLenum mode))
|
||||
ANT_GL_DECL(void, glFrustum, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar))
|
||||
ANT_GL_DECL(GLuint, glGenLists, (GLsizei range))
|
||||
ANT_GL_DECL(void, glGenTextures, (GLsizei n, GLuint *textures))
|
||||
ANT_GL_DECL(void, glGetBooleanv, (GLenum pname, GLboolean *params))
|
||||
ANT_GL_DECL(void, glGetClipPlane, (GLenum plane, GLdouble *equation))
|
||||
ANT_GL_DECL(void, glGetDoublev, (GLenum pname, GLdouble *params))
|
||||
ANT_GL_DECL(GLenum, glGetError, (void))
|
||||
ANT_GL_DECL(void, glGetFloatv, (GLenum pname, GLfloat *params))
|
||||
ANT_GL_DECL(void, glGetIntegerv, (GLenum pname, GLint *params))
|
||||
ANT_GL_DECL(void, glGetLightfv, (GLenum light, GLenum pname, GLfloat *params))
|
||||
ANT_GL_DECL(void, glGetLightiv, (GLenum light, GLenum pname, GLint *params))
|
||||
ANT_GL_DECL(void, glGetMapdv, (GLenum target, GLenum query, GLdouble *v))
|
||||
ANT_GL_DECL(void, glGetMapfv, (GLenum target, GLenum query, GLfloat *v))
|
||||
ANT_GL_DECL(void, glGetMapiv, (GLenum target, GLenum query, GLint *v))
|
||||
ANT_GL_DECL(void, glGetMaterialfv, (GLenum face, GLenum pname, GLfloat *params))
|
||||
ANT_GL_DECL(void, glGetMaterialiv, (GLenum face, GLenum pname, GLint *params))
|
||||
ANT_GL_DECL(void, glGetPixelMapfv, (GLenum map, GLfloat *values))
|
||||
ANT_GL_DECL(void, glGetPixelMapuiv, (GLenum map, GLuint *values))
|
||||
ANT_GL_DECL(void, glGetPixelMapusv, (GLenum map, GLushort *values))
|
||||
ANT_GL_DECL(void, glGetPointerv, (GLenum pname, GLvoid* *params))
|
||||
ANT_GL_DECL(void, glGetPolygonStipple, (GLubyte *mask))
|
||||
ANT_GL_DECL(const GLubyte *, glGetString, (GLenum name))
|
||||
ANT_GL_DECL(void, glGetTexEnvfv, (GLenum target, GLenum pname, GLfloat *params))
|
||||
ANT_GL_DECL(void, glGetTexEnviv, (GLenum target, GLenum pname, GLint *params))
|
||||
ANT_GL_DECL(void, glGetTexGendv, (GLenum coord, GLenum pname, GLdouble *params))
|
||||
ANT_GL_DECL(void, glGetTexGenfv, (GLenum coord, GLenum pname, GLfloat *params))
|
||||
ANT_GL_DECL(void, glGetTexGeniv, (GLenum coord, GLenum pname, GLint *params))
|
||||
ANT_GL_DECL(void, glGetTexImage, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels))
|
||||
ANT_GL_DECL(void, glGetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat *params))
|
||||
ANT_GL_DECL(void, glGetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint *params))
|
||||
ANT_GL_DECL(void, glGetTexParameterfv, (GLenum target, GLenum pname, GLfloat *params))
|
||||
ANT_GL_DECL(void, glGetTexParameteriv, (GLenum target, GLenum pname, GLint *params))
|
||||
ANT_GL_DECL(void, glHint, (GLenum target, GLenum mode))
|
||||
ANT_GL_DECL(void, glIndexMask, (GLuint mask))
|
||||
ANT_GL_DECL(void, glIndexPointer, (GLenum type, GLsizei stride, const GLvoid *pointer))
|
||||
ANT_GL_DECL(void, glIndexd, (GLdouble c))
|
||||
ANT_GL_DECL(void, glIndexdv, (const GLdouble *c))
|
||||
ANT_GL_DECL(void, glIndexf, (GLfloat c))
|
||||
ANT_GL_DECL(void, glIndexfv, (const GLfloat *c))
|
||||
ANT_GL_DECL(void, glIndexi, (GLint c))
|
||||
ANT_GL_DECL(void, glIndexiv, (const GLint *c))
|
||||
ANT_GL_DECL(void, glIndexs, (GLshort c))
|
||||
ANT_GL_DECL(void, glIndexsv, (const GLshort *c))
|
||||
ANT_GL_DECL(void, glIndexub, (GLubyte c))
|
||||
ANT_GL_DECL(void, glIndexubv, (const GLubyte *c))
|
||||
ANT_GL_DECL(void, glInitNames, (void))
|
||||
ANT_GL_DECL(void, glInterleavedArrays, (GLenum format, GLsizei stride, const GLvoid *pointer))
|
||||
ANT_GL_DECL(GLboolean, glIsEnabled, (GLenum cap))
|
||||
ANT_GL_DECL(GLboolean, glIsList, (GLuint list))
|
||||
ANT_GL_DECL(GLboolean, glIsTexture, (GLuint texture))
|
||||
ANT_GL_DECL(void, glLightModelf, (GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glLightModelfv, (GLenum pname, const GLfloat *params))
|
||||
ANT_GL_DECL(void, glLightModeli, (GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glLightModeliv, (GLenum pname, const GLint *params))
|
||||
ANT_GL_DECL(void, glLightf, (GLenum light, GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glLightfv, (GLenum light, GLenum pname, const GLfloat *params))
|
||||
ANT_GL_DECL(void, glLighti, (GLenum light, GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glLightiv, (GLenum light, GLenum pname, const GLint *params))
|
||||
ANT_GL_DECL(void, glLineStipple, (GLint factor, GLushort pattern))
|
||||
ANT_GL_DECL(void, glLineWidth, (GLfloat width))
|
||||
ANT_GL_DECL(void, glListBase, (GLuint base))
|
||||
ANT_GL_DECL(void, glLoadIdentity, (void))
|
||||
ANT_GL_DECL(void, glLoadMatrixd, (const GLdouble *m))
|
||||
ANT_GL_DECL(void, glLoadMatrixf, (const GLfloat *m))
|
||||
ANT_GL_DECL(void, glLoadName, (GLuint name))
|
||||
ANT_GL_DECL(void, glLogicOp, (GLenum opcode))
|
||||
ANT_GL_DECL(void, glMap1d, (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points))
|
||||
ANT_GL_DECL(void, glMap1f, (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points))
|
||||
ANT_GL_DECL(void, glMap2d, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points))
|
||||
ANT_GL_DECL(void, glMap2f, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points))
|
||||
ANT_GL_DECL(void, glMapGrid1d, (GLint un, GLdouble u1, GLdouble u2))
|
||||
ANT_GL_DECL(void, glMapGrid1f, (GLint un, GLfloat u1, GLfloat u2))
|
||||
ANT_GL_DECL(void, glMapGrid2d, (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2))
|
||||
ANT_GL_DECL(void, glMapGrid2f, (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2))
|
||||
ANT_GL_DECL(void, glMaterialf, (GLenum face, GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glMaterialfv, (GLenum face, GLenum pname, const GLfloat *params))
|
||||
ANT_GL_DECL(void, glMateriali, (GLenum face, GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glMaterialiv, (GLenum face, GLenum pname, const GLint *params))
|
||||
ANT_GL_DECL(void, glMatrixMode, (GLenum mode))
|
||||
ANT_GL_DECL(void, glMultMatrixd, (const GLdouble *m))
|
||||
ANT_GL_DECL(void, glMultMatrixf, (const GLfloat *m))
|
||||
ANT_GL_DECL(void, glNewList, (GLuint list, GLenum mode))
|
||||
ANT_GL_DECL(void, glNormal3b, (GLbyte nx, GLbyte ny, GLbyte nz))
|
||||
ANT_GL_DECL(void, glNormal3bv, (const GLbyte *v))
|
||||
ANT_GL_DECL(void, glNormal3d, (GLdouble nx, GLdouble ny, GLdouble nz))
|
||||
ANT_GL_DECL(void, glNormal3dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glNormal3f, (GLfloat nx, GLfloat ny, GLfloat nz))
|
||||
ANT_GL_DECL(void, glNormal3fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glNormal3i, (GLint nx, GLint ny, GLint nz))
|
||||
ANT_GL_DECL(void, glNormal3iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glNormal3s, (GLshort nx, GLshort ny, GLshort nz))
|
||||
ANT_GL_DECL(void, glNormal3sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glNormalPointer, (GLenum type, GLsizei stride, const GLvoid *pointer))
|
||||
ANT_GL_DECL(void, glOrtho, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar))
|
||||
ANT_GL_DECL(void, glPassThrough, (GLfloat token))
|
||||
ANT_GL_DECL(void, glPixelMapfv, (GLenum map, GLsizei mapsize, const GLfloat *values))
|
||||
ANT_GL_DECL(void, glPixelMapuiv, (GLenum map, GLsizei mapsize, const GLuint *values))
|
||||
ANT_GL_DECL(void, glPixelMapusv, (GLenum map, GLsizei mapsize, const GLushort *values))
|
||||
ANT_GL_DECL(void, glPixelStoref, (GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glPixelStorei, (GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glPixelTransferf, (GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glPixelTransferi, (GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glPixelZoom, (GLfloat xfactor, GLfloat yfactor))
|
||||
ANT_GL_DECL(void, glPointSize, (GLfloat size))
|
||||
ANT_GL_DECL(void, glPolygonMode, (GLenum face, GLenum mode))
|
||||
ANT_GL_DECL(void, glPolygonOffset, (GLfloat factor, GLfloat units))
|
||||
ANT_GL_DECL(void, glPolygonStipple, (const GLubyte *mask))
|
||||
ANT_GL_DECL(void, glPopAttrib, (void))
|
||||
ANT_GL_DECL(void, glPopClientAttrib, (void))
|
||||
ANT_GL_DECL(void, glPopMatrix, (void))
|
||||
ANT_GL_DECL(void, glPopName, (void))
|
||||
ANT_GL_DECL(void, glPrioritizeTextures, (GLsizei n, const GLuint *textures, const GLclampf *priorities))
|
||||
ANT_GL_DECL(void, glPushAttrib, (GLbitfield mask))
|
||||
ANT_GL_DECL(void, glPushClientAttrib, (GLbitfield mask))
|
||||
ANT_GL_DECL(void, glPushMatrix, (void))
|
||||
ANT_GL_DECL(void, glPushName, (GLuint name))
|
||||
ANT_GL_DECL(void, glRasterPos2d, (GLdouble x, GLdouble y))
|
||||
ANT_GL_DECL(void, glRasterPos2dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glRasterPos2f, (GLfloat x, GLfloat y))
|
||||
ANT_GL_DECL(void, glRasterPos2fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glRasterPos2i, (GLint x, GLint y))
|
||||
ANT_GL_DECL(void, glRasterPos2iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glRasterPos2s, (GLshort x, GLshort y))
|
||||
ANT_GL_DECL(void, glRasterPos2sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glRasterPos3d, (GLdouble x, GLdouble y, GLdouble z))
|
||||
ANT_GL_DECL(void, glRasterPos3dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glRasterPos3f, (GLfloat x, GLfloat y, GLfloat z))
|
||||
ANT_GL_DECL(void, glRasterPos3fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glRasterPos3i, (GLint x, GLint y, GLint z))
|
||||
ANT_GL_DECL(void, glRasterPos3iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glRasterPos3s, (GLshort x, GLshort y, GLshort z))
|
||||
ANT_GL_DECL(void, glRasterPos3sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glRasterPos4d, (GLdouble x, GLdouble y, GLdouble z, GLdouble w))
|
||||
ANT_GL_DECL(void, glRasterPos4dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glRasterPos4f, (GLfloat x, GLfloat y, GLfloat z, GLfloat w))
|
||||
ANT_GL_DECL(void, glRasterPos4fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glRasterPos4i, (GLint x, GLint y, GLint z, GLint w))
|
||||
ANT_GL_DECL(void, glRasterPos4iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glRasterPos4s, (GLshort x, GLshort y, GLshort z, GLshort w))
|
||||
ANT_GL_DECL(void, glRasterPos4sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glReadBuffer, (GLenum mode))
|
||||
ANT_GL_DECL(void, glReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels))
|
||||
ANT_GL_DECL(void, glRectd, (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2))
|
||||
ANT_GL_DECL(void, glRectdv, (const GLdouble *v1, const GLdouble *v2))
|
||||
ANT_GL_DECL(void, glRectf, (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2))
|
||||
ANT_GL_DECL(void, glRectfv, (const GLfloat *v1, const GLfloat *v2))
|
||||
ANT_GL_DECL(void, glRecti, (GLint x1, GLint y1, GLint x2, GLint y2))
|
||||
ANT_GL_DECL(void, glRectiv, (const GLint *v1, const GLint *v2))
|
||||
ANT_GL_DECL(void, glRects, (GLshort x1, GLshort y1, GLshort x2, GLshort y2))
|
||||
ANT_GL_DECL(void, glRectsv, (const GLshort *v1, const GLshort *v2))
|
||||
ANT_GL_DECL(GLint, glRenderMode, (GLenum mode))
|
||||
ANT_GL_DECL(void, glRotated, (GLdouble angle, GLdouble x, GLdouble y, GLdouble z))
|
||||
ANT_GL_DECL(void, glRotatef, (GLfloat angle, GLfloat x, GLfloat y, GLfloat z))
|
||||
ANT_GL_DECL(void, glScaled, (GLdouble x, GLdouble y, GLdouble z))
|
||||
ANT_GL_DECL(void, glScalef, (GLfloat x, GLfloat y, GLfloat z))
|
||||
ANT_GL_DECL(void, glScissor, (GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
ANT_GL_DECL(void, glSelectBuffer, (GLsizei size, GLuint *buffer))
|
||||
ANT_GL_DECL(void, glShadeModel, (GLenum mode))
|
||||
ANT_GL_DECL(void, glStencilFunc, (GLenum func, GLint ref, GLuint mask))
|
||||
ANT_GL_DECL(void, glStencilMask, (GLuint mask))
|
||||
ANT_GL_DECL(void, glStencilOp, (GLenum fail, GLenum zfail, GLenum zpass))
|
||||
ANT_GL_DECL(void, glTexCoord1d, (GLdouble s))
|
||||
ANT_GL_DECL(void, glTexCoord1dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glTexCoord1f, (GLfloat s))
|
||||
ANT_GL_DECL(void, glTexCoord1fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glTexCoord1i, (GLint s))
|
||||
ANT_GL_DECL(void, glTexCoord1iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glTexCoord1s, (GLshort s))
|
||||
ANT_GL_DECL(void, glTexCoord1sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glTexCoord2d, (GLdouble s, GLdouble t))
|
||||
ANT_GL_DECL(void, glTexCoord2dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glTexCoord2f, (GLfloat s, GLfloat t))
|
||||
ANT_GL_DECL(void, glTexCoord2fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glTexCoord2i, (GLint s, GLint t))
|
||||
ANT_GL_DECL(void, glTexCoord2iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glTexCoord2s, (GLshort s, GLshort t))
|
||||
ANT_GL_DECL(void, glTexCoord2sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glTexCoord3d, (GLdouble s, GLdouble t, GLdouble r))
|
||||
ANT_GL_DECL(void, glTexCoord3dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glTexCoord3f, (GLfloat s, GLfloat t, GLfloat r))
|
||||
ANT_GL_DECL(void, glTexCoord3fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glTexCoord3i, (GLint s, GLint t, GLint r))
|
||||
ANT_GL_DECL(void, glTexCoord3iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glTexCoord3s, (GLshort s, GLshort t, GLshort r))
|
||||
ANT_GL_DECL(void, glTexCoord3sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glTexCoord4d, (GLdouble s, GLdouble t, GLdouble r, GLdouble q))
|
||||
ANT_GL_DECL(void, glTexCoord4dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glTexCoord4f, (GLfloat s, GLfloat t, GLfloat r, GLfloat q))
|
||||
ANT_GL_DECL(void, glTexCoord4fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glTexCoord4i, (GLint s, GLint t, GLint r, GLint q))
|
||||
ANT_GL_DECL(void, glTexCoord4iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glTexCoord4s, (GLshort s, GLshort t, GLshort r, GLshort q))
|
||||
ANT_GL_DECL(void, glTexCoord4sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glTexCoordPointer, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
|
||||
ANT_GL_DECL(void, glTexEnvf, (GLenum target, GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glTexEnvfv, (GLenum target, GLenum pname, const GLfloat *params))
|
||||
ANT_GL_DECL(void, glTexEnvi, (GLenum target, GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glTexEnviv, (GLenum target, GLenum pname, const GLint *params))
|
||||
ANT_GL_DECL(void, glTexGend, (GLenum coord, GLenum pname, GLdouble param))
|
||||
ANT_GL_DECL(void, glTexGendv, (GLenum coord, GLenum pname, const GLdouble *params))
|
||||
ANT_GL_DECL(void, glTexGenf, (GLenum coord, GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glTexGenfv, (GLenum coord, GLenum pname, const GLfloat *params))
|
||||
ANT_GL_DECL(void, glTexGeni, (GLenum coord, GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glTexGeniv, (GLenum coord, GLenum pname, const GLint *params))
|
||||
#if defined(ANT_OSX) && (MAC_OS_X_VERSION_MAX_ALLOWED < 1070)
|
||||
// Mac OSX < 10.7 redefines these OpenGL calls: glTexImage1D, glTexImage2D
|
||||
ANT_GL_DECL(void, glTexImage1D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_DECL(void, glTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
#else
|
||||
ANT_GL_DECL(void, glTexImage1D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_DECL(void, glTexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
#endif
|
||||
ANT_GL_DECL(void, glTexParameterf, (GLenum target, GLenum pname, GLfloat param))
|
||||
ANT_GL_DECL(void, glTexParameterfv, (GLenum target, GLenum pname, const GLfloat *params))
|
||||
ANT_GL_DECL(void, glTexParameteri, (GLenum target, GLenum pname, GLint param))
|
||||
ANT_GL_DECL(void, glTexParameteriv, (GLenum target, GLenum pname, const GLint *params))
|
||||
ANT_GL_DECL(void, glTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_DECL(void, glTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_DECL(void, glTranslated, (GLdouble x, GLdouble y, GLdouble z))
|
||||
ANT_GL_DECL(void, glTranslatef, (GLfloat x, GLfloat y, GLfloat z))
|
||||
ANT_GL_DECL(void, glVertex2d, (GLdouble x, GLdouble y))
|
||||
ANT_GL_DECL(void, glVertex2dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glVertex2f, (GLfloat x, GLfloat y))
|
||||
ANT_GL_DECL(void, glVertex2fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glVertex2i, (GLint x, GLint y))
|
||||
ANT_GL_DECL(void, glVertex2iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glVertex2s, (GLshort x, GLshort y))
|
||||
ANT_GL_DECL(void, glVertex2sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glVertex3d, (GLdouble x, GLdouble y, GLdouble z))
|
||||
ANT_GL_DECL(void, glVertex3dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glVertex3f, (GLfloat x, GLfloat y, GLfloat z))
|
||||
ANT_GL_DECL(void, glVertex3fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glVertex3i, (GLint x, GLint y, GLint z))
|
||||
ANT_GL_DECL(void, glVertex3iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glVertex3s, (GLshort x, GLshort y, GLshort z))
|
||||
ANT_GL_DECL(void, glVertex3sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glVertex4d, (GLdouble x, GLdouble y, GLdouble z, GLdouble w))
|
||||
ANT_GL_DECL(void, glVertex4dv, (const GLdouble *v))
|
||||
ANT_GL_DECL(void, glVertex4f, (GLfloat x, GLfloat y, GLfloat z, GLfloat w))
|
||||
ANT_GL_DECL(void, glVertex4fv, (const GLfloat *v))
|
||||
ANT_GL_DECL(void, glVertex4i, (GLint x, GLint y, GLint z, GLint w))
|
||||
ANT_GL_DECL(void, glVertex4iv, (const GLint *v))
|
||||
ANT_GL_DECL(void, glVertex4s, (GLshort x, GLshort y, GLshort z, GLshort w))
|
||||
ANT_GL_DECL(void, glVertex4sv, (const GLshort *v))
|
||||
ANT_GL_DECL(void, glVertexPointer, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
|
||||
ANT_GL_DECL(void, glViewport, (GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
|
||||
#ifdef ANT_WINDOWS
|
||||
ANT_GL_DECL(PROC, wglGetProcAddress, (LPCSTR))
|
||||
#endif
|
||||
|
||||
|
||||
#endif // !defined ANT_LOAD_OGL_INCLUDED
|
||||
539
AntTweakBar/src/LoadOGLCore.cpp
Normal file
@@ -0,0 +1,539 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file LoadOGLCore.cpp
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "TwPrecomp.h"
|
||||
#include "LoadOGLCore.h"
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#define ANT_NB_OGL_CORE_FUNC_MAX 512
|
||||
|
||||
struct COGLCoreFuncRec
|
||||
{
|
||||
const char * m_Name;
|
||||
GLCore::PFNOpenGL * m_FuncPtr;
|
||||
COGLCoreFuncRec() : m_Name(NULL), m_FuncPtr(NULL) {}
|
||||
};
|
||||
COGLCoreFuncRec g_OGLCoreFuncRec[ANT_NB_OGL_CORE_FUNC_MAX];
|
||||
int g_NbOGLCoreFunc = 0;
|
||||
#if defined(ANT_WINDOWS)
|
||||
HMODULE g_OGLCoreModule = NULL;
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// GL 1.0
|
||||
ANT_GL_CORE_IMPL(glCullFace)
|
||||
ANT_GL_CORE_IMPL(glFrontFace)
|
||||
ANT_GL_CORE_IMPL(glHint)
|
||||
ANT_GL_CORE_IMPL(glLineWidth)
|
||||
ANT_GL_CORE_IMPL(glPointSize)
|
||||
ANT_GL_CORE_IMPL(glPolygonMode)
|
||||
ANT_GL_CORE_IMPL(glScissor)
|
||||
ANT_GL_CORE_IMPL(glTexParameterf)
|
||||
ANT_GL_CORE_IMPL(glTexParameterfv)
|
||||
ANT_GL_CORE_IMPL(glTexParameteri)
|
||||
ANT_GL_CORE_IMPL(glTexParameteriv)
|
||||
ANT_GL_CORE_IMPL(glTexImage1D)
|
||||
ANT_GL_CORE_IMPL(glTexImage2D)
|
||||
ANT_GL_CORE_IMPL(glDrawBuffer)
|
||||
ANT_GL_CORE_IMPL(glClear)
|
||||
ANT_GL_CORE_IMPL(glClearColor)
|
||||
ANT_GL_CORE_IMPL(glClearStencil)
|
||||
ANT_GL_CORE_IMPL(glClearDepth)
|
||||
ANT_GL_CORE_IMPL(glStencilMask)
|
||||
ANT_GL_CORE_IMPL(glColorMask)
|
||||
ANT_GL_CORE_IMPL(glDepthMask)
|
||||
ANT_GL_CORE_IMPL(glDisable)
|
||||
ANT_GL_CORE_IMPL(glEnable)
|
||||
ANT_GL_CORE_IMPL(glFinish)
|
||||
ANT_GL_CORE_IMPL(glFlush)
|
||||
ANT_GL_CORE_IMPL(glBlendFunc)
|
||||
ANT_GL_CORE_IMPL(glLogicOp)
|
||||
ANT_GL_CORE_IMPL(glStencilFunc)
|
||||
ANT_GL_CORE_IMPL(glStencilOp)
|
||||
ANT_GL_CORE_IMPL(glDepthFunc)
|
||||
ANT_GL_CORE_IMPL(glPixelStoref)
|
||||
ANT_GL_CORE_IMPL(glPixelStorei)
|
||||
ANT_GL_CORE_IMPL(glReadBuffer)
|
||||
ANT_GL_CORE_IMPL(glReadPixels)
|
||||
ANT_GL_CORE_IMPL(glGetBooleanv)
|
||||
ANT_GL_CORE_IMPL(glGetDoublev)
|
||||
ANT_GL_CORE_IMPL(glGetError)
|
||||
ANT_GL_CORE_IMPL(glGetFloatv)
|
||||
ANT_GL_CORE_IMPL(glGetIntegerv)
|
||||
ANT_GL_CORE_IMPL(glGetString)
|
||||
ANT_GL_CORE_IMPL(glGetTexImage)
|
||||
ANT_GL_CORE_IMPL(glGetTexParameterfv)
|
||||
ANT_GL_CORE_IMPL(glGetTexParameteriv)
|
||||
ANT_GL_CORE_IMPL(glGetTexLevelParameterfv)
|
||||
ANT_GL_CORE_IMPL(glGetTexLevelParameteriv)
|
||||
ANT_GL_CORE_IMPL(glIsEnabled)
|
||||
ANT_GL_CORE_IMPL(glDepthRange)
|
||||
ANT_GL_CORE_IMPL(glViewport)
|
||||
// GL 1.1
|
||||
ANT_GL_CORE_IMPL(glDrawArrays)
|
||||
ANT_GL_CORE_IMPL(glDrawElements)
|
||||
ANT_GL_CORE_IMPL(glGetPointerv)
|
||||
ANT_GL_CORE_IMPL(glPolygonOffset)
|
||||
ANT_GL_CORE_IMPL(glCopyTexImage1D)
|
||||
ANT_GL_CORE_IMPL(glCopyTexImage2D)
|
||||
ANT_GL_CORE_IMPL(glCopyTexSubImage1D)
|
||||
ANT_GL_CORE_IMPL(glCopyTexSubImage2D)
|
||||
ANT_GL_CORE_IMPL(glTexSubImage1D)
|
||||
ANT_GL_CORE_IMPL(glTexSubImage2D)
|
||||
ANT_GL_CORE_IMPL(glBindTexture)
|
||||
ANT_GL_CORE_IMPL(glDeleteTextures)
|
||||
ANT_GL_CORE_IMPL(glGenTextures)
|
||||
ANT_GL_CORE_IMPL(glIsTexture)
|
||||
// GL 1.2
|
||||
ANT_GL_CORE_IMPL(glBlendColor)
|
||||
ANT_GL_CORE_IMPL(glBlendEquation)
|
||||
ANT_GL_CORE_IMPL(glDrawRangeElements)
|
||||
ANT_GL_CORE_IMPL(glTexImage3D)
|
||||
ANT_GL_CORE_IMPL(glTexSubImage3D)
|
||||
ANT_GL_CORE_IMPL(glCopyTexSubImage3D)
|
||||
// GL 1.3
|
||||
ANT_GL_CORE_IMPL(glActiveTexture)
|
||||
ANT_GL_CORE_IMPL(glSampleCoverage)
|
||||
ANT_GL_CORE_IMPL(glCompressedTexImage3D)
|
||||
ANT_GL_CORE_IMPL(glCompressedTexImage2D)
|
||||
ANT_GL_CORE_IMPL(glCompressedTexImage1D)
|
||||
ANT_GL_CORE_IMPL(glCompressedTexSubImage3D)
|
||||
ANT_GL_CORE_IMPL(glCompressedTexSubImage2D)
|
||||
ANT_GL_CORE_IMPL(glCompressedTexSubImage1D)
|
||||
ANT_GL_CORE_IMPL(glGetCompressedTexImage)
|
||||
// GL 1.4
|
||||
ANT_GL_CORE_IMPL(glBlendFuncSeparate)
|
||||
ANT_GL_CORE_IMPL(glMultiDrawArrays)
|
||||
ANT_GL_CORE_IMPL(glMultiDrawElements)
|
||||
ANT_GL_CORE_IMPL(glPointParameterf)
|
||||
ANT_GL_CORE_IMPL(glPointParameterfv)
|
||||
ANT_GL_CORE_IMPL(glPointParameteri)
|
||||
ANT_GL_CORE_IMPL(glPointParameteriv)
|
||||
// GL 1.5
|
||||
ANT_GL_CORE_IMPL(glGenQueries)
|
||||
ANT_GL_CORE_IMPL(glDeleteQueries)
|
||||
ANT_GL_CORE_IMPL(glIsQuery)
|
||||
ANT_GL_CORE_IMPL(glBeginQuery)
|
||||
ANT_GL_CORE_IMPL(glEndQuery)
|
||||
ANT_GL_CORE_IMPL(glGetQueryiv)
|
||||
ANT_GL_CORE_IMPL(glGetQueryObjectiv)
|
||||
ANT_GL_CORE_IMPL(glGetQueryObjectuiv)
|
||||
ANT_GL_CORE_IMPL(glBindBuffer)
|
||||
ANT_GL_CORE_IMPL(glDeleteBuffers)
|
||||
ANT_GL_CORE_IMPL(glGenBuffers)
|
||||
ANT_GL_CORE_IMPL(glIsBuffer)
|
||||
ANT_GL_CORE_IMPL(glBufferData)
|
||||
ANT_GL_CORE_IMPL(glBufferSubData)
|
||||
ANT_GL_CORE_IMPL(glGetBufferSubData)
|
||||
ANT_GL_CORE_IMPL(glMapBuffer)
|
||||
ANT_GL_CORE_IMPL(glUnmapBuffer)
|
||||
ANT_GL_CORE_IMPL(glGetBufferParameteriv)
|
||||
ANT_GL_CORE_IMPL(glGetBufferPointerv)
|
||||
// GL 2.0
|
||||
ANT_GL_CORE_IMPL(glBlendEquationSeparate)
|
||||
ANT_GL_CORE_IMPL(glDrawBuffers)
|
||||
ANT_GL_CORE_IMPL(glStencilOpSeparate)
|
||||
ANT_GL_CORE_IMPL(glStencilFuncSeparate)
|
||||
ANT_GL_CORE_IMPL(glStencilMaskSeparate)
|
||||
ANT_GL_CORE_IMPL(glAttachShader)
|
||||
ANT_GL_CORE_IMPL(glBindAttribLocation)
|
||||
ANT_GL_CORE_IMPL(glCompileShader)
|
||||
ANT_GL_CORE_IMPL(glCreateProgram)
|
||||
ANT_GL_CORE_IMPL(glCreateShader)
|
||||
ANT_GL_CORE_IMPL(glDeleteProgram)
|
||||
ANT_GL_CORE_IMPL(glDeleteShader)
|
||||
ANT_GL_CORE_IMPL(glDetachShader)
|
||||
ANT_GL_CORE_IMPL(glDisableVertexAttribArray)
|
||||
ANT_GL_CORE_IMPL(glEnableVertexAttribArray)
|
||||
ANT_GL_CORE_IMPL(glGetActiveAttrib)
|
||||
ANT_GL_CORE_IMPL(glGetActiveUniform)
|
||||
ANT_GL_CORE_IMPL(glGetAttachedShaders)
|
||||
ANT_GL_CORE_IMPL(glGetAttribLocation)
|
||||
ANT_GL_CORE_IMPL(glGetProgramiv)
|
||||
ANT_GL_CORE_IMPL(glGetProgramInfoLog)
|
||||
ANT_GL_CORE_IMPL(glGetShaderiv)
|
||||
ANT_GL_CORE_IMPL(glGetShaderInfoLog)
|
||||
ANT_GL_CORE_IMPL(glGetShaderSource)
|
||||
ANT_GL_CORE_IMPL(glGetUniformLocation)
|
||||
ANT_GL_CORE_IMPL(glGetUniformfv)
|
||||
ANT_GL_CORE_IMPL(glGetUniformiv)
|
||||
ANT_GL_CORE_IMPL(glGetVertexAttribdv)
|
||||
ANT_GL_CORE_IMPL(glGetVertexAttribfv)
|
||||
ANT_GL_CORE_IMPL(glGetVertexAttribiv)
|
||||
ANT_GL_CORE_IMPL(glGetVertexAttribPointerv)
|
||||
ANT_GL_CORE_IMPL(glIsProgram)
|
||||
ANT_GL_CORE_IMPL(glIsShader)
|
||||
ANT_GL_CORE_IMPL(glLinkProgram)
|
||||
ANT_GL_CORE_IMPL(glShaderSource)
|
||||
ANT_GL_CORE_IMPL(glUseProgram)
|
||||
ANT_GL_CORE_IMPL(glUniform1f)
|
||||
ANT_GL_CORE_IMPL(glUniform2f)
|
||||
ANT_GL_CORE_IMPL(glUniform3f)
|
||||
ANT_GL_CORE_IMPL(glUniform4f)
|
||||
ANT_GL_CORE_IMPL(glUniform1i)
|
||||
ANT_GL_CORE_IMPL(glUniform2i)
|
||||
ANT_GL_CORE_IMPL(glUniform3i)
|
||||
ANT_GL_CORE_IMPL(glUniform4i)
|
||||
ANT_GL_CORE_IMPL(glUniform1fv)
|
||||
ANT_GL_CORE_IMPL(glUniform2fv)
|
||||
ANT_GL_CORE_IMPL(glUniform3fv)
|
||||
ANT_GL_CORE_IMPL(glUniform4fv)
|
||||
ANT_GL_CORE_IMPL(glUniform1iv)
|
||||
ANT_GL_CORE_IMPL(glUniform2iv)
|
||||
ANT_GL_CORE_IMPL(glUniform3iv)
|
||||
ANT_GL_CORE_IMPL(glUniform4iv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix2fv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix3fv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix4fv)
|
||||
ANT_GL_CORE_IMPL(glValidateProgram)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib1d)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib1dv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib1f)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib1fv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib1s)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib1sv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib2d)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib2dv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib2f)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib2fv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib2s)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib2sv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib3d)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib3dv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib3f)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib3fv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib3s)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib3sv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4Nbv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4Niv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4Nsv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4Nub)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4Nubv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4Nuiv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4Nusv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4bv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4d)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4dv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4f)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4fv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4iv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4s)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4sv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4ubv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4uiv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttrib4usv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribPointer)
|
||||
/*
|
||||
// GL 2.1
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix2x3fv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix3x2fv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix2x4fv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix4x2fv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix3x4fv)
|
||||
ANT_GL_CORE_IMPL(glUniformMatrix4x3fv)
|
||||
// GL 3.0
|
||||
ANT_GL_CORE_IMPL(glColorMaski)
|
||||
ANT_GL_CORE_IMPL(glGetBooleani_v)
|
||||
ANT_GL_CORE_IMPL(glGetIntegeri_v)
|
||||
ANT_GL_CORE_IMPL(glEnablei)
|
||||
ANT_GL_CORE_IMPL(glDisablei)
|
||||
ANT_GL_CORE_IMPL(glIsEnabledi)
|
||||
ANT_GL_CORE_IMPL(glBeginTransformFeedback)
|
||||
ANT_GL_CORE_IMPL(glEndTransformFeedback)
|
||||
ANT_GL_CORE_IMPL(glBindBufferRange)
|
||||
ANT_GL_CORE_IMPL(glBindBufferBase)
|
||||
ANT_GL_CORE_IMPL(glTransformFeedbackVaryings)
|
||||
ANT_GL_CORE_IMPL(glGetTransformFeedbackVarying)
|
||||
ANT_GL_CORE_IMPL(glClampColor)
|
||||
ANT_GL_CORE_IMPL(glBeginConditionalRender)
|
||||
ANT_GL_CORE_IMPL(glEndConditionalRender)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribIPointer)
|
||||
ANT_GL_CORE_IMPL(glGetVertexAttribIiv)
|
||||
ANT_GL_CORE_IMPL(glGetVertexAttribIuiv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI1i)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI2i)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI3i)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4i)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI1ui)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI2ui)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI3ui)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4ui)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI1iv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI2iv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI3iv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4iv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI1uiv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI2uiv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI3uiv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4uiv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4bv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4sv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4ubv)
|
||||
ANT_GL_CORE_IMPL(glVertexAttribI4usv)
|
||||
ANT_GL_CORE_IMPL(glGetUniformuiv)
|
||||
ANT_GL_CORE_IMPL(glBindFragDataLocation)
|
||||
ANT_GL_CORE_IMPL(glGetFragDataLocation)
|
||||
ANT_GL_CORE_IMPL(glUniform1ui)
|
||||
ANT_GL_CORE_IMPL(glUniform2ui)
|
||||
ANT_GL_CORE_IMPL(glUniform3ui)
|
||||
ANT_GL_CORE_IMPL(glUniform4ui)
|
||||
ANT_GL_CORE_IMPL(glUniform1uiv)
|
||||
ANT_GL_CORE_IMPL(glUniform2uiv)
|
||||
ANT_GL_CORE_IMPL(glUniform3uiv)
|
||||
ANT_GL_CORE_IMPL(glUniform4uiv)
|
||||
ANT_GL_CORE_IMPL(glTexParameterIiv)
|
||||
ANT_GL_CORE_IMPL(glTexParameterIuiv)
|
||||
ANT_GL_CORE_IMPL(glGetTexParameterIiv)
|
||||
ANT_GL_CORE_IMPL(glGetTexParameterIuiv)
|
||||
ANT_GL_CORE_IMPL(glClearBufferiv)
|
||||
ANT_GL_CORE_IMPL(glClearBufferuiv)
|
||||
ANT_GL_CORE_IMPL(glClearBufferfv)
|
||||
ANT_GL_CORE_IMPL(glClearBufferfi)
|
||||
ANT_GL_CORE_IMPL(glGetStringi)
|
||||
// GL 3.1
|
||||
ANT_GL_CORE_IMPL(glDrawArraysInstanced)
|
||||
ANT_GL_CORE_IMPL(glDrawElementsInstanced)
|
||||
ANT_GL_CORE_IMPL(glTexBuffer)
|
||||
ANT_GL_CORE_IMPL(glPrimitiveRestartIndex)
|
||||
// GL 3.2
|
||||
//ANT_GL_CORE_IMPL(glGetInteger64i_v)
|
||||
//ANT_GL_CORE_IMPL(glGetBufferParameteri64v)
|
||||
ANT_GL_CORE_IMPL(glFramebufferTexture)
|
||||
*/
|
||||
|
||||
// GL_ARB_vertex_array_object
|
||||
#if defined(ANT_WINDOWS)
|
||||
ANT_GL_CORE_IMPL(glBindVertexArray)
|
||||
ANT_GL_CORE_IMPL(glDeleteVertexArrays)
|
||||
ANT_GL_CORE_IMPL(glGenVertexArrays)
|
||||
ANT_GL_CORE_IMPL(glIsVertexArray)
|
||||
#else
|
||||
// these extensions are loaded explicitely by LoadOpenGLCore
|
||||
// because they may not be avialable on non-OpenGL 3.2 environments
|
||||
namespace GLCore
|
||||
{
|
||||
PFNglBindVertexArray _glBindVertexArray = NULL;
|
||||
PFNglDeleteVertexArrays _glDeleteVertexArrays = NULL;
|
||||
PFNglGenVertexArrays _glGenVertexArrays = NULL;
|
||||
PFNglIsVertexArray _glIsVertexArray = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(ANT_WINDOWS)
|
||||
ANT_GL_CORE_IMPL(wglGetProcAddress)
|
||||
#endif
|
||||
|
||||
namespace GLCore { PFNGLGetProcAddress _glGetProcAddress = NULL; }
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if defined(ANT_WINDOWS)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int LoadOpenGLCore()
|
||||
{
|
||||
if( g_OGLCoreModule!=NULL )
|
||||
{
|
||||
return 1; // "OpenGL library already loaded"
|
||||
}
|
||||
|
||||
g_OGLCoreModule = LoadLibrary("OPENGL32.DLL");
|
||||
if( g_OGLCoreModule )
|
||||
{
|
||||
// Info(VERB_LOW, "Load %d OpenGL Core functions", g_NbOGLCoreFunc);
|
||||
|
||||
int Res = 1;
|
||||
|
||||
// Use wglGetProcAddress to retreive Core functions
|
||||
_glGetProcAddress = reinterpret_cast<GLCore::PFNGLGetProcAddress>(GetProcAddress(g_OGLCoreModule, "wglGetProcAddress"));
|
||||
if( _glGetProcAddress!=NULL )
|
||||
for(int i=0; i<g_NbOGLCoreFunc; ++i)
|
||||
{
|
||||
assert(g_OGLCoreFuncRec[i].m_FuncPtr!=NULL);
|
||||
assert(*(g_OGLCoreFuncRec[i].m_FuncPtr)==NULL);
|
||||
assert(g_OGLCoreFuncRec[i].m_Name!=NULL);
|
||||
assert(strlen(g_OGLCoreFuncRec[i].m_Name)>0);
|
||||
// Try to get the function pointer with wglGetProcAddress
|
||||
*(g_OGLCoreFuncRec[i].m_FuncPtr) = reinterpret_cast<GLCore::PFNOpenGL>(_glGetProcAddress(g_OGLCoreFuncRec[i].m_Name));
|
||||
if( *(g_OGLCoreFuncRec[i].m_FuncPtr)==NULL )
|
||||
{
|
||||
// Try to get the function pointer with GetProcAddress
|
||||
*(g_OGLCoreFuncRec[i].m_FuncPtr) = reinterpret_cast<GLCore::PFNOpenGL>(GetProcAddress(g_OGLCoreModule, g_OGLCoreFuncRec[i].m_Name));
|
||||
if( *(g_OGLCoreFuncRec[i].m_FuncPtr)==NULL )
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
fprintf(stderr, "AntTweakBar: Cannot load function %s\n", g_OGLCoreFuncRec[i].m_Name);
|
||||
#endif
|
||||
Res = 0; // Error("cannot find OpenGL Core function");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return Res;
|
||||
}
|
||||
else
|
||||
{
|
||||
// InternDisplayLastErrorWIN("Cannot load opengl32 DLL", false);
|
||||
return 0; // cannot load DLL
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int UnloadOpenGLCore()
|
||||
{
|
||||
if( g_OGLCoreModule==NULL )
|
||||
{
|
||||
return 1; // "OpenGL library not loaded"
|
||||
}
|
||||
|
||||
// Info(VERB_LOW, "Unload %d OpenGL Core functions", g_NbOGLCoreFunc);
|
||||
for(int i=0; i<g_NbOGLCoreFunc; ++i)
|
||||
{
|
||||
assert(g_OGLCoreFuncRec[i].m_FuncPtr!=NULL);
|
||||
assert(*(g_OGLCoreFuncRec[i].m_FuncPtr)!=NULL);
|
||||
assert(g_OGLCoreFuncRec[i].m_Name!=NULL);
|
||||
assert(strlen(g_OGLCoreFuncRec[i].m_Name)>0);
|
||||
*(g_OGLCoreFuncRec[i].m_FuncPtr) = NULL;
|
||||
}
|
||||
if( FreeLibrary(g_OGLCoreModule) )
|
||||
{
|
||||
// Info(VERB_LOW, "OpenGL library unloaded");
|
||||
g_OGLCoreModule = NULL;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// InternDisplayLastErrorWIN("Cannot unload opengl32 DLL", false);
|
||||
return 0; // cannot unload opengl32.dll
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
namespace GLCore
|
||||
{
|
||||
|
||||
PFNOpenGL Record(const char *_FuncName, PFNOpenGL *_FuncPtr)
|
||||
{
|
||||
if( g_NbOGLCoreFunc>=ANT_NB_OGL_CORE_FUNC_MAX )
|
||||
{
|
||||
fprintf(stderr, "Too many OpenGL Core functions declared. Change ANT_NB_OGL_CORE_FUNC_MAX.");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
g_OGLCoreFuncRec[g_NbOGLCoreFunc].m_Name = _FuncName;
|
||||
g_OGLCoreFuncRec[g_NbOGLCoreFunc].m_FuncPtr = _FuncPtr;
|
||||
++g_NbOGLCoreFunc;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
} // namespace GL
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#endif // defined(ANT_WINDOWS)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if defined(ANT_UNIX)
|
||||
|
||||
int LoadOpenGLCore()
|
||||
{
|
||||
_glGetProcAddress = reinterpret_cast<GLCore::PFNGLGetProcAddress>(glXGetProcAddressARB);
|
||||
|
||||
_glBindVertexArray = reinterpret_cast<PFNglBindVertexArray>(_glGetProcAddress("glBindVertexArray"));
|
||||
_glDeleteVertexArrays = reinterpret_cast<PFNglDeleteVertexArrays>(_glGetProcAddress("glDeleteVertexArrays"));
|
||||
_glGenVertexArrays = reinterpret_cast<PFNglGenVertexArrays>(_glGetProcAddress("glGenVertexArrays"));
|
||||
_glIsVertexArray = reinterpret_cast<PFNglIsVertexArray>(_glGetProcAddress("glIsVertexArray"));
|
||||
|
||||
if( _glBindVertexArray==NULL || _glDeleteVertexArrays==NULL || _glGenVertexArrays==NULL || _glIsVertexArray==NULL )
|
||||
{
|
||||
fprintf(stderr, "AntTweakBar: OpenGL Core Profile functions cannot be loaded.\n");
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
|
||||
int UnloadOpenGLCore()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
#elif defined(ANT_OSX)
|
||||
|
||||
#include <dlfcn.h>
|
||||
|
||||
static void *gl_dyld = NULL;
|
||||
static const char *gl_prefix = "_";
|
||||
void *NSGLCoreGetProcAddressNew(const GLubyte *name)
|
||||
{
|
||||
void *proc=NULL;
|
||||
if (gl_dyld == NULL)
|
||||
{
|
||||
gl_dyld = dlopen("OpenGL",RTLD_LAZY);
|
||||
}
|
||||
if (gl_dyld)
|
||||
{
|
||||
NSString *sym = [[NSString alloc] initWithFormat: @"%s%s",gl_prefix,name];
|
||||
proc = dlsym(gl_dyld,[sym UTF8String]);
|
||||
[sym release];
|
||||
}
|
||||
return proc;
|
||||
}
|
||||
|
||||
int LoadOpenGLCore()
|
||||
{
|
||||
_glGetProcAddress = reinterpret_cast<GLCore::PFNGLGetProcAddress>(NSGLCoreGetProcAddressNew);
|
||||
|
||||
_glBindVertexArray = reinterpret_cast<PFNglBindVertexArray>(_glGetProcAddress("glBindVertexArray"));
|
||||
_glDeleteVertexArrays = reinterpret_cast<PFNglDeleteVertexArrays>(_glGetProcAddress("glDeleteVertexArrays"));
|
||||
_glGenVertexArrays = reinterpret_cast<PFNglGenVertexArrays>(_glGetProcAddress("glGenVertexArrays"));
|
||||
_glIsVertexArray = reinterpret_cast<PFNglIsVertexArray>(_glGetProcAddress("glIsVertexArray"));
|
||||
|
||||
if( _glBindVertexArray==NULL || _glDeleteVertexArrays==NULL || _glGenVertexArrays==NULL || _glIsVertexArray==NULL )
|
||||
{
|
||||
// remove the symbols underscore prefix (OSX 10.7 and later)
|
||||
gl_prefix = "";
|
||||
|
||||
_glBindVertexArray = reinterpret_cast<PFNglBindVertexArray>(_glGetProcAddress("glBindVertexArray"));
|
||||
_glDeleteVertexArrays = reinterpret_cast<PFNglDeleteVertexArrays>(_glGetProcAddress("glDeleteVertexArrays"));
|
||||
_glGenVertexArrays = reinterpret_cast<PFNglGenVertexArrays>(_glGetProcAddress("glGenVertexArrays"));
|
||||
_glIsVertexArray = reinterpret_cast<PFNglIsVertexArray>(_glGetProcAddress("glIsVertexArray"));
|
||||
|
||||
if( _glBindVertexArray==NULL || _glDeleteVertexArrays==NULL || _glGenVertexArrays==NULL || _glIsVertexArray==NULL )
|
||||
{
|
||||
fprintf(stderr, "AntTweakBar: OpenGL Core Profile functions cannot be loaded.\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int UnloadOpenGLCore()
|
||||
{
|
||||
if (gl_dyld)
|
||||
{
|
||||
dlclose(gl_dyld);
|
||||
gl_dyld = NULL;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
403
AntTweakBar/src/LoadOGLCore.h
Normal file
@@ -0,0 +1,403 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file LoadOGLCore.h
|
||||
// @brief OpenGL Core Profile declarations for dynamic loading
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_LOAD_OGL_CORE_INCLUDED
|
||||
#define ANT_LOAD_OGL_CORE_INCLUDED
|
||||
|
||||
|
||||
#define ANT_GL_CORE_DECL_NO_FORWARD(_Ret, _Fct, _Params) \
|
||||
extern "C" { typedef _Ret (APIENTRY* PFN##_Fct)_Params; } \
|
||||
namespace GLCore { extern PFN##_Fct _##_Fct; } \
|
||||
using GLCore::_##_Fct;
|
||||
|
||||
#if defined(ANT_WINDOWS)
|
||||
# define ANT_GL_CORE_DECL(_Ret, _Fct, _Params) \
|
||||
ANT_GL_CORE_DECL_NO_FORWARD(_Ret, _Fct, _Params)
|
||||
# define ANT_GL_CORE_IMPL(_Fct) \
|
||||
namespace GLCore { PFN##_Fct _##_Fct = (PFN##_Fct)Record(#_Fct, (PFNOpenGL*)(&_##_Fct)); }
|
||||
#elif defined(ANT_UNIX) || defined(ANT_OSX)
|
||||
# if !defined(APIENTRY)
|
||||
# define APIENTRY
|
||||
# endif
|
||||
# define ANT_GL_CORE_DECL(_Ret, _Fct, _Params) \
|
||||
ANT_GL_CORE_DECL_NO_FORWARD(_Ret, _Fct, _Params) \
|
||||
extern "C" { _Ret APIENTRY _Fct _Params; }
|
||||
# define ANT_GL_CORE_IMPL(_Fct) \
|
||||
namespace GLCore { PFN##_Fct _##_Fct = _Fct; }
|
||||
#endif
|
||||
|
||||
|
||||
int LoadOpenGLCore();
|
||||
int UnloadOpenGLCore();
|
||||
|
||||
namespace GLCore
|
||||
{
|
||||
extern "C" { typedef void (APIENTRY* PFNOpenGL)(); }
|
||||
PFNOpenGL Record(const char *_FuncName, PFNOpenGL *_FuncPtr);
|
||||
|
||||
extern "C" { typedef PFNOpenGL (APIENTRY *PFNGLGetProcAddress)(const char *); }
|
||||
extern PFNGLGetProcAddress _glGetProcAddress;
|
||||
}
|
||||
using GLCore::_glGetProcAddress;
|
||||
|
||||
|
||||
// GL 1.0
|
||||
ANT_GL_CORE_DECL(void, glCullFace, (GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glFrontFace, (GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glHint, (GLenum target, GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glLineWidth, (GLfloat width))
|
||||
ANT_GL_CORE_DECL(void, glPointSize, (GLfloat size))
|
||||
ANT_GL_CORE_DECL(void, glPolygonMode, (GLenum face, GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glScissor, (GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
ANT_GL_CORE_DECL(void, glTexParameterf, (GLenum target, GLenum pname, GLfloat param))
|
||||
ANT_GL_CORE_DECL(void, glTexParameterfv, (GLenum target, GLenum pname, const GLfloat *params))
|
||||
ANT_GL_CORE_DECL(void, glTexParameteri, (GLenum target, GLenum pname, GLint param))
|
||||
ANT_GL_CORE_DECL(void, glTexParameteriv, (GLenum target, GLenum pname, const GLint *params))
|
||||
#if defined(ANT_OSX) && (MAC_OS_X_VERSION_MAX_ALLOWED < 1070)
|
||||
// Mac OSX < 10.7 redefines these OpenGL calls: glTexImage1D, glTexImage2D
|
||||
ANT_GL_CORE_DECL(void, glTexImage1D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_CORE_DECL(void, glTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
#else
|
||||
ANT_GL_CORE_DECL(void, glTexImage1D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_CORE_DECL(void, glTexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
#endif
|
||||
ANT_GL_CORE_DECL(void, glDrawBuffer, (GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glClear, (GLbitfield mask))
|
||||
ANT_GL_CORE_DECL(void, glClearColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha))
|
||||
ANT_GL_CORE_DECL(void, glClearStencil, (GLint s))
|
||||
ANT_GL_CORE_DECL(void, glClearDepth, (GLclampd depth))
|
||||
ANT_GL_CORE_DECL(void, glStencilMask, (GLuint mask))
|
||||
ANT_GL_CORE_DECL(void, glColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha))
|
||||
ANT_GL_CORE_DECL(void, glDepthMask, (GLboolean flag))
|
||||
ANT_GL_CORE_DECL(void, glDisable, (GLenum cap))
|
||||
ANT_GL_CORE_DECL(void, glEnable, (GLenum cap))
|
||||
ANT_GL_CORE_DECL(void, glFinish, (void))
|
||||
ANT_GL_CORE_DECL(void, glFlush, (void))
|
||||
ANT_GL_CORE_DECL(void, glBlendFunc, (GLenum sfactor, GLenum dfactor))
|
||||
ANT_GL_CORE_DECL(void, glLogicOp, (GLenum opcode))
|
||||
ANT_GL_CORE_DECL(void, glStencilFunc, (GLenum func, GLint ref, GLuint mask))
|
||||
ANT_GL_CORE_DECL(void, glStencilOp, (GLenum fail, GLenum zfail, GLenum zpass))
|
||||
ANT_GL_CORE_DECL(void, glDepthFunc, (GLenum func))
|
||||
ANT_GL_CORE_DECL(void, glPixelStoref, (GLenum pname, GLfloat param))
|
||||
ANT_GL_CORE_DECL(void, glPixelStorei, (GLenum pname, GLint param))
|
||||
ANT_GL_CORE_DECL(void, glReadBuffer, (GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels))
|
||||
ANT_GL_CORE_DECL(void, glGetBooleanv, (GLenum pname, GLboolean *params))
|
||||
ANT_GL_CORE_DECL(void, glGetDoublev, (GLenum pname, GLdouble *params))
|
||||
ANT_GL_CORE_DECL(GLenum, glGetError, (void))
|
||||
ANT_GL_CORE_DECL(void, glGetFloatv, (GLenum pname, GLfloat *params))
|
||||
ANT_GL_CORE_DECL(void, glGetIntegerv, (GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(const GLubyte *, glGetString, (GLenum name))
|
||||
ANT_GL_CORE_DECL(void, glGetTexImage, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels))
|
||||
ANT_GL_CORE_DECL(void, glGetTexParameterfv, (GLenum target, GLenum pname, GLfloat *params))
|
||||
ANT_GL_CORE_DECL(void, glGetTexParameteriv, (GLenum target, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat *params))
|
||||
ANT_GL_CORE_DECL(void, glGetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(GLboolean, glIsEnabled, (GLenum cap))
|
||||
ANT_GL_CORE_DECL(void, glDepthRange, (GLclampd near, GLclampd far))
|
||||
ANT_GL_CORE_DECL(void, glViewport, (GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
// GL 1.1
|
||||
ANT_GL_CORE_DECL(void, glDrawArrays, (GLenum mode, GLint first, GLsizei count))
|
||||
ANT_GL_CORE_DECL(void, glDrawElements, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices))
|
||||
ANT_GL_CORE_DECL(void, glGetPointerv, (GLenum pname, GLvoid* *params))
|
||||
ANT_GL_CORE_DECL(void, glPolygonOffset, (GLfloat factor, GLfloat units))
|
||||
ANT_GL_CORE_DECL(void, glCopyTexImage1D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border))
|
||||
ANT_GL_CORE_DECL(void, glCopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border))
|
||||
ANT_GL_CORE_DECL(void, glCopyTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width))
|
||||
ANT_GL_CORE_DECL(void, glCopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
ANT_GL_CORE_DECL(void, glTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_CORE_DECL(void, glTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_CORE_DECL(void, glBindTexture, (GLenum target, GLuint texture))
|
||||
ANT_GL_CORE_DECL(void, glDeleteTextures, (GLsizei n, const GLuint *textures))
|
||||
ANT_GL_CORE_DECL(void, glGenTextures, (GLsizei n, GLuint *textures))
|
||||
ANT_GL_CORE_DECL(GLboolean, glIsTexture, (GLuint texture))
|
||||
// GL 1.2
|
||||
ANT_GL_CORE_DECL(void, glBlendColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha))
|
||||
ANT_GL_CORE_DECL(void, glBlendEquation, (GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glDrawRangeElements, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices))
|
||||
#if defined(ANT_OSX) && (MAC_OS_X_VERSION_MAX_ALLOWED < 1070)
|
||||
// Mac OSX < 10.7 redefines this OpenGL call: glTexImage3D
|
||||
ANT_GL_CORE_DECL(void, glTexImage3D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
#else
|
||||
ANT_GL_CORE_DECL(void, glTexImage3D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
#endif
|
||||
ANT_GL_CORE_DECL(void, glTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels))
|
||||
ANT_GL_CORE_DECL(void, glCopyTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
// GL 1.3
|
||||
ANT_GL_CORE_DECL(void, glActiveTexture, (GLenum texture))
|
||||
ANT_GL_CORE_DECL(void, glSampleCoverage, (GLclampf value, GLboolean invert))
|
||||
ANT_GL_CORE_DECL(void, glCompressedTexImage3D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data))
|
||||
ANT_GL_CORE_DECL(void, glCompressedTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data))
|
||||
ANT_GL_CORE_DECL(void, glCompressedTexImage1D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data))
|
||||
ANT_GL_CORE_DECL(void, glCompressedTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data))
|
||||
ANT_GL_CORE_DECL(void, glCompressedTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data))
|
||||
ANT_GL_CORE_DECL(void, glCompressedTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data))
|
||||
ANT_GL_CORE_DECL(void, glGetCompressedTexImage, (GLenum target, GLint level, GLvoid *img))
|
||||
// GL 1.4
|
||||
ANT_GL_CORE_DECL(void, glBlendFuncSeparate, (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha))
|
||||
ANT_GL_CORE_DECL(void, glMultiDrawArrays, (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount))
|
||||
ANT_GL_CORE_DECL(void, glMultiDrawElements, (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount))
|
||||
ANT_GL_CORE_DECL(void, glPointParameterf, (GLenum pname, GLfloat param))
|
||||
ANT_GL_CORE_DECL(void, glPointParameterfv, (GLenum pname, const GLfloat *params))
|
||||
ANT_GL_CORE_DECL(void, glPointParameteri, (GLenum pname, GLint param))
|
||||
ANT_GL_CORE_DECL(void, glPointParameteriv, (GLenum pname, const GLint *params))
|
||||
// GL 1.5
|
||||
#ifndef ANT_OSX
|
||||
typedef ptrdiff_t GLintptr;
|
||||
typedef ptrdiff_t GLsizeiptr;
|
||||
#endif
|
||||
ANT_GL_CORE_DECL(void, glGenQueries, (GLsizei n, GLuint *ids))
|
||||
ANT_GL_CORE_DECL(void, glDeleteQueries, (GLsizei n, const GLuint *ids))
|
||||
ANT_GL_CORE_DECL(GLboolean, glIsQuery, (GLuint id))
|
||||
ANT_GL_CORE_DECL(void, glBeginQuery, (GLenum target, GLuint id))
|
||||
ANT_GL_CORE_DECL(void, glEndQuery, (GLenum target))
|
||||
ANT_GL_CORE_DECL(void, glGetQueryiv, (GLenum target, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetQueryObjectiv, (GLuint id, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetQueryObjectuiv, (GLuint id, GLenum pname, GLuint *params))
|
||||
ANT_GL_CORE_DECL(void, glBindBuffer, (GLenum target, GLuint buffer))
|
||||
ANT_GL_CORE_DECL(void, glDeleteBuffers, (GLsizei n, const GLuint *buffers))
|
||||
ANT_GL_CORE_DECL(void, glGenBuffers, (GLsizei n, GLuint *buffers))
|
||||
ANT_GL_CORE_DECL(GLboolean, glIsBuffer, (GLuint buffer))
|
||||
ANT_GL_CORE_DECL(void, glBufferData, (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage))
|
||||
ANT_GL_CORE_DECL(void, glBufferSubData, (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data))
|
||||
ANT_GL_CORE_DECL(void, glGetBufferSubData, (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data))
|
||||
ANT_GL_CORE_DECL(GLvoid*, glMapBuffer, (GLenum target, GLenum access))
|
||||
ANT_GL_CORE_DECL(GLboolean, glUnmapBuffer, (GLenum target))
|
||||
ANT_GL_CORE_DECL(void, glGetBufferParameteriv, (GLenum target, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetBufferPointerv, (GLenum target, GLenum pname, GLvoid* *params))
|
||||
// GL 2.0
|
||||
typedef char GLchar;
|
||||
ANT_GL_CORE_DECL(void, glBlendEquationSeparate, (GLenum modeRGB, GLenum modeAlpha))
|
||||
ANT_GL_CORE_DECL(void, glDrawBuffers, (GLsizei n, const GLenum *bufs))
|
||||
ANT_GL_CORE_DECL(void, glStencilOpSeparate, (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass))
|
||||
ANT_GL_CORE_DECL(void, glStencilFuncSeparate, (GLenum face, GLenum func, GLint ref, GLuint mask))
|
||||
ANT_GL_CORE_DECL(void, glStencilMaskSeparate, (GLenum face, GLuint mask))
|
||||
ANT_GL_CORE_DECL(void, glAttachShader, (GLuint program, GLuint shader))
|
||||
ANT_GL_CORE_DECL(void, glBindAttribLocation, (GLuint program, GLuint index, const GLchar *name))
|
||||
ANT_GL_CORE_DECL(void, glCompileShader, (GLuint shader))
|
||||
ANT_GL_CORE_DECL(GLuint, glCreateProgram, (void))
|
||||
ANT_GL_CORE_DECL(GLuint, glCreateShader, (GLenum type))
|
||||
ANT_GL_CORE_DECL(void, glDeleteProgram, (GLuint program))
|
||||
ANT_GL_CORE_DECL(void, glDeleteShader, (GLuint shader))
|
||||
ANT_GL_CORE_DECL(void, glDetachShader, (GLuint program, GLuint shader))
|
||||
ANT_GL_CORE_DECL(void, glDisableVertexAttribArray, (GLuint index))
|
||||
ANT_GL_CORE_DECL(void, glEnableVertexAttribArray, (GLuint index))
|
||||
ANT_GL_CORE_DECL(void, glGetActiveAttrib, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name))
|
||||
ANT_GL_CORE_DECL(void, glGetActiveUniform, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name))
|
||||
ANT_GL_CORE_DECL(void, glGetAttachedShaders, (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj))
|
||||
ANT_GL_CORE_DECL(GLint, glGetAttribLocation, (GLuint program, const GLchar *name))
|
||||
ANT_GL_CORE_DECL(void, glGetProgramiv, (GLuint program, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetProgramInfoLog, (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog))
|
||||
ANT_GL_CORE_DECL(void, glGetShaderiv, (GLuint shader, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetShaderInfoLog, (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog))
|
||||
ANT_GL_CORE_DECL(void, glGetShaderSource, (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source))
|
||||
ANT_GL_CORE_DECL(GLint, glGetUniformLocation, (GLuint program, const GLchar *name))
|
||||
ANT_GL_CORE_DECL(void, glGetUniformfv, (GLuint program, GLint location, GLfloat *params))
|
||||
ANT_GL_CORE_DECL(void, glGetUniformiv, (GLuint program, GLint location, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetVertexAttribdv, (GLuint index, GLenum pname, GLdouble *params))
|
||||
ANT_GL_CORE_DECL(void, glGetVertexAttribfv, (GLuint index, GLenum pname, GLfloat *params))
|
||||
ANT_GL_CORE_DECL(void, glGetVertexAttribiv, (GLuint index, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetVertexAttribPointerv, (GLuint index, GLenum pname, GLvoid* *pointer))
|
||||
ANT_GL_CORE_DECL(GLboolean, glIsProgram, (GLuint program))
|
||||
ANT_GL_CORE_DECL(GLboolean, glIsShader, (GLuint shader))
|
||||
ANT_GL_CORE_DECL(void, glLinkProgram, (GLuint program))
|
||||
ANT_GL_CORE_DECL(void, glShaderSource, (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length))
|
||||
ANT_GL_CORE_DECL(void, glUseProgram, (GLuint program))
|
||||
ANT_GL_CORE_DECL(void, glUniform1f, (GLint location, GLfloat v0))
|
||||
ANT_GL_CORE_DECL(void, glUniform2f, (GLint location, GLfloat v0, GLfloat v1))
|
||||
ANT_GL_CORE_DECL(void, glUniform3f, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2))
|
||||
ANT_GL_CORE_DECL(void, glUniform4f, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3))
|
||||
ANT_GL_CORE_DECL(void, glUniform1i, (GLint location, GLint v0))
|
||||
ANT_GL_CORE_DECL(void, glUniform2i, (GLint location, GLint v0, GLint v1))
|
||||
ANT_GL_CORE_DECL(void, glUniform3i, (GLint location, GLint v0, GLint v1, GLint v2))
|
||||
ANT_GL_CORE_DECL(void, glUniform4i, (GLint location, GLint v0, GLint v1, GLint v2, GLint v3))
|
||||
ANT_GL_CORE_DECL(void, glUniform1fv, (GLint location, GLsizei count, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform2fv, (GLint location, GLsizei count, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform3fv, (GLint location, GLsizei count, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform4fv, (GLint location, GLsizei count, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform1iv, (GLint location, GLsizei count, const GLint *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform2iv, (GLint location, GLsizei count, const GLint *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform3iv, (GLint location, GLsizei count, const GLint *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform4iv, (GLint location, GLsizei count, const GLint *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glValidateProgram, (GLuint program))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib1d, (GLuint index, GLdouble x))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib1dv, (GLuint index, const GLdouble *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib1f, (GLuint index, GLfloat x))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib1fv, (GLuint index, const GLfloat *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib1s, (GLuint index, GLshort x))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib1sv, (GLuint index, const GLshort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib2d, (GLuint index, GLdouble x, GLdouble y))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib2dv, (GLuint index, const GLdouble *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib2f, (GLuint index, GLfloat x, GLfloat y))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib2fv, (GLuint index, const GLfloat *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib2s, (GLuint index, GLshort x, GLshort y))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib2sv, (GLuint index, const GLshort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib3d, (GLuint index, GLdouble x, GLdouble y, GLdouble z))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib3dv, (GLuint index, const GLdouble *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib3f, (GLuint index, GLfloat x, GLfloat y, GLfloat z))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib3fv, (GLuint index, const GLfloat *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib3s, (GLuint index, GLshort x, GLshort y, GLshort z))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib3sv, (GLuint index, const GLshort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4Nbv, (GLuint index, const GLbyte *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4Niv, (GLuint index, const GLint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4Nsv, (GLuint index, const GLshort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4Nub, (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4Nubv, (GLuint index, const GLubyte *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4Nuiv, (GLuint index, const GLuint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4Nusv, (GLuint index, const GLushort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4bv, (GLuint index, const GLbyte *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4d, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4dv, (GLuint index, const GLdouble *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4f, (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4fv, (GLuint index, const GLfloat *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4iv, (GLuint index, const GLint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4s, (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4sv, (GLuint index, const GLshort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4ubv, (GLuint index, const GLubyte *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4uiv, (GLuint index, const GLuint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttrib4usv, (GLuint index, const GLushort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribPointer, (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer))
|
||||
/*
|
||||
// GL 2.1
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix2x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix3x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix2x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix4x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix3x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glUniformMatrix4x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
|
||||
// GL 3.0
|
||||
ANT_GL_CORE_DECL(void, glColorMaski, (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a))
|
||||
ANT_GL_CORE_DECL(void, glGetBooleani_v, (GLenum target, GLuint index, GLboolean *data))
|
||||
ANT_GL_CORE_DECL(void, glGetIntegeri_v, (GLenum target, GLuint index, GLint *data))
|
||||
ANT_GL_CORE_DECL(void, glEnablei, (GLenum target, GLuint index))
|
||||
ANT_GL_CORE_DECL(void, glDisablei, (GLenum target, GLuint index))
|
||||
ANT_GL_CORE_DECL(GLboolean, glIsEnabledi, (GLenum target, GLuint index))
|
||||
ANT_GL_CORE_DECL(void, glBeginTransformFeedback, (GLenum primitiveMode))
|
||||
ANT_GL_CORE_DECL(void, glEndTransformFeedback, (void))
|
||||
ANT_GL_CORE_DECL(void, glBindBufferRange, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size))
|
||||
ANT_GL_CORE_DECL(void, glBindBufferBase, (GLenum target, GLuint index, GLuint buffer))
|
||||
ANT_GL_CORE_DECL(void, glTransformFeedbackVaryings, (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode))
|
||||
ANT_GL_CORE_DECL(void, glGetTransformFeedbackVarying, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name))
|
||||
ANT_GL_CORE_DECL(void, glClampColor, (GLenum target, GLenum clamp))
|
||||
ANT_GL_CORE_DECL(void, glBeginConditionalRender, (GLuint id, GLenum mode))
|
||||
ANT_GL_CORE_DECL(void, glEndConditionalRender, (void))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribIPointer, (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
|
||||
ANT_GL_CORE_DECL(void, glGetVertexAttribIiv, (GLuint index, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetVertexAttribIuiv, (GLuint index, GLenum pname, GLuint *params))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI1i, (GLuint index, GLint x))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI2i, (GLuint index, GLint x, GLint y))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI3i, (GLuint index, GLint x, GLint y, GLint z))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4i, (GLuint index, GLint x, GLint y, GLint z, GLint w))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI1ui, (GLuint index, GLuint x))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI2ui, (GLuint index, GLuint x, GLuint y))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI3ui, (GLuint index, GLuint x, GLuint y, GLuint z))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4ui, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI1iv, (GLuint index, const GLint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI2iv, (GLuint index, const GLint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI3iv, (GLuint index, const GLint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4iv, (GLuint index, const GLint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI1uiv, (GLuint index, const GLuint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI2uiv, (GLuint index, const GLuint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI3uiv, (GLuint index, const GLuint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4uiv, (GLuint index, const GLuint *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4bv, (GLuint index, const GLbyte *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4sv, (GLuint index, const GLshort *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4ubv, (GLuint index, const GLubyte *v))
|
||||
ANT_GL_CORE_DECL(void, glVertexAttribI4usv, (GLuint index, const GLushort *v))
|
||||
ANT_GL_CORE_DECL(void, glGetUniformuiv, (GLuint program, GLint location, GLuint *params))
|
||||
ANT_GL_CORE_DECL(void, glBindFragDataLocation, (GLuint program, GLuint color, const GLchar *name))
|
||||
ANT_GL_CORE_DECL(GLint, glGetFragDataLocation, (GLuint program, const GLchar *name))
|
||||
ANT_GL_CORE_DECL(void, glUniform1ui, (GLint location, GLuint v0))
|
||||
ANT_GL_CORE_DECL(void, glUniform2ui, (GLint location, GLuint v0, GLuint v1))
|
||||
ANT_GL_CORE_DECL(void, glUniform3ui, (GLint location, GLuint v0, GLuint v1, GLuint v2))
|
||||
ANT_GL_CORE_DECL(void, glUniform4ui, (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3))
|
||||
ANT_GL_CORE_DECL(void, glUniform1uiv, (GLint location, GLsizei count, const GLuint *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform2uiv, (GLint location, GLsizei count, const GLuint *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform3uiv, (GLint location, GLsizei count, const GLuint *value))
|
||||
ANT_GL_CORE_DECL(void, glUniform4uiv, (GLint location, GLsizei count, const GLuint *value))
|
||||
ANT_GL_CORE_DECL(void, glTexParameterIiv, (GLenum target, GLenum pname, const GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glTexParameterIuiv, (GLenum target, GLenum pname, const GLuint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetTexParameterIiv, (GLenum target, GLenum pname, GLint *params))
|
||||
ANT_GL_CORE_DECL(void, glGetTexParameterIuiv, (GLenum target, GLenum pname, GLuint *params))
|
||||
ANT_GL_CORE_DECL(void, glClearBufferiv, (GLenum buffer, GLint drawbuffer, const GLint *value))
|
||||
ANT_GL_CORE_DECL(void, glClearBufferuiv, (GLenum buffer, GLint drawbuffer, const GLuint *value))
|
||||
ANT_GL_CORE_DECL(void, glClearBufferfv, (GLenum buffer, GLint drawbuffer, const GLfloat *value))
|
||||
ANT_GL_CORE_DECL(void, glClearBufferfi, (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil))
|
||||
ANT_GL_CORE_DECL(const GLubyte *, glGetStringi, (GLenum name, GLuint index))
|
||||
// GL 3.1
|
||||
ANT_GL_CORE_DECL(void, glDrawArraysInstanced, (GLenum mode, GLint first, GLsizei count, GLsizei primcount))
|
||||
ANT_GL_CORE_DECL(void, glDrawElementsInstanced, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount))
|
||||
ANT_GL_CORE_DECL(void, glTexBuffer, (GLenum target, GLenum internalformat, GLuint buffer))
|
||||
ANT_GL_CORE_DECL(void, glPrimitiveRestartIndex, (GLuint index))
|
||||
// GL 3.2
|
||||
//typedef int64_t GLint64;
|
||||
//ANT_GL_CORE_DECL(void, glGetInteger64i_v, (GLenum target, GLuint index, GLint64 *data))
|
||||
//ANT_GL_CORE_DECL(void, glGetBufferParameteri64v, (GLenum target, GLenum pname, GLint64 *params))
|
||||
ANT_GL_CORE_DECL(void, glFramebufferTexture, (GLenum target, GLenum attachment, GLuint texture, GLint level))
|
||||
*/
|
||||
// GL_ARB_vertex_array_object
|
||||
ANT_GL_CORE_DECL_NO_FORWARD(void, glBindVertexArray, (GLuint array))
|
||||
ANT_GL_CORE_DECL_NO_FORWARD(void, glDeleteVertexArrays, (GLsizei n, const GLuint *arrays))
|
||||
ANT_GL_CORE_DECL_NO_FORWARD(void, glGenVertexArrays, (GLsizei n, GLuint *arrays))
|
||||
ANT_GL_CORE_DECL_NO_FORWARD(GLboolean, glIsVertexArray, (GLuint array))
|
||||
|
||||
|
||||
#ifdef ANT_WINDOWS
|
||||
ANT_GL_CORE_DECL(PROC, wglGetProcAddress, (LPCSTR))
|
||||
#endif
|
||||
|
||||
#ifndef GL_CLAMP_TO_EDGE
|
||||
# define GL_CLAMP_TO_EDGE 0x812F
|
||||
#endif
|
||||
#ifndef GL_COMPILE_STATUS
|
||||
# define GL_COMPILE_STATUS 0x8B81
|
||||
#endif
|
||||
#ifndef GL_INFO_LOG_LENGTH
|
||||
# define GL_INFO_LOG_LENGTH 0x8B84
|
||||
#endif
|
||||
#ifndef GL_LINK_STATUS
|
||||
# define GL_LINK_STATUS 0x8B82
|
||||
#endif
|
||||
#ifndef GL_ARRAY_BUFFER
|
||||
# define GL_ARRAY_BUFFER 0x8892
|
||||
#endif
|
||||
#ifndef GL_DYNAMIC_DRAW
|
||||
# define GL_DYNAMIC_DRAW 0x88E8
|
||||
#endif
|
||||
#ifndef GL_VERTEX_SHADER
|
||||
# define GL_VERTEX_SHADER 0x8B31
|
||||
#endif
|
||||
#ifndef GL_FRAGMENT_SHADER
|
||||
# define GL_FRAGMENT_SHADER 0x8B30
|
||||
#endif
|
||||
#ifndef GL_VERTEX_ARRAY_BINDING
|
||||
# define GL_VERTEX_ARRAY_BINDING 0x85B5
|
||||
#endif
|
||||
#ifndef GL_CURRENT_PROGRAM
|
||||
# define GL_CURRENT_PROGRAM 0x8B8D
|
||||
#endif
|
||||
#ifndef GL_ACTIVE_TEXTURE
|
||||
# define GL_ACTIVE_TEXTURE 0x84E0
|
||||
#endif
|
||||
#ifndef GL_TEXTURE0
|
||||
# define GL_TEXTURE0 0x84C0
|
||||
#endif
|
||||
#ifndef GL_BGRA
|
||||
# define GL_BGRA 0x80E1
|
||||
#endif
|
||||
|
||||
|
||||
#endif // !defined ANT_LOAD_OGL_CORE_INCLUDED
|
||||
102
AntTweakBar/src/Makefile
Normal file
@@ -0,0 +1,102 @@
|
||||
####### Compiler, tools and options
|
||||
|
||||
#---- LINUX
|
||||
SO_EXT = .so
|
||||
SO_VERSION = 1
|
||||
AR_EXT = .a
|
||||
|
||||
#---- Release
|
||||
CXXCFG = -O3
|
||||
LFLAGS =
|
||||
OUT_DIR = ../lib
|
||||
#---- Debug
|
||||
#CXXCFG = -g -D_DEBUG
|
||||
#LFLAGS =
|
||||
#OUT_DIR = ../lib/debug
|
||||
|
||||
|
||||
CXX = gcc
|
||||
CXXFLAGS = $(CXXCFG) -Wall -fPIC -fno-strict-aliasing -D_UNIX -D__PLACEMENT_NEW_INLINE
|
||||
INCPATH = -I../include -I/usr/local/include -I/usr/X11R6/include -I/usr/include
|
||||
LINK = gcc
|
||||
#LIBS = -L/usr/X11R6/lib -L. -lglfw -lGL -lGLU -lX11 -lXxf86vm -lXext -lpthread -lm
|
||||
#LIBS = -L/usr/X11R6/lib -lGL -lX11 -lXxf86vm -lXext -lpthread -lm
|
||||
LIBS =
|
||||
AR = ar cqs
|
||||
RANLIB =
|
||||
TAR = tar -cf
|
||||
GZIP = gzip -9f
|
||||
COPY = cp -f
|
||||
COPY_FILE = $(COPY) -p
|
||||
COPY_DIR = $(COPY) -pR
|
||||
DEL_FILE = rm -f
|
||||
SYMLINK = ln -sf
|
||||
DEL_DIR = rmdir
|
||||
MOVE = mv
|
||||
NO_STDERR = 2> /dev/null
|
||||
|
||||
|
||||
####### Files
|
||||
|
||||
|
||||
# name of the application:
|
||||
TARGET = AntTweakBar
|
||||
|
||||
# source files without extension:
|
||||
SRC_FILES = TwColors.cpp TwFonts.cpp TwOpenGL.cpp TwOpenGLCore.cpp TwBar.cpp TwMgr.cpp TwPrecomp.cpp LoadOGL.cpp LoadOGLCore.cpp TwEventGLFW.c TwEventGLUT.c TwEventSDL.c TwEventSDL12.c TwEventSDL13.c TwEventSFML.cpp TwEventX11.c
|
||||
|
||||
# build object list from source files
|
||||
OBJS_1 = $(SRC_FILES:.c=.o)
|
||||
OBJS = $(OBJS_1:.cpp=.o)
|
||||
|
||||
|
||||
####### Build rules
|
||||
|
||||
|
||||
#first: depend all
|
||||
first: all
|
||||
|
||||
all: Makefile $(TARGET)
|
||||
|
||||
# append dependencies to this Makefile
|
||||
#depend:
|
||||
# @echo "==== Make dependencies ====="
|
||||
# makedepend -Y
|
||||
# makedepend -a -Y -- $(CXXFLAGS) $(INCPATH) -- $(SRC_FILES) $(NO_STDERR)
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
@echo "===== Link $@ ====="
|
||||
$(LINK) $(LFLAGS) -shared -Wl,-soname,lib$(TARGET)$(SO_EXT).$(SO_VERSION) -o $(OUT_DIR)/lib$(TARGET)$(SO_EXT) $(OBJS) $(LIBS)
|
||||
$(SYMLINK) $(OUT_DIR)/lib$(TARGET)$(SO_EXT) $(OUT_DIR)/lib$(TARGET)$(SO_EXT).$(SO_VERSION)
|
||||
$(AR) $(OUT_DIR)/lib$(TARGET)$(AR_EXT) $(OBJS) $(LIBS)
|
||||
|
||||
.cpp.o:
|
||||
@echo "===== Compile $< ====="
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
|
||||
|
||||
.c.o:
|
||||
@echo "===== Compile $< ====="
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
|
||||
|
||||
clean:
|
||||
@echo "===== Clean ====="
|
||||
-$(DEL_FILE) *.o
|
||||
-$(DEL_FILE) *~ core *.core *.stackdump
|
||||
|
||||
|
||||
####### DEPENDENCIES
|
||||
|
||||
TwColors.o: TwPrecomp.h TwColors.h
|
||||
TwFonts.o: TwPrecomp.h ../include/AntTweakBar.h TwFonts.h TwMgr.h TwColors.h TwGraph.h AntPerfTimer.h
|
||||
TwOpenGL.o: TwPrecomp.h ../include/AntTweakBar.h TwOpenGL.h LoadOGL.h TwGraph.h TwColors.h TwFonts.h TwMgr.h AntPerfTimer.h
|
||||
TwOpenGLCore.o: TwPrecomp.h ../include/AntTweakBar.h TwOpenGLCore.h LoadOGLCore.h TwGraph.h TwColors.h TwFonts.h TwMgr.h AntPerfTimer.h
|
||||
TwBar.o: TwPrecomp.h ../include/AntTweakBar.h TwBar.h TwMgr.h TwColors.h TwFonts.h TwGraph.h AntPerfTimer.h
|
||||
TwMgr.o: TwPrecomp.h ../include/AntTweakBar.h TwMgr.h TwColors.h TwFonts.h TwGraph.h AntPerfTimer.h TwBar.h TwOpenGL.h res/TwXCursors.h
|
||||
TwPrecomp.o: TwPrecomp.h
|
||||
LoadOGL.o: TwPrecomp.h LoadOGL.h
|
||||
TwEventGLFW.o: ../include/AntTweakBar.h MiniGLFW.h
|
||||
TwEventGLUT.o: ../include/AntTweakBar.h MiniGLUT.h
|
||||
TwEventSDL.o: ../include/AntTweakBar.h
|
||||
TwEventSDL12.o: ../include/AntTweakBar.h MiniSDL12.h
|
||||
TwEventSDL13.o: ../include/AntTweakBar.h MiniSDL13.h
|
||||
TwEventX11.o: ../include/AntTweakBar.h
|
||||
97
AntTweakBar/src/Makefile.osx
Normal file
@@ -0,0 +1,97 @@
|
||||
####### Compiler, tools and options
|
||||
|
||||
SO_EXT = .dylib
|
||||
AR_EXT = .a
|
||||
|
||||
#---- Release
|
||||
CXXCFG = -O3
|
||||
LFLAGS =
|
||||
OUT_DIR = ../lib
|
||||
#---- Debug
|
||||
#CXXCFG = -g -D_DEBUG
|
||||
#LFLAGS =
|
||||
#OUT_DIR = ../lib/debug
|
||||
|
||||
#BASE = /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks
|
||||
CXX = g++
|
||||
CXXFLAGS = $(CXXCFG) -Wall -fPIC -fno-strict-aliasing -D_MACOSX -ObjC++ -D__PLACEMENT_NEW_INLINE
|
||||
INCPATH = -I../include -I/usr/local/include -I/usr/X11R6/include -I/usr/include
|
||||
#-I$(BASE)/OpenGL.framework/Headers/ -I$(BASE)/GLUT.framework/Headers/ -I$(BASE)/AppKit.framework/Headers/
|
||||
LINK = g++
|
||||
LIBS = -framework OpenGL -framework GLUT -framework AppKit
|
||||
AR = ar cqs
|
||||
RANLIB =
|
||||
TAR = tar -cf
|
||||
GZIP = gzip -9f
|
||||
COPY = cp -f
|
||||
COPY_FILE = $(COPY) -p
|
||||
COPY_DIR = $(COPY) -pR
|
||||
DEL_FILE = rm -f
|
||||
SYMLINK = ln -sf
|
||||
DEL_DIR = rmdir
|
||||
MOVE = mv
|
||||
NO_STDERR = 2> /dev/null
|
||||
|
||||
|
||||
####### Files
|
||||
|
||||
|
||||
# name of the application:
|
||||
TARGET = AntTweakBar
|
||||
|
||||
# source files without extension:
|
||||
SRC_FILES = TwColors.cpp TwFonts.cpp TwOpenGL.cpp TwOpenGLCore.cpp TwBar.cpp TwMgr.cpp LoadOGL.cpp LoadOGLCore.cpp TwEventGLFW.c TwEventGLUT.c TwEventSDL.c TwEventSDL12.c TwEventSDL13.c TwEventSFML.cpp
|
||||
|
||||
# build object list from source files
|
||||
OBJS_1 = $(SRC_FILES:.c=.o)
|
||||
OBJS = $(OBJS_1:.cpp=.o)
|
||||
|
||||
|
||||
####### Build rules
|
||||
|
||||
|
||||
#first: depend all
|
||||
first: all
|
||||
|
||||
all: Makefile $(TARGET)
|
||||
|
||||
# append dependencies to this Makefile
|
||||
#depend:
|
||||
# @echo "==== Make dependencies ====="
|
||||
# makedepend -Y
|
||||
# makedepend -a -Y -- $(CXXFLAGS) $(INCPATH) -- $(SRC_FILES) $(NO_STDERR)
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
@echo "===== Link $@ ====="
|
||||
$(LINK) $(LFLAGS) -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o $(OUT_DIR)/lib$(TARGET)$(SO_EXT) $(OBJS) $(LIBS)
|
||||
$(AR) $(OUT_DIR)/lib$(TARGET)$(AR_EXT) $(OBJS)
|
||||
|
||||
.cpp.o:
|
||||
@echo "===== Compile $< ====="
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
|
||||
|
||||
.c.o:
|
||||
@echo "===== Compile $< ====="
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
|
||||
|
||||
clean:
|
||||
@echo "===== Clean ====="
|
||||
-$(DEL_FILE) *.o
|
||||
-$(DEL_FILE) *~ core *.core *.stackdump
|
||||
|
||||
|
||||
####### DEPENDENCIES
|
||||
|
||||
TwColors.o: TwPrecomp.h TwColors.h
|
||||
TwFonts.o: TwPrecomp.h ../include/AntTweakBar.h TwFonts.h TwMgr.h TwColors.h TwGraph.h AntPerfTimer.h
|
||||
TwOpenGL.o: TwPrecomp.h ../include/AntTweakBar.h TwOpenGL.h LoadOGL.h TwGraph.h TwColors.h TwFonts.h TwMgr.h AntPerfTimer.h
|
||||
TwOpenGLCore.o: TwPrecomp.h ../include/AntTweakBar.h TwOpenGLCore.h LoadOGLCore.h TwGraph.h TwColors.h TwFonts.h TwMgr.h AntPerfTimer.h
|
||||
TwBar.o: TwPrecomp.h ../include/AntTweakBar.h TwBar.h TwMgr.h TwColors.h TwFonts.h TwGraph.h AntPerfTimer.h
|
||||
TwMgr.o: TwPrecomp.h ../include/AntTweakBar.h TwMgr.h TwColors.h TwFonts.h TwGraph.h AntPerfTimer.h TwBar.h TwOpenGL.h res/TwXCursors.h
|
||||
TwPrecomp.o: TwPrecomp.h
|
||||
LoadOGL.o: TwPrecomp.h LoadOGL.h
|
||||
TwEventGLFW.o: ../include/AntTweakBar.h MiniGLFW.h
|
||||
TwEventGLUT.o: ../include/AntTweakBar.h MiniGLUT.h
|
||||
TwEventSDL.o: ../include/AntTweakBar.h
|
||||
TwEventSDL12.o: ../include/AntTweakBar.h MiniSDL12.h
|
||||
TwEventSDL13.o: ../include/AntTweakBar.h MiniSDL13.h
|
||||
109
AntTweakBar/src/MiniGLFW.h
Normal file
@@ -0,0 +1,109 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file MiniGLFW.h
|
||||
// @brief A subset of GLFW definitions needed to compile helper functions
|
||||
// implemented in TwEventGLFW.c
|
||||
//
|
||||
// notes: - Private header
|
||||
// - AntTweakBar.dll does not need to link with GLFW,
|
||||
// it just needs some definitions for its helper functions.
|
||||
// - This header is provided to avoid the need of having GLFW
|
||||
// installed to recompile AntTweakBar.
|
||||
// - Do not use this header in your own programs, better use the
|
||||
// glfw.h header from the actual GLFW library SDK :
|
||||
// http://www.glfw.org
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if !defined MINI_GLFW_INCLUDED
|
||||
#define MINI_GLFW_INCLUDED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
// Key and button state/action definitions
|
||||
#define GLFW_RELEASE 0
|
||||
#define GLFW_PRESS 1
|
||||
|
||||
// Keyboard key definitions
|
||||
#define GLFW_KEY_UNKNOWN -1
|
||||
#define GLFW_KEY_SPACE 32
|
||||
#define GLFW_KEY_SPECIAL 256
|
||||
#define GLFW_KEY_ESC (GLFW_KEY_SPECIAL+1)
|
||||
#define GLFW_KEY_F1 (GLFW_KEY_SPECIAL+2)
|
||||
#define GLFW_KEY_F2 (GLFW_KEY_SPECIAL+3)
|
||||
#define GLFW_KEY_F3 (GLFW_KEY_SPECIAL+4)
|
||||
#define GLFW_KEY_F4 (GLFW_KEY_SPECIAL+5)
|
||||
#define GLFW_KEY_F5 (GLFW_KEY_SPECIAL+6)
|
||||
#define GLFW_KEY_F6 (GLFW_KEY_SPECIAL+7)
|
||||
#define GLFW_KEY_F7 (GLFW_KEY_SPECIAL+8)
|
||||
#define GLFW_KEY_F8 (GLFW_KEY_SPECIAL+9)
|
||||
#define GLFW_KEY_F9 (GLFW_KEY_SPECIAL+10)
|
||||
#define GLFW_KEY_F10 (GLFW_KEY_SPECIAL+11)
|
||||
#define GLFW_KEY_F11 (GLFW_KEY_SPECIAL+12)
|
||||
#define GLFW_KEY_F12 (GLFW_KEY_SPECIAL+13)
|
||||
#define GLFW_KEY_F13 (GLFW_KEY_SPECIAL+14)
|
||||
#define GLFW_KEY_F14 (GLFW_KEY_SPECIAL+15)
|
||||
#define GLFW_KEY_F15 (GLFW_KEY_SPECIAL+16)
|
||||
#define GLFW_KEY_F16 (GLFW_KEY_SPECIAL+17)
|
||||
#define GLFW_KEY_F17 (GLFW_KEY_SPECIAL+18)
|
||||
#define GLFW_KEY_F18 (GLFW_KEY_SPECIAL+19)
|
||||
#define GLFW_KEY_F19 (GLFW_KEY_SPECIAL+20)
|
||||
#define GLFW_KEY_F20 (GLFW_KEY_SPECIAL+21)
|
||||
#define GLFW_KEY_F21 (GLFW_KEY_SPECIAL+22)
|
||||
#define GLFW_KEY_F22 (GLFW_KEY_SPECIAL+23)
|
||||
#define GLFW_KEY_F23 (GLFW_KEY_SPECIAL+24)
|
||||
#define GLFW_KEY_F24 (GLFW_KEY_SPECIAL+25)
|
||||
#define GLFW_KEY_F25 (GLFW_KEY_SPECIAL+26)
|
||||
#define GLFW_KEY_UP (GLFW_KEY_SPECIAL+27)
|
||||
#define GLFW_KEY_DOWN (GLFW_KEY_SPECIAL+28)
|
||||
#define GLFW_KEY_LEFT (GLFW_KEY_SPECIAL+29)
|
||||
#define GLFW_KEY_RIGHT (GLFW_KEY_SPECIAL+30)
|
||||
#define GLFW_KEY_LSHIFT (GLFW_KEY_SPECIAL+31)
|
||||
#define GLFW_KEY_RSHIFT (GLFW_KEY_SPECIAL+32)
|
||||
#define GLFW_KEY_LCTRL (GLFW_KEY_SPECIAL+33)
|
||||
#define GLFW_KEY_RCTRL (GLFW_KEY_SPECIAL+34)
|
||||
#define GLFW_KEY_LALT (GLFW_KEY_SPECIAL+35)
|
||||
#define GLFW_KEY_RALT (GLFW_KEY_SPECIAL+36)
|
||||
#define GLFW_KEY_TAB (GLFW_KEY_SPECIAL+37)
|
||||
#define GLFW_KEY_ENTER (GLFW_KEY_SPECIAL+38)
|
||||
#define GLFW_KEY_BACKSPACE (GLFW_KEY_SPECIAL+39)
|
||||
#define GLFW_KEY_INSERT (GLFW_KEY_SPECIAL+40)
|
||||
#define GLFW_KEY_DEL (GLFW_KEY_SPECIAL+41)
|
||||
#define GLFW_KEY_PAGEUP (GLFW_KEY_SPECIAL+42)
|
||||
#define GLFW_KEY_PAGEDOWN (GLFW_KEY_SPECIAL+43)
|
||||
#define GLFW_KEY_HOME (GLFW_KEY_SPECIAL+44)
|
||||
#define GLFW_KEY_END (GLFW_KEY_SPECIAL+45)
|
||||
#define GLFW_KEY_KP_0 (GLFW_KEY_SPECIAL+46)
|
||||
#define GLFW_KEY_KP_1 (GLFW_KEY_SPECIAL+47)
|
||||
#define GLFW_KEY_KP_2 (GLFW_KEY_SPECIAL+48)
|
||||
#define GLFW_KEY_KP_3 (GLFW_KEY_SPECIAL+49)
|
||||
#define GLFW_KEY_KP_4 (GLFW_KEY_SPECIAL+50)
|
||||
#define GLFW_KEY_KP_5 (GLFW_KEY_SPECIAL+51)
|
||||
#define GLFW_KEY_KP_6 (GLFW_KEY_SPECIAL+52)
|
||||
#define GLFW_KEY_KP_7 (GLFW_KEY_SPECIAL+53)
|
||||
#define GLFW_KEY_KP_8 (GLFW_KEY_SPECIAL+54)
|
||||
#define GLFW_KEY_KP_9 (GLFW_KEY_SPECIAL+55)
|
||||
#define GLFW_KEY_KP_DIVIDE (GLFW_KEY_SPECIAL+56)
|
||||
#define GLFW_KEY_KP_MULTIPLY (GLFW_KEY_SPECIAL+57)
|
||||
#define GLFW_KEY_KP_SUBTRACT (GLFW_KEY_SPECIAL+58)
|
||||
#define GLFW_KEY_KP_ADD (GLFW_KEY_SPECIAL+59)
|
||||
#define GLFW_KEY_KP_DECIMAL (GLFW_KEY_SPECIAL+60)
|
||||
#define GLFW_KEY_KP_EQUAL (GLFW_KEY_SPECIAL+61)
|
||||
#define GLFW_KEY_KP_ENTER (GLFW_KEY_SPECIAL+62)
|
||||
#define GLFW_KEY_LAST GLFW_KEY_KP_ENTER
|
||||
|
||||
// Mouse button
|
||||
#define GLFW_MOUSE_BUTTON_LEFT 0
|
||||
#define GLFW_MOUSE_BUTTON_RIGHT 1
|
||||
#define GLFW_MOUSE_BUTTON_MIDDLE 2
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // !defined MINI_GLFW_INCLUDED
|
||||
|
||||
142
AntTweakBar/src/MiniGLUT.h
Normal file
@@ -0,0 +1,142 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file MiniGLUT.h
|
||||
// @brief A subset of GLUT definitions needed to compile helper functions
|
||||
// implemented in TwEventGLUT.c
|
||||
//
|
||||
// notes: - Private header
|
||||
// - AntTweakBar.dll does not need to link with GLUT,
|
||||
// it just needs some definitions for its helper functions.
|
||||
// - This header is provided to avoid the need of having GLUT
|
||||
// installed to recompile AntTweakBar.
|
||||
// - Do not use this header in your own programs, better use the
|
||||
// GLUT.h header from the actual GLUT library SDK :
|
||||
// http://opengl.org/resources/libraries/glut
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if !defined MINI_GLUT_INCLUDED
|
||||
#define MINI_GLUT_INCLUDED
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h> // needed by gl.h
|
||||
# define GLUT_CALL __stdcall
|
||||
# define GLUT_CALLBACK __cdecl
|
||||
# define GLUT_API __declspec(dllimport)
|
||||
#else
|
||||
# define GLUT_CALL
|
||||
# define GLUT_CALLBACK
|
||||
# define GLUT_API extern
|
||||
#endif
|
||||
|
||||
#if defined(_MACOSX)
|
||||
# include <OpenGL/gl.h>
|
||||
# include <OpenGL/glu.h>
|
||||
#else
|
||||
# include <GL/gl.h> // must be included after windows.h
|
||||
# include <GL/glu.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
// Mouse buttons
|
||||
#define GLUT_LEFT_BUTTON 0
|
||||
#define GLUT_MIDDLE_BUTTON 1
|
||||
#define GLUT_RIGHT_BUTTON 2
|
||||
|
||||
// Mouse button state
|
||||
#define GLUT_DOWN 0
|
||||
#define GLUT_UP 1
|
||||
|
||||
// glutGetModifiers return mask
|
||||
#define GLUT_ACTIVE_SHIFT 1
|
||||
#define GLUT_ACTIVE_CTRL 2
|
||||
#define GLUT_ACTIVE_ALT 4
|
||||
|
||||
// function keys
|
||||
#define GLUT_KEY_F1 1
|
||||
#define GLUT_KEY_F2 2
|
||||
#define GLUT_KEY_F3 3
|
||||
#define GLUT_KEY_F4 4
|
||||
#define GLUT_KEY_F5 5
|
||||
#define GLUT_KEY_F6 6
|
||||
#define GLUT_KEY_F7 7
|
||||
#define GLUT_KEY_F8 8
|
||||
#define GLUT_KEY_F9 9
|
||||
#define GLUT_KEY_F10 10
|
||||
#define GLUT_KEY_F11 11
|
||||
#define GLUT_KEY_F12 12
|
||||
|
||||
// directional keys
|
||||
#define GLUT_KEY_LEFT 100
|
||||
#define GLUT_KEY_UP 101
|
||||
#define GLUT_KEY_RIGHT 102
|
||||
#define GLUT_KEY_DOWN 103
|
||||
#define GLUT_KEY_PAGE_UP 104
|
||||
#define GLUT_KEY_PAGE_DOWN 105
|
||||
#define GLUT_KEY_HOME 106
|
||||
#define GLUT_KEY_END 107
|
||||
#define GLUT_KEY_INSERT 108
|
||||
|
||||
// display mode bit masks
|
||||
#define GLUT_RGB 0
|
||||
#define GLUT_RGBA GLUT_RGB
|
||||
#define GLUT_INDEX 1
|
||||
#define GLUT_SINGLE 0
|
||||
#define GLUT_DOUBLE 2
|
||||
#define GLUT_ACCUM 4
|
||||
#define GLUT_ALPHA 8
|
||||
#define GLUT_DEPTH 16
|
||||
#define GLUT_STENCIL 32
|
||||
|
||||
// timer
|
||||
#define GLUT_ELAPSED_TIME ((GLenum) 700)
|
||||
|
||||
|
||||
// functions subset
|
||||
GLUT_API void GLUT_CALL glutInit(int *argcp, char **argv);
|
||||
GLUT_API void GLUT_CALL glutInitDisplayMode(unsigned int mode);
|
||||
GLUT_API int GLUT_CALL glutCreateWindow(const char *title);
|
||||
GLUT_API int GLUT_CALL glutGetWindow(void);
|
||||
GLUT_API void GLUT_CALL glutSetWindow(int win);
|
||||
GLUT_API int GLUT_CALL glutCreateSubWindow(int win, int x, int y, int width, int height);
|
||||
GLUT_API int GLUT_CALL glutGet(GLenum type);
|
||||
GLUT_API void GLUT_CALL glutSwapBuffers();
|
||||
GLUT_API void GLUT_CALL glutPostRedisplay();
|
||||
GLUT_API void GLUT_CALL glutInitWindowPosition(int x, int y);
|
||||
GLUT_API void GLUT_CALL glutInitWindowSize(int width, int height);
|
||||
GLUT_API void GLUT_CALL glutPositionWindow(int x, int y);
|
||||
GLUT_API void GLUT_CALL glutReshapeWindow(int width, int height);
|
||||
GLUT_API void GLUT_CALL glutMainLoop();
|
||||
GLUT_API int GLUT_CALL glutCreateMenu(void (GLUT_CALLBACK *func)(int));
|
||||
GLUT_API void GLUT_CALL glutDisplayFunc(void (GLUT_CALLBACK *func)(void));
|
||||
GLUT_API void GLUT_CALL glutReshapeFunc(void (GLUT_CALLBACK *func)(int width, int height));
|
||||
GLUT_API void GLUT_CALL glutKeyboardFunc(void (GLUT_CALLBACK *func)(unsigned char key, int x, int y));
|
||||
GLUT_API void GLUT_CALL glutMouseFunc(void (GLUT_CALLBACK *func)(int button, int state, int x, int y));
|
||||
GLUT_API void GLUT_CALL glutMotionFunc(void (GLUT_CALLBACK *func)(int x, int y));
|
||||
GLUT_API void GLUT_CALL glutPassiveMotionFunc(void (GLUT_CALLBACK *func)(int x, int y));
|
||||
GLUT_API void GLUT_CALL glutSpecialFunc(void (GLUT_CALLBACK *func)(int key, int x, int y));
|
||||
GLUT_API int GLUT_CALL glutGetModifiers(void);
|
||||
GLUT_API void GLUT_CALL glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUT_API void GLUT_CALL glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUT_API void GLUT_CALL glutSolidTeapot(GLdouble size);
|
||||
|
||||
// GLUT exit problem workaround (see glut.h)
|
||||
#if (defined(_WIN32) || defined(_WIN64)) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
extern void __cdecl exit(int);
|
||||
GLUT_API void GLUT_CALL __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
|
||||
static void GLUT_CALL glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
|
||||
#define glutInit glutInit_ATEXIT_HACK
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // !defined MINI_GLUT_INCLUDED
|
||||
|
||||
339
AntTweakBar/src/MiniSDL12.h
Normal file
@@ -0,0 +1,339 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file MiniSDL12.h
|
||||
// @brief A subset of SDL 1.2 definitions needed to compile helper
|
||||
// functions implemented in TwEventSDL12.c
|
||||
//
|
||||
// notes: - Private header
|
||||
// - AntTweakBar.dll does not need to link with SDL,
|
||||
// it just needs some definitions for its helper functions.
|
||||
// - This header is provided to avoid the need of having SDL
|
||||
// installed to recompile AntTweakBar.
|
||||
// - Do not use this header in your own programs, better use the
|
||||
// SDL.h header from the actual SDL library SDK :
|
||||
// http://www.libsdl.org
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if !defined MINI_SDL12_INCLUDED
|
||||
#define MINI_SDL12_INCLUDED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define SDL_MAJOR_VERSION 1
|
||||
#define SDL_MINOR_VERSION 2
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
# define SDL_DECLSPEC __declspec(dllimport)
|
||||
# define SDL_CALL __cdecl
|
||||
#else
|
||||
# define SDL_DECLSPEC
|
||||
# define SDL_CALL
|
||||
#endif
|
||||
|
||||
typedef unsigned char Uint8;
|
||||
typedef signed char Sint8;
|
||||
typedef unsigned short Uint16;
|
||||
typedef signed short Sint16;
|
||||
typedef unsigned int Uint32;
|
||||
typedef signed int Sint32;
|
||||
|
||||
// Subset of SDL keysym
|
||||
typedef enum {
|
||||
SDLK_BACKSPACE = 8,
|
||||
SDLK_TAB = 9,
|
||||
SDLK_CLEAR = 12,
|
||||
SDLK_RETURN = 13,
|
||||
SDLK_PAUSE = 19,
|
||||
SDLK_ESCAPE = 27,
|
||||
SDLK_DELETE = 127,
|
||||
SDLK_UP = 273,
|
||||
SDLK_DOWN = 274,
|
||||
SDLK_RIGHT = 275,
|
||||
SDLK_LEFT = 276,
|
||||
SDLK_INSERT = 277,
|
||||
SDLK_HOME = 278,
|
||||
SDLK_END = 279,
|
||||
SDLK_PAGEUP = 280,
|
||||
SDLK_PAGEDOWN = 281,
|
||||
SDLK_F1 = 282,
|
||||
SDLK_F2 = 283,
|
||||
SDLK_F3 = 284,
|
||||
SDLK_F4 = 285,
|
||||
SDLK_F5 = 286,
|
||||
SDLK_F6 = 287,
|
||||
SDLK_F7 = 288,
|
||||
SDLK_F8 = 289,
|
||||
SDLK_F9 = 290,
|
||||
SDLK_F10 = 291,
|
||||
SDLK_F11 = 292,
|
||||
SDLK_F12 = 293,
|
||||
} SDLKey;
|
||||
|
||||
typedef enum {
|
||||
KMOD_NONE = 0x0000,
|
||||
KMOD_LSHIFT = 0x0001,
|
||||
KMOD_RSHIFT = 0x0002,
|
||||
KMOD_LCTRL = 0x0040,
|
||||
KMOD_RCTRL = 0x0080,
|
||||
KMOD_LALT = 0x0100,
|
||||
KMOD_RALT = 0x0200,
|
||||
KMOD_LMETA = 0x0400,
|
||||
KMOD_RMETA = 0x0800,
|
||||
KMOD_NUM = 0x1000,
|
||||
KMOD_CAPS = 0x2000,
|
||||
KMOD_MODE = 0x4000,
|
||||
KMOD_RESERVED = 0x8000
|
||||
} SDLMod;
|
||||
|
||||
#define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL)
|
||||
#define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT)
|
||||
#define KMOD_ALT (KMOD_LALT|KMOD_RALT)
|
||||
#define KMOD_META (KMOD_LMETA|KMOD_RMETA)
|
||||
|
||||
typedef enum {
|
||||
SDL_NOEVENT = 0,
|
||||
SDL_ACTIVEEVENT,
|
||||
SDL_KEYDOWN,
|
||||
SDL_KEYUP,
|
||||
SDL_MOUSEMOTION,
|
||||
SDL_MOUSEBUTTONDOWN,
|
||||
SDL_MOUSEBUTTONUP,
|
||||
SDL_JOYAXISMOTION,
|
||||
SDL_JOYBALLMOTION,
|
||||
SDL_JOYHATMOTION,
|
||||
SDL_JOYBUTTONDOWN,
|
||||
SDL_JOYBUTTONUP,
|
||||
SDL_QUIT,
|
||||
SDL_SYSWMEVENT,
|
||||
SDL_EVENT_RESERVEDA,
|
||||
SDL_EVENT_RESERVEDB,
|
||||
SDL_VIDEORESIZE,
|
||||
SDL_VIDEOEXPOSE,
|
||||
SDL_EVENT_RESERVED2,
|
||||
SDL_EVENT_RESERVED3,
|
||||
SDL_EVENT_RESERVED4,
|
||||
SDL_EVENT_RESERVED5,
|
||||
SDL_EVENT_RESERVED6,
|
||||
SDL_EVENT_RESERVED7,
|
||||
SDL_USEREVENT = 24,
|
||||
SDL_NUMEVENTS = 32
|
||||
} SDLEventEnum;
|
||||
|
||||
typedef struct SDL_keysym {
|
||||
Uint8 scancode;
|
||||
SDLKey sym;
|
||||
SDLMod mod;
|
||||
Uint16 unicode;
|
||||
} SDL_keysym;
|
||||
|
||||
typedef struct SDL_ActiveEvent {
|
||||
Uint8 type;
|
||||
Uint8 gain;
|
||||
Uint8 state;
|
||||
} SDL_ActiveEvent;
|
||||
|
||||
typedef struct SDL_KeyboardEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 state;
|
||||
SDL_keysym keysym;
|
||||
} SDL_KeyboardEvent;
|
||||
|
||||
typedef struct SDL_MouseMotionEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 state;
|
||||
Uint16 x, y;
|
||||
Sint16 xrel;
|
||||
Sint16 yrel;
|
||||
} SDL_MouseMotionEvent;
|
||||
|
||||
typedef struct SDL_MouseButtonEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 button;
|
||||
Uint8 state;
|
||||
Uint16 x, y;
|
||||
} SDL_MouseButtonEvent;
|
||||
|
||||
typedef struct SDL_JoyAxisEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 axis;
|
||||
Sint16 value;
|
||||
} SDL_JoyAxisEvent;
|
||||
|
||||
typedef struct SDL_JoyBallEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 ball;
|
||||
Sint16 xrel;
|
||||
Sint16 yrel;
|
||||
} SDL_JoyBallEvent;
|
||||
|
||||
typedef struct SDL_JoyHatEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 hat;
|
||||
Uint8 value;
|
||||
} SDL_JoyHatEvent;
|
||||
|
||||
typedef struct SDL_JoyButtonEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 button;
|
||||
Uint8 state;
|
||||
} SDL_JoyButtonEvent;
|
||||
|
||||
typedef struct SDL_ResizeEvent {
|
||||
Uint8 type;
|
||||
int w;
|
||||
int h;
|
||||
} SDL_ResizeEvent;
|
||||
|
||||
typedef struct SDL_ExposeEvent {
|
||||
Uint8 type;
|
||||
} SDL_ExposeEvent;
|
||||
|
||||
typedef struct SDL_QuitEvent {
|
||||
Uint8 type;
|
||||
} SDL_QuitEvent;
|
||||
|
||||
typedef struct SDL_UserEvent {
|
||||
Uint8 type;
|
||||
int code;
|
||||
void *data1;
|
||||
void *data2;
|
||||
} SDL_UserEvent;
|
||||
|
||||
struct SDL_SysWMmsg;
|
||||
typedef struct SDL_SysWMmsg SDL_SysWMmsg;
|
||||
typedef struct SDL_SysWMEvent {
|
||||
Uint8 type;
|
||||
SDL_SysWMmsg *msg;
|
||||
} SDL_SysWMEvent;
|
||||
|
||||
typedef union {
|
||||
Uint8 type;
|
||||
SDL_ActiveEvent active;
|
||||
SDL_KeyboardEvent key;
|
||||
SDL_MouseMotionEvent motion;
|
||||
SDL_MouseButtonEvent button;
|
||||
SDL_JoyAxisEvent jaxis;
|
||||
SDL_JoyBallEvent jball;
|
||||
SDL_JoyHatEvent jhat;
|
||||
SDL_JoyButtonEvent jbutton;
|
||||
SDL_ResizeEvent resize;
|
||||
SDL_ExposeEvent expose;
|
||||
SDL_QuitEvent quit;
|
||||
SDL_UserEvent user;
|
||||
SDL_SysWMEvent syswm;
|
||||
char full[56];
|
||||
} SDL_Event;
|
||||
|
||||
typedef struct SDL_PixelFormat {
|
||||
void *palette;
|
||||
Uint8 BitsPerPixel;
|
||||
Uint8 BytesPerPixel;
|
||||
Uint8 Rloss;
|
||||
Uint8 Gloss;
|
||||
Uint8 Bloss;
|
||||
Uint8 Aloss;
|
||||
Uint8 Rshift;
|
||||
Uint8 Gshift;
|
||||
Uint8 Bshift;
|
||||
Uint8 Ashift;
|
||||
Uint32 Rmask;
|
||||
Uint32 Gmask;
|
||||
Uint32 Bmask;
|
||||
Uint32 Amask;
|
||||
Uint32 colorkey;
|
||||
Uint8 alpha;
|
||||
} SDL_PixelFormat;
|
||||
|
||||
typedef enum {
|
||||
SDL_GL_RED_SIZE,
|
||||
SDL_GL_GREEN_SIZE,
|
||||
SDL_GL_BLUE_SIZE,
|
||||
SDL_GL_ALPHA_SIZE,
|
||||
SDL_GL_BUFFER_SIZE,
|
||||
SDL_GL_DOUBLEBUFFER,
|
||||
SDL_GL_DEPTH_SIZE,
|
||||
SDL_GL_STENCIL_SIZE,
|
||||
SDL_GL_ACCUM_RED_SIZE,
|
||||
SDL_GL_ACCUM_GREEN_SIZE,
|
||||
SDL_GL_ACCUM_BLUE_SIZE,
|
||||
SDL_GL_ACCUM_ALPHA_SIZE,
|
||||
SDL_GL_STEREO,
|
||||
SDL_GL_MULTISAMPLEBUFFERS,
|
||||
SDL_GL_MULTISAMPLESAMPLES,
|
||||
SDL_GL_ACCELERATED_VISUAL,
|
||||
SDL_GL_RETAINED_BACKING,
|
||||
SDL_GL_CONTEXT_MAJOR_VERSION,
|
||||
SDL_GL_CONTEXT_MINOR_VERSION
|
||||
} SDL_GLattr;
|
||||
|
||||
typedef struct SDL_VideoInfo {
|
||||
Uint32 hw_available :1;
|
||||
Uint32 wm_available :1;
|
||||
Uint32 UnusedBits1 :6;
|
||||
Uint32 UnusedBits2 :1;
|
||||
Uint32 blit_hw :1;
|
||||
Uint32 blit_hw_CC :1;
|
||||
Uint32 blit_hw_A :1;
|
||||
Uint32 blit_sw :1;
|
||||
Uint32 blit_sw_CC :1;
|
||||
Uint32 blit_sw_A :1;
|
||||
Uint32 blit_fill :1;
|
||||
Uint32 UnusedBits3 :16;
|
||||
Uint32 video_mem;
|
||||
SDL_PixelFormat *vfmt;
|
||||
int current_w;
|
||||
int current_h;
|
||||
} SDL_VideoInfo;
|
||||
|
||||
#define SDL_INIT_VIDEO 0x00000020
|
||||
|
||||
#define SDL_SWSURFACE 0x00000000
|
||||
#define SDL_HWSURFACE 0x00000001
|
||||
#define SDL_ASYNCBLIT 0x00000004
|
||||
#define SDL_ANYFORMAT 0x10000000
|
||||
#define SDL_HWPALETTE 0x20000000
|
||||
#define SDL_DOUBLEBUF 0x40000000
|
||||
#define SDL_FULLSCREEN 0x80000000
|
||||
#define SDL_OPENGL 0x00000002
|
||||
#define SDL_OPENGLBLIT 0x0000000A
|
||||
#define SDL_RESIZABLE 0x00000010
|
||||
#define SDL_NOFRAME 0x00000020
|
||||
|
||||
#define SDL_DEFAULT_REPEAT_DELAY 500
|
||||
#define SDL_DEFAULT_REPEAT_INTERVAL 30
|
||||
|
||||
|
||||
// functions subset
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_Init(Uint32 flags);
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_Quit();
|
||||
extern SDL_DECLSPEC char * SDL_CALL SDL_GetError();
|
||||
extern SDL_DECLSPEC const SDL_VideoInfo * SDL_CALL SDL_GetVideoInfo();
|
||||
extern SDL_DECLSPEC struct SDL_Surface * SDL_CALL SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_GL_SwapBuffers();
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_WM_SetCaption(const char *title, const char *icon);
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_WM_GetCaption(char **title, char **icon);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_EnableUNICODE(int enable);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_EnableKeyRepeat(int delay, int interval);
|
||||
extern SDL_DECLSPEC Uint32 SDL_CALL SDL_GetTicks();
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_PollEvent(SDL_Event *event);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_WaitEvent(SDL_Event *event);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_PushEvent(SDL_Event *event);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // !defined MINI_SDL12_INCLUDED
|
||||
|
||||
428
AntTweakBar/src/MiniSDL13.h
Normal file
@@ -0,0 +1,428 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file MiniSDL13.h
|
||||
// @brief A subset of SDL 1.3 definitions needed to compile helper
|
||||
// functions implemented in TwEventSDL13.c
|
||||
//
|
||||
// notes: - Private header
|
||||
// - AntTweakBar.dll does not need to link with SDL,
|
||||
// it just needs some definitions for its helper functions.
|
||||
// - This header is provided to avoid the need of having SDL
|
||||
// installed to recompile AntTweakBar.
|
||||
// - Do not use this header in your own programs, better use the
|
||||
// SDL.h header from the actual SDL library SDK :
|
||||
// http://www.libsdl.org
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if !defined MINI_SDL_INCLUDED
|
||||
#define MINI_SDL_INCLUDED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define SDL_MAJOR_VERSION 1
|
||||
#define SDL_MINOR_VERSION 3
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
# define SDL_DECLSPEC __declspec(dllimport)
|
||||
# define SDL_CALL __cdecl
|
||||
#else
|
||||
# define SDL_DECLSPEC
|
||||
# define SDL_CALL
|
||||
#endif
|
||||
|
||||
typedef unsigned char Uint8;
|
||||
typedef signed char Sint8;
|
||||
typedef unsigned short Uint16;
|
||||
typedef signed short Sint16;
|
||||
typedef unsigned int Uint32;
|
||||
typedef signed int Sint32;
|
||||
|
||||
#define SDLK_SCANCODE_MASK (1<<30)
|
||||
#define SDL_SCANCODE_TO_KEYCODE(X) (X | SDLK_SCANCODE_MASK)
|
||||
|
||||
// Subset of SDL scancodes.
|
||||
// Note: some SDL scancodes seems to be wrong in the original
|
||||
// SDL scancode header file.
|
||||
typedef enum {
|
||||
SDL_SCANCODE_F1 = 58,
|
||||
SDL_SCANCODE_F2 = 59,
|
||||
SDL_SCANCODE_F3 = 60,
|
||||
SDL_SCANCODE_F4 = 61,
|
||||
SDL_SCANCODE_F5 = 62,
|
||||
SDL_SCANCODE_F6 = 63,
|
||||
SDL_SCANCODE_F7 = 64,
|
||||
SDL_SCANCODE_F8 = 65,
|
||||
SDL_SCANCODE_F9 = 66,
|
||||
SDL_SCANCODE_F10 = 67,
|
||||
SDL_SCANCODE_F11 = 68,
|
||||
SDL_SCANCODE_F12 = 69,
|
||||
SDL_SCANCODE_INSERT = 98, //73,
|
||||
SDL_SCANCODE_HOME = 95, //74,
|
||||
SDL_SCANCODE_PAGEUP = 97, //75,
|
||||
SDL_SCANCODE_DELETE = 99, //76,
|
||||
SDL_SCANCODE_END = 89, //77,
|
||||
SDL_SCANCODE_PAGEDOWN = 91, //78,
|
||||
SDL_SCANCODE_RIGHT = 94, //79,
|
||||
SDL_SCANCODE_LEFT = 92, //80,
|
||||
SDL_SCANCODE_DOWN = 90, //81,
|
||||
SDL_SCANCODE_UP = 96 //82
|
||||
} SDL_scancode;
|
||||
|
||||
// Subset of SDL keysym
|
||||
typedef enum {
|
||||
SDLK_BACKSPACE = 8,
|
||||
SDLK_TAB = 9,
|
||||
SDLK_CLEAR = 12,
|
||||
SDLK_RETURN = 13,
|
||||
SDLK_PAUSE = 19,
|
||||
SDLK_ESCAPE = 27,
|
||||
SDLK_DELETE = 127,
|
||||
SDLK_UP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UP),
|
||||
SDLK_DOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DOWN),
|
||||
SDLK_RIGHT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RIGHT),
|
||||
SDLK_LEFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LEFT),
|
||||
SDLK_INSERT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_INSERT),
|
||||
SDLK_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HOME),
|
||||
SDLK_END = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_END),
|
||||
SDLK_PAGEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEUP),
|
||||
SDLK_PAGEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEDOWN),
|
||||
SDLK_F1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F1),
|
||||
SDLK_F2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F2),
|
||||
SDLK_F3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F3),
|
||||
SDLK_F4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F4),
|
||||
SDLK_F5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F5),
|
||||
SDLK_F6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F6),
|
||||
SDLK_F7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F7),
|
||||
SDLK_F8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F8),
|
||||
SDLK_F9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F9),
|
||||
SDLK_F10 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F10),
|
||||
SDLK_F11 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F11),
|
||||
SDLK_F12 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F12)
|
||||
} SDLKey;
|
||||
|
||||
typedef enum {
|
||||
KMOD_NONE = 0x0000,
|
||||
KMOD_LSHIFT = 0x0001,
|
||||
KMOD_RSHIFT = 0x0002,
|
||||
KMOD_LCTRL = 0x0040,
|
||||
KMOD_RCTRL = 0x0080,
|
||||
KMOD_LALT = 0x0100,
|
||||
KMOD_RALT = 0x0200,
|
||||
KMOD_LGUI = 0x0400,
|
||||
KMOD_RGUI = 0x0800,
|
||||
KMOD_NUM = 0x1000,
|
||||
KMOD_CAPS = 0x2000,
|
||||
KMOD_MODE = 0x4000,
|
||||
KMOD_RESERVED = 0x8000
|
||||
} SDLMod;
|
||||
|
||||
#define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL)
|
||||
#define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT)
|
||||
#define KMOD_ALT (KMOD_LALT|KMOD_RALT)
|
||||
#define KMOD_GUI (KMOD_LGUI|KMOD_RGUI)
|
||||
|
||||
typedef enum {
|
||||
SDL_NOEVENT = 0,
|
||||
SDL_WINDOWEVENT,
|
||||
SDL_KEYDOWN,
|
||||
SDL_KEYUP,
|
||||
SDL_TEXTEDITING,
|
||||
SDL_TEXTINPUT,
|
||||
SDL_MOUSEMOTION,
|
||||
SDL_MOUSEBUTTONDOWN,
|
||||
SDL_MOUSEBUTTONUP,
|
||||
SDL_MOUSEWHEEL,
|
||||
SDL_JOYAXISMOTION,
|
||||
SDL_JOYBALLMOTION,
|
||||
SDL_JOYHATMOTION,
|
||||
SDL_JOYBUTTONDOWN,
|
||||
SDL_JOYBUTTONUP,
|
||||
SDL_QUIT,
|
||||
SDL_SYSWMEVENT,
|
||||
SDL_PROXIMITYIN,
|
||||
SDL_PROXIMITYOUT,
|
||||
SDL_EVENT_RESERVED1,
|
||||
SDL_EVENT_RESERVED2,
|
||||
SDL_EVENT_RESERVED3,
|
||||
SDL_USEREVENT = 24,
|
||||
SDL_NUMEVENTS = 32
|
||||
} SDL_EventType;
|
||||
|
||||
#define SDL_ACTIVEEVENT SDL_EVENT_RESERVED1
|
||||
#define SDL_VIDEORESIZE SDL_EVENT_RESERVED2
|
||||
#define SDL_VIDEOEXPOSE SDL_EVENT_RESERVED3
|
||||
|
||||
typedef Uint32 SDL_WindowID;
|
||||
|
||||
typedef struct SDL_keysym {
|
||||
SDL_scancode scancode;
|
||||
SDLKey sym;
|
||||
Uint16 mod;
|
||||
Uint32 unicode;
|
||||
} SDL_keysym;
|
||||
|
||||
typedef struct SDL_WindowEvent {
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
Uint8 event;
|
||||
int data1;
|
||||
int data2;
|
||||
} SDL_WindowEvent;
|
||||
|
||||
typedef struct SDL_KeyboardEvent {
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
Uint8 which;
|
||||
Uint8 state;
|
||||
SDL_keysym keysym;
|
||||
} SDL_KeyboardEvent;
|
||||
|
||||
#define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32)
|
||||
typedef struct SDL_TextEditingEvent {
|
||||
Uint8 type;
|
||||
char text[SDL_TEXTEDITINGEVENT_TEXT_SIZE];
|
||||
int start;
|
||||
int length;
|
||||
} SDL_TextEditingEvent;
|
||||
|
||||
#define SDL_TEXTINPUTEVENT_TEXT_SIZE (32)
|
||||
typedef struct SDL_TextInputEvent {
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
Uint8 which;
|
||||
char text[SDL_TEXTINPUTEVENT_TEXT_SIZE];
|
||||
} SDL_TextInputEvent;
|
||||
|
||||
typedef struct SDL_MouseMotionEvent {
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
Uint8 which;
|
||||
Uint8 state;
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
int pressure;
|
||||
int pressure_max;
|
||||
int pressure_min;
|
||||
int rotation;
|
||||
int tilt;
|
||||
int cursor;
|
||||
int xrel;
|
||||
int yrel;
|
||||
} SDL_MouseMotionEvent;
|
||||
|
||||
typedef struct SDL_MouseButtonEvent {
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
Uint8 which;
|
||||
Uint8 button;
|
||||
Uint8 state;
|
||||
int x;
|
||||
int y;
|
||||
} SDL_MouseButtonEvent;
|
||||
|
||||
typedef struct SDL_MouseWheelEvent {
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
Uint8 which;
|
||||
int x;
|
||||
int y;
|
||||
} SDL_MouseWheelEvent;
|
||||
|
||||
typedef struct SDL_JoyAxisEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 axis;
|
||||
Sint16 value;
|
||||
} SDL_JoyAxisEvent;
|
||||
|
||||
typedef struct SDL_JoyBallEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 ball;
|
||||
Sint16 xrel;
|
||||
Sint16 yrel;
|
||||
} SDL_JoyBallEvent;
|
||||
|
||||
typedef struct SDL_JoyHatEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 hat;
|
||||
Uint8 value;
|
||||
} SDL_JoyHatEvent;
|
||||
|
||||
typedef struct SDL_JoyButtonEvent {
|
||||
Uint8 type;
|
||||
Uint8 which;
|
||||
Uint8 button;
|
||||
Uint8 state;
|
||||
} SDL_JoyButtonEvent;
|
||||
|
||||
typedef struct SDL_ActiveEvent
|
||||
{
|
||||
Uint8 type;
|
||||
Uint8 gain;
|
||||
Uint8 state;
|
||||
} SDL_ActiveEvent;
|
||||
|
||||
typedef struct SDL_ResizeEvent {
|
||||
Uint8 type;
|
||||
int w;
|
||||
int h;
|
||||
} SDL_ResizeEvent;
|
||||
|
||||
typedef struct SDL_ExposeEvent {
|
||||
Uint8 type;
|
||||
} SDL_ExposeEvent;
|
||||
|
||||
typedef struct SDL_QuitEvent {
|
||||
Uint8 type;
|
||||
} SDL_QuitEvent;
|
||||
|
||||
typedef struct SDL_UserEvent {
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
int code;
|
||||
void *data1;
|
||||
void *data2;
|
||||
} SDL_UserEvent;
|
||||
|
||||
struct SDL_SysWMmsg;
|
||||
typedef struct SDL_SysWMmsg SDL_SysWMmsg;
|
||||
typedef struct SDL_SysWMEvent {
|
||||
Uint8 type;
|
||||
SDL_SysWMmsg *msg;
|
||||
} SDL_SysWMEvent;
|
||||
|
||||
typedef struct SDL_ProximityEvent
|
||||
{
|
||||
Uint8 type;
|
||||
SDL_WindowID windowID;
|
||||
Uint8 which;
|
||||
int cursor;
|
||||
int x;
|
||||
int y;
|
||||
} SDL_ProximityEvent;
|
||||
|
||||
typedef union SDL_Event {
|
||||
Uint8 type;
|
||||
SDL_WindowEvent window;
|
||||
SDL_KeyboardEvent key;
|
||||
SDL_TextEditingEvent edit;
|
||||
SDL_TextInputEvent text;
|
||||
SDL_MouseMotionEvent motion;
|
||||
SDL_MouseButtonEvent button;
|
||||
SDL_MouseWheelEvent wheel;
|
||||
SDL_JoyAxisEvent jaxis;
|
||||
SDL_JoyBallEvent jball;
|
||||
SDL_JoyHatEvent jhat;
|
||||
SDL_JoyButtonEvent jbutton;
|
||||
SDL_QuitEvent quit;
|
||||
SDL_UserEvent user;
|
||||
SDL_SysWMEvent syswm;
|
||||
SDL_ProximityEvent proximity;
|
||||
SDL_ActiveEvent active;
|
||||
SDL_ResizeEvent resize;
|
||||
} SDL_Event;
|
||||
|
||||
typedef struct SDL_PixelFormat {
|
||||
void *palette;
|
||||
Uint8 BitsPerPixel;
|
||||
Uint8 BytesPerPixel;
|
||||
Uint8 Rloss;
|
||||
Uint8 Gloss;
|
||||
Uint8 Bloss;
|
||||
Uint8 Aloss;
|
||||
Uint8 Rshift;
|
||||
Uint8 Gshift;
|
||||
Uint8 Bshift;
|
||||
Uint8 Ashift;
|
||||
Uint32 Rmask;
|
||||
Uint32 Gmask;
|
||||
Uint32 Bmask;
|
||||
Uint32 Amask;
|
||||
} SDL_PixelFormat;
|
||||
|
||||
typedef enum SDL_GLattr {
|
||||
SDL_GL_RED_SIZE,
|
||||
SDL_GL_GREEN_SIZE,
|
||||
SDL_GL_BLUE_SIZE,
|
||||
SDL_GL_ALPHA_SIZE,
|
||||
SDL_GL_BUFFER_SIZE,
|
||||
SDL_GL_DOUBLEBUFFER,
|
||||
SDL_GL_DEPTH_SIZE,
|
||||
SDL_GL_STENCIL_SIZE,
|
||||
SDL_GL_ACCUM_RED_SIZE,
|
||||
SDL_GL_ACCUM_GREEN_SIZE,
|
||||
SDL_GL_ACCUM_BLUE_SIZE,
|
||||
SDL_GL_ACCUM_ALPHA_SIZE,
|
||||
SDL_GL_STEREO,
|
||||
SDL_GL_MULTISAMPLEBUFFERS,
|
||||
SDL_GL_MULTISAMPLESAMPLES,
|
||||
SDL_GL_ACCELERATED_VISUAL,
|
||||
SDL_GL_RETAINED_BACKING,
|
||||
SDL_GL_CONTEXT_MAJOR_VERSION,
|
||||
SDL_GL_CONTEXT_MINOR_VERSION
|
||||
} SDL_GLattr;
|
||||
|
||||
typedef struct SDL_VideoInfo {
|
||||
Uint32 hw_available :1;
|
||||
Uint32 wm_available :1;
|
||||
Uint32 UnusedBits1 :6;
|
||||
Uint32 UnusedBits2 :1;
|
||||
Uint32 blit_hw :1;
|
||||
Uint32 blit_hw_CC :1;
|
||||
Uint32 blit_hw_A :1;
|
||||
Uint32 blit_sw :1;
|
||||
Uint32 blit_sw_CC :1;
|
||||
Uint32 blit_sw_A :1;
|
||||
Uint32 blit_fill :1;
|
||||
Uint32 UnusedBits3 :16;
|
||||
Uint32 video_mem;
|
||||
SDL_PixelFormat *vfmt;
|
||||
int current_w;
|
||||
int current_h;
|
||||
} SDL_VideoInfo;
|
||||
|
||||
#define SDL_INIT_VIDEO 0x00000020
|
||||
|
||||
#define SDL_ANYFORMAT 0x00100000
|
||||
#define SDL_HWPALETTE 0x00200000
|
||||
#define SDL_DOUBLEBUF 0x00400000
|
||||
#define SDL_FULLSCREEN 0x00800000
|
||||
#define SDL_RESIZABLE 0x01000000
|
||||
#define SDL_NOFRAME 0x02000000
|
||||
#define SDL_OPENGL 0x04000000
|
||||
#define SDL_HWSURFACE 0x08000001
|
||||
|
||||
#define SDL_DEFAULT_REPEAT_DELAY 500
|
||||
#define SDL_DEFAULT_REPEAT_INTERVAL 30
|
||||
|
||||
|
||||
// functions subset
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_Init(Uint32 flags);
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_Quit();
|
||||
extern SDL_DECLSPEC char * SDL_CALL SDL_GetError();
|
||||
extern SDL_DECLSPEC const SDL_VideoInfo * SDL_CALL SDL_GetVideoInfo();
|
||||
extern SDL_DECLSPEC struct SDL_Surface * SDL_CALL SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_GL_SwapBuffers();
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_WM_SetCaption(const char *title, const char *icon);
|
||||
extern SDL_DECLSPEC void SDL_CALL SDL_WM_GetCaption(char **title, char **icon);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_EnableUNICODE(int enable);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_EnableKeyRepeat(int delay, int interval);
|
||||
extern SDL_DECLSPEC Uint32 SDL_CALL SDL_GetTicks();
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_PollEvent(SDL_Event *event);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_WaitEvent(SDL_Event *event);
|
||||
extern SDL_DECLSPEC int SDL_CALL SDL_PushEvent(SDL_Event *event);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // !defined MINI_SDL_INCLUDED
|
||||
|
||||
220
AntTweakBar/src/MiniSFML16.h
Normal file
@@ -0,0 +1,220 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file MiniSFML16.h
|
||||
// @brief A subset of SFML 1.6 definitions needed to compile helper
|
||||
// functions implemented in TwEventSFML.cpp
|
||||
//
|
||||
// notes: - Private header
|
||||
// - AntTweakBar.dll does not need to link with SFML,
|
||||
// it just needs some definitions for its helper functions.
|
||||
// - This header is provided to avoid the need of having SFML
|
||||
// installed to recompile AntTweakBar.
|
||||
// It declares a small and incomplete part of SFML classes.
|
||||
// For instance, many non-virtual methods have been stripped out.
|
||||
// - Do not use this header in your own programs, better use the
|
||||
// SFML headers from the actual SFML library SDK :
|
||||
// http://www.sfml-dev.org
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if !defined MINI_SFML16_INCLUDED
|
||||
#define MINI_SFML16_INCLUDED
|
||||
|
||||
namespace sf
|
||||
{
|
||||
|
||||
namespace Key { enum Code
|
||||
{
|
||||
A = 'a', B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,
|
||||
Num0 = '0', Num1, Num2, Num3, Num4, Num5, Num6, Num7, Num8, Num9,
|
||||
Escape = 256,
|
||||
LControl, LShift, LAlt, LSystem,
|
||||
RControl, RShift, RAlt, RSystem, Menu,
|
||||
LBracket, RBracket, SemiColon, Comma, Period, Quote, Slash, BackSlash,
|
||||
Tilde, Equal, Dash, Space, Return, Back, Tab,
|
||||
PageUp, PageDown, End, Home, Insert, Delete,
|
||||
Add, Subtract, Multiply, Divide, Left, Right, Up, Down,
|
||||
Numpad0, Numpad1, Numpad2, Numpad3, Numpad4, Numpad5, Numpad6, Numpad7, Numpad8, Numpad9,
|
||||
F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, Pause,
|
||||
Count
|
||||
}; }
|
||||
|
||||
namespace Mouse { enum Button { Left, Right, Middle, XButton1, XButton2, Count }; }
|
||||
|
||||
namespace Joy { enum Axis { AxisX, AxisY, AxisZ, AxisR, AxisU, AxisV, AxisPOV, AxisCount };
|
||||
enum { Count = 4, ButtonCount = 32}; }
|
||||
|
||||
typedef unsigned char Uint8;
|
||||
typedef unsigned int Uint32;
|
||||
|
||||
class Event
|
||||
{
|
||||
public :
|
||||
struct KeyEvent { Key::Code Code; bool Alt, Control, Shift; };
|
||||
struct TextEvent { Uint32 Unicode; };
|
||||
struct MouseMoveEvent { int X, Y; };
|
||||
struct MouseButtonEvent { Mouse::Button Button; int X, Y; };
|
||||
struct MouseWheelEvent { int Delta; };
|
||||
struct JoyMoveEvent { unsigned int JoystickId; Joy::Axis Axis; float Position; };
|
||||
struct JoyButtonEvent { unsigned int JoystickId, Button; };
|
||||
struct SizeEvent { unsigned int Width, Height; };
|
||||
enum EventType
|
||||
{
|
||||
Closed, Resized, LostFocus, GainedFocus, TextEntered, KeyPressed, KeyReleased,
|
||||
MouseWheelMoved, MouseButtonPressed, MouseButtonReleased, MouseMoved, MouseEntered, MouseLeft,
|
||||
JoyButtonPressed, JoyButtonReleased, JoyMoved
|
||||
};
|
||||
EventType Type;
|
||||
union
|
||||
{
|
||||
KeyEvent Key;
|
||||
TextEvent Text;
|
||||
MouseMoveEvent MouseMove;
|
||||
MouseButtonEvent MouseButton;
|
||||
MouseWheelEvent MouseWheel;
|
||||
JoyMoveEvent JoyMove;
|
||||
JoyButtonEvent JoyButton;
|
||||
SizeEvent Size;
|
||||
};
|
||||
};
|
||||
|
||||
} // namespace sf
|
||||
|
||||
|
||||
#ifdef USE_MINI_SFML
|
||||
// we also need some the definition of sf::RenderWindow to compile our SFML example
|
||||
|
||||
#include <string>
|
||||
#include <queue>
|
||||
|
||||
namespace sf
|
||||
{
|
||||
|
||||
class Input;
|
||||
class Drawable;
|
||||
typedef void* WindowHandle;
|
||||
namespace priv { class WindowImpl; }
|
||||
|
||||
class WindowListener
|
||||
{
|
||||
public :
|
||||
virtual void OnEvent(const Event& EventReceived) = 0;
|
||||
protected :
|
||||
virtual ~WindowListener();
|
||||
};
|
||||
|
||||
class VideoMode
|
||||
{
|
||||
public :
|
||||
VideoMode(unsigned int ModeWidth, unsigned int ModeHeight, unsigned int ModeBpp = 32);
|
||||
unsigned int Width, Height, BitsPerPixel;
|
||||
};
|
||||
|
||||
namespace Style { enum { None = 0, Titlebar = 1 << 0, Resize = 1 << 1, Close = 1 << 2, Fullscreen = 1 << 3 }; }
|
||||
|
||||
struct WindowSettings
|
||||
{
|
||||
explicit WindowSettings(unsigned int Depth = 24, unsigned int Stencil = 8, unsigned int Antialiasing = 0);
|
||||
unsigned int DepthBits, StencilBits, AntialiasingLevel;
|
||||
};
|
||||
|
||||
class Clock
|
||||
{
|
||||
public :
|
||||
Clock();
|
||||
float GetElapsedTime() const;
|
||||
void Reset();
|
||||
private :
|
||||
double myStartTime;
|
||||
};
|
||||
|
||||
class Input : public WindowListener
|
||||
{
|
||||
private :
|
||||
virtual void OnEvent(const Event& EventReceived);
|
||||
bool myKeys[Key::Count];
|
||||
bool myMouseButtons[Mouse::Count];
|
||||
int myMouseX;
|
||||
int myMouseY;
|
||||
bool myJoystickButtons[Joy::Count][Joy::ButtonCount];
|
||||
float myJoystickAxis[Joy::Count][Joy::AxisCount];
|
||||
};
|
||||
|
||||
class Window : public WindowListener
|
||||
{
|
||||
public :
|
||||
Window(VideoMode Mode, const std::string& Title, unsigned long WindowStyle = Style::Resize | Style::Close, const WindowSettings& Params = WindowSettings());
|
||||
virtual ~Window();
|
||||
void Close();
|
||||
bool IsOpened() const;
|
||||
unsigned int GetWidth() const;
|
||||
unsigned int GetHeight() const;
|
||||
bool GetEvent(Event& EventReceived);
|
||||
void Display();
|
||||
private :
|
||||
virtual void OnCreate();
|
||||
virtual void OnEvent(const Event& EventReceived);
|
||||
priv::WindowImpl* myWindow;
|
||||
std::queue<Event> myEvents;
|
||||
Input myInput;
|
||||
Clock myClock;
|
||||
WindowSettings mySettings;
|
||||
float myLastFrameTime;
|
||||
bool myIsExternal;
|
||||
unsigned int myFramerateLimit;
|
||||
int mySetCursorPosX;
|
||||
int mySetCursorPosY;
|
||||
};
|
||||
|
||||
template <typename T> class Vector2 { public : T x, y; };
|
||||
typedef Vector2<float> Vector2f;
|
||||
|
||||
template <typename T> class Rect { public : T Left, Top, Right, Bottom; };
|
||||
typedef Rect<float> FloatRect;
|
||||
|
||||
class Matrix3 { private : float myData[16]; };
|
||||
|
||||
class View
|
||||
{
|
||||
private :
|
||||
sf::Vector2f myCenter;
|
||||
sf::Vector2f myHalfSize;
|
||||
FloatRect myRect;
|
||||
Matrix3 myMatrix;
|
||||
bool myNeedUpdate;
|
||||
};
|
||||
|
||||
class RenderTarget
|
||||
{
|
||||
public :
|
||||
virtual ~RenderTarget();
|
||||
virtual void Draw(const Drawable& Object);
|
||||
virtual unsigned int GetWidth() const = 0;
|
||||
virtual unsigned int GetHeight() const = 0;
|
||||
void PreserveOpenGLStates(bool Preserve);
|
||||
private :
|
||||
virtual bool Activate(bool Active) = 0;
|
||||
View myDefaultView;
|
||||
const View* myCurrentView;
|
||||
bool myPreserveStates;
|
||||
bool myIsDrawing;
|
||||
};
|
||||
|
||||
class RenderWindow : public Window, public RenderTarget
|
||||
{
|
||||
public :
|
||||
RenderWindow(VideoMode Mode, const std::string& Title, unsigned long WindowStyle = Style::Resize | Style::Close, const WindowSettings& Params = WindowSettings());
|
||||
virtual ~RenderWindow();
|
||||
virtual unsigned int GetWidth() const;
|
||||
virtual unsigned int GetHeight() const;
|
||||
private :
|
||||
virtual void OnCreate();
|
||||
virtual bool Activate(bool Active);
|
||||
};
|
||||
|
||||
} // namespace sf
|
||||
|
||||
#endif // USE_MINI_SFML
|
||||
|
||||
#endif // !defined MINI_SFML16_INCLUDED
|
||||
|
||||
12
AntTweakBar/src/Readme.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
Under Windows, it is not necessary to rebuild AntTweakBar since a precompiled
|
||||
version is provided in the lib directory. But if you want to recompile it,
|
||||
you can use the provided Visual Studio solution. You'd also need the DirectX
|
||||
SDK (http://msdn.microsoft.com/directx) and the path to the DirectX shader
|
||||
compiler fxc.exe (included in the DirectX SDK) must be listed in the VC++
|
||||
directories.
|
||||
|
||||
To build the library on Linux, open a terminal, go in the src directory and
|
||||
type make
|
||||
|
||||
To build the library on MacOSX, open a terminal, go in the src directory and
|
||||
type make -f Makefile.osx
|
||||
7771
AntTweakBar/src/TwBar.cpp
Normal file
438
AntTweakBar/src/TwBar.h
Normal file
@@ -0,0 +1,438 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwBar.h
|
||||
// @brief Tweak bar and var classes.
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_BAR_INCLUDED
|
||||
#define ANT_TW_BAR_INCLUDED
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
#include "TwColors.h"
|
||||
|
||||
#define ANT_TWEAK_BAR_DLL "AntTweakBar"
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool IsCustomType(int _Type);
|
||||
|
||||
struct CTwVar
|
||||
{
|
||||
std::string m_Name;
|
||||
std::string m_Label;
|
||||
std::string m_Help;
|
||||
bool m_IsRoot;
|
||||
bool m_DontClip;
|
||||
bool m_Visible;
|
||||
signed short m_LeftMargin;
|
||||
signed short m_TopMargin;
|
||||
const color32 * m_ColorPtr;
|
||||
const color32 * m_BgColorPtr;
|
||||
|
||||
virtual bool IsGroup() const = 0;
|
||||
virtual bool IsCustom() const { return false; }
|
||||
virtual const CTwVar * Find(const char *_Name, struct CTwVarGroup **_Parent, int *_Index) const = 0;
|
||||
virtual int HasAttrib(const char *_Attrib, bool *_HasValue) const;
|
||||
virtual int SetAttrib(int _AttribID, const char *_Value, TwBar *_Bar, struct CTwVarGroup *_VarParent, int _VarIndex);
|
||||
virtual ERetType GetAttrib(int _AttribID, TwBar *_Bar, struct CTwVarGroup *_VarParent, int _VarIndex, std::vector<double>& outDouble, std::ostringstream& outString) const;
|
||||
virtual void SetReadOnly(bool _ReadOnly) = 0;
|
||||
virtual bool IsReadOnly() const = 0;
|
||||
CTwVar();
|
||||
virtual ~CTwVar() {}
|
||||
|
||||
static size_t GetDataSize(TwType _Type);
|
||||
};
|
||||
|
||||
|
||||
struct CTwVarAtom : CTwVar
|
||||
{
|
||||
ETwType m_Type;
|
||||
void * m_Ptr;
|
||||
TwSetVarCallback m_SetCallback;
|
||||
TwGetVarCallback m_GetCallback;
|
||||
void * m_ClientData;
|
||||
bool m_ReadOnly;
|
||||
bool m_NoSlider;
|
||||
int m_KeyIncr[2]; // [0]=key_code [1]=modifiers
|
||||
int m_KeyDecr[2]; // [0]=key_code [1]=modifiers
|
||||
|
||||
template <typename _T> struct TVal
|
||||
{
|
||||
_T m_Min;
|
||||
_T m_Max;
|
||||
_T m_Step;
|
||||
signed char m_Precision;
|
||||
bool m_Hexa;
|
||||
};
|
||||
union UVal
|
||||
{
|
||||
TVal<unsigned char> m_Char;
|
||||
TVal<signed char> m_Int8;
|
||||
TVal<unsigned char> m_UInt8;
|
||||
TVal<signed short> m_Int16;
|
||||
TVal<unsigned short>m_UInt16;
|
||||
TVal<signed int> m_Int32;
|
||||
TVal<unsigned int> m_UInt32;
|
||||
TVal<float> m_Float32;
|
||||
TVal<double> m_Float64;
|
||||
struct CBoolVal
|
||||
{
|
||||
char * m_TrueString;
|
||||
char * m_FalseString;
|
||||
bool m_FreeTrueString;
|
||||
bool m_FreeFalseString;
|
||||
} m_Bool;
|
||||
struct CEnumVal // empty -> enum entries are deduced from m_Type
|
||||
{
|
||||
//typedef std::map<unsigned int, std::string> CEntries;
|
||||
//CEntries * m_Entries;
|
||||
} m_Enum;
|
||||
struct CShortcutVal
|
||||
{
|
||||
int m_Incr[2];
|
||||
int m_Decr[2];
|
||||
} m_Shortcut;
|
||||
struct CHelpStruct
|
||||
{
|
||||
int m_StructType;
|
||||
} m_HelpStruct;
|
||||
struct CButtonVal
|
||||
{
|
||||
TwButtonCallback m_Callback;
|
||||
int m_Separator;
|
||||
} m_Button;
|
||||
struct CCustomVal
|
||||
{
|
||||
CTwMgr::CMemberProxy *m_MemberProxy;
|
||||
} m_Custom;
|
||||
};
|
||||
UVal m_Val;
|
||||
|
||||
virtual bool IsGroup() const { return false; }
|
||||
virtual bool IsCustom() const { return IsCustomType(m_Type); }
|
||||
virtual void ValueToString(std::string *_Str) const;
|
||||
virtual double ValueToDouble() const;
|
||||
virtual void ValueFromDouble(double _Val);
|
||||
virtual void MinMaxStepToDouble(double *_Min, double *_Max, double *_Step) const;
|
||||
virtual const CTwVar * Find(const char *_Name, struct CTwVarGroup **_Parent, int *_Index) const;
|
||||
virtual int HasAttrib(const char *_Attrib, bool *_HasValue) const;
|
||||
virtual int SetAttrib(int _AttribID, const char *_Value, TwBar *_Bar, struct CTwVarGroup *_VarParent, int _VarIndex);
|
||||
virtual ERetType GetAttrib(int _AttribID, TwBar *_Bar, struct CTwVarGroup *_VarParent, int _VarIndex, std::vector<double>& outDouble, std::ostringstream& outString) const;
|
||||
virtual void Increment(int _Step);
|
||||
virtual void SetDefaults();
|
||||
virtual void SetReadOnly(bool _ReadOnly) { m_ReadOnly=_ReadOnly; if( m_Type!=TW_TYPE_BUTTON && m_SetCallback==NULL && m_Ptr==NULL ) m_ReadOnly=true; }
|
||||
virtual bool IsReadOnly() const { if( m_Type!=TW_TYPE_BUTTON && m_SetCallback==NULL && m_Ptr==NULL ) return true; else return m_ReadOnly; }
|
||||
//virtual int DefineEnum(const TwEnumVal *_EnumValues, unsigned int _NbValues);
|
||||
CTwVarAtom();
|
||||
virtual ~CTwVarAtom();
|
||||
};
|
||||
|
||||
|
||||
struct CTwVarGroup : CTwVar
|
||||
{
|
||||
std::vector<CTwVar *> m_Vars;
|
||||
bool m_Open;
|
||||
TwSummaryCallback m_SummaryCallback;
|
||||
void * m_SummaryClientData;
|
||||
void * m_StructValuePtr;
|
||||
TwType m_StructType;
|
||||
|
||||
virtual bool IsGroup() const { return true; }
|
||||
virtual const CTwVar * Find(const char *_Name, CTwVarGroup **_Parent, int *_Index) const;
|
||||
virtual int HasAttrib(const char *_Attrib, bool *_HasValue) const;
|
||||
virtual int SetAttrib(int _AttribID, const char *_Value, TwBar *_Bar, struct CTwVarGroup *_VarParent, int _VarIndex);
|
||||
virtual ERetType GetAttrib(int _AttribID, TwBar *_Bar, struct CTwVarGroup *_VarParent, int _VarIndex, std::vector<double>& outDouble, std::ostringstream& outString) const;
|
||||
virtual CTwVarAtom * FindShortcut(int _Key, int _Modifiers, bool *_DoIncr);
|
||||
virtual void SetReadOnly(bool _ReadOnly) { for(size_t i=0; i<m_Vars.size(); ++i) if(m_Vars[i]) m_Vars[i]->SetReadOnly(_ReadOnly); }
|
||||
virtual bool IsReadOnly() const { for(size_t i=0; i<m_Vars.size(); ++i) if(m_Vars[i] && !m_Vars[i]->IsReadOnly()) return false; return true; }
|
||||
CTwVarGroup() { m_Open=false; m_StructType=TW_TYPE_UNDEF; m_SummaryCallback=NULL; m_SummaryClientData=NULL; m_StructValuePtr=NULL; }
|
||||
virtual ~CTwVarGroup();
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
struct CTwBar
|
||||
{
|
||||
std::string m_Name;
|
||||
std::string m_Label;
|
||||
std::string m_Help;
|
||||
bool m_Visible;
|
||||
int m_PosX;
|
||||
int m_PosY;
|
||||
int m_Width;
|
||||
int m_Height;
|
||||
color32 m_Color;
|
||||
bool m_DarkText;
|
||||
const CTexFont * m_Font;
|
||||
int m_ValuesWidth;
|
||||
int m_Sep;
|
||||
int m_LineSep;
|
||||
int m_FirstLine;
|
||||
float m_UpdatePeriod;
|
||||
bool m_IsHelpBar;
|
||||
int m_MinNumber; // accessed by TwDeleteBar
|
||||
bool m_IsPopupList;
|
||||
CTwVarAtom * m_VarEnumLinkedToPopupList;
|
||||
CTwBar * m_BarLinkedToPopupList;
|
||||
bool m_Resizable;
|
||||
bool m_Movable;
|
||||
bool m_Iconifiable;
|
||||
bool m_Contained;
|
||||
|
||||
CTwVarGroup m_VarRoot;
|
||||
|
||||
enum EDrawPart { DRAW_BG=(1<<0), DRAW_CONTENT=(1<<1), DRAW_ALL=DRAW_BG|DRAW_CONTENT };
|
||||
void Draw(int _DrawPart=DRAW_ALL);
|
||||
void NotUpToDate();
|
||||
const CTwVar * Find(const char *_Name, CTwVarGroup **_Parent=NULL, int *_Index=NULL) const;
|
||||
CTwVar * Find(const char *_Name, CTwVarGroup **_Parent=NULL, int *_Index=NULL);
|
||||
int HasAttrib(const char *_Attrib, bool *_HasValue) const;
|
||||
int SetAttrib(int _AttribID, const char *_Value);
|
||||
ERetType GetAttrib(int _AttribID, std::vector<double>& outDouble, std::ostringstream& outString) const;
|
||||
bool MouseMotion(int _X, int _Y);
|
||||
bool MouseButton(ETwMouseButtonID _Button, bool _Pressed, int _X, int _Y);
|
||||
bool MouseWheel(int _Pos, int _PrevPos, int _MouseX, int _MouseY);
|
||||
bool KeyPressed(int _Key, int _Modifiers);
|
||||
bool KeyTest(int _Key, int _Modifiers);
|
||||
bool IsMinimized() const { return m_IsMinimized; }
|
||||
bool IsDragging() const { return m_MouseDrag; }
|
||||
bool Show(CTwVar *_Var); // display the line associated to _Var
|
||||
bool OpenHier(CTwVarGroup *_Root, CTwVar *_Var); // open a hierarchy if it contains _Var
|
||||
int LineInHier(CTwVarGroup *_Root, CTwVar *_Var); // returns the number of the line associated to _Var
|
||||
void UnHighlightLine() { m_HighlightedLine = -1; NotUpToDate(); } // used by PopupCallback
|
||||
void HaveFocus(bool _Focus) { m_DrawHandles = _Focus; } // used by PopupCallback
|
||||
void StopEditInPlace() { if( m_EditInPlace.m_Active ) EditInPlaceEnd(false); }
|
||||
CTwBar(const char *_Name);
|
||||
~CTwBar();
|
||||
|
||||
color32 m_ColBg, m_ColBg1, m_ColBg2;
|
||||
color32 m_ColHighBg0;
|
||||
color32 m_ColHighBg1;
|
||||
color32 m_ColLabelText;
|
||||
color32 m_ColStructText;
|
||||
color32 m_ColValBg;
|
||||
color32 m_ColValText;
|
||||
color32 m_ColValTextRO;
|
||||
color32 m_ColValTextNE;
|
||||
color32 m_ColValMin;
|
||||
color32 m_ColValMax;
|
||||
color32 m_ColStructBg;
|
||||
color32 m_ColTitleBg;
|
||||
color32 m_ColTitleHighBg;
|
||||
color32 m_ColTitleUnactiveBg;
|
||||
color32 m_ColTitleText;
|
||||
color32 m_ColTitleShadow;
|
||||
color32 m_ColLine;
|
||||
color32 m_ColLineShadow;
|
||||
color32 m_ColUnderline;
|
||||
color32 m_ColBtn;
|
||||
color32 m_ColHighBtn;
|
||||
color32 m_ColFold;
|
||||
color32 m_ColHighFold;
|
||||
color32 m_ColGrpBg;
|
||||
color32 m_ColGrpText;
|
||||
color32 m_ColHierBg;
|
||||
color32 m_ColShortcutText;
|
||||
color32 m_ColShortcutBg;
|
||||
color32 m_ColInfoText;
|
||||
color32 m_ColHelpBg;
|
||||
color32 m_ColHelpText;
|
||||
color32 m_ColRoto;
|
||||
color32 m_ColRotoVal;
|
||||
color32 m_ColRotoBound;
|
||||
color32 m_ColEditBg;
|
||||
color32 m_ColEditText;
|
||||
color32 m_ColEditSelBg;
|
||||
color32 m_ColEditSelText;
|
||||
color32 m_ColSeparator;
|
||||
color32 m_ColStaticText;
|
||||
void UpdateColors();
|
||||
|
||||
protected:
|
||||
int m_TitleWidth;
|
||||
int m_VarX0;
|
||||
int m_VarX1;
|
||||
int m_VarX2;
|
||||
int m_VarY0;
|
||||
int m_VarY1;
|
||||
int m_VarY2;
|
||||
int m_ScrollYW;
|
||||
int m_ScrollYH;
|
||||
int m_ScrollY0;
|
||||
int m_ScrollY1;
|
||||
int m_NbHierLines;
|
||||
int m_NbDisplayedLines;
|
||||
bool m_UpToDate;
|
||||
float m_LastUpdateTime;
|
||||
void Update();
|
||||
|
||||
bool m_MouseDrag;
|
||||
bool m_MouseDragVar;
|
||||
bool m_MouseDragTitle;
|
||||
bool m_MouseDragScroll;
|
||||
bool m_MouseDragResizeUR;
|
||||
bool m_MouseDragResizeUL;
|
||||
bool m_MouseDragResizeLR;
|
||||
bool m_MouseDragResizeLL;
|
||||
bool m_MouseDragValWidth;
|
||||
int m_MouseOriginX;
|
||||
int m_MouseOriginY;
|
||||
double m_ValuesWidthRatio;
|
||||
bool m_VarHasBeenIncr;
|
||||
int m_FirstLine0;
|
||||
int m_HighlightedLine;
|
||||
int m_HighlightedLinePrev;
|
||||
int m_HighlightedLineLastValid;
|
||||
bool m_HighlightIncrBtn;
|
||||
bool m_HighlightDecrBtn;
|
||||
bool m_HighlightRotoBtn;
|
||||
bool m_HighlightListBtn;
|
||||
bool m_HighlightBoolBtn;
|
||||
bool m_HighlightClickBtn;
|
||||
double m_HighlightClickBtnAuto;
|
||||
bool m_HighlightTitle;
|
||||
bool m_HighlightScroll;
|
||||
bool m_HighlightUpScroll;
|
||||
bool m_HighlightDnScroll;
|
||||
bool m_HighlightMinimize;
|
||||
bool m_HighlightFont;
|
||||
bool m_HighlightValWidth;
|
||||
bool m_HighlightLabelsHeader;
|
||||
bool m_HighlightValuesHeader;
|
||||
bool m_DrawHandles;
|
||||
|
||||
bool m_IsMinimized;
|
||||
int m_MinPosX;
|
||||
int m_MinPosY;
|
||||
bool m_HighlightMaximize;
|
||||
bool m_DrawIncrDecrBtn;
|
||||
bool m_DrawRotoBtn;
|
||||
bool m_DrawClickBtn;
|
||||
bool m_DrawListBtn;
|
||||
bool m_DrawBoolBtn;
|
||||
EButtonAlign m_ButtonAlign;
|
||||
|
||||
struct CHierTag
|
||||
{
|
||||
CTwVar * m_Var;
|
||||
int m_Level;
|
||||
bool m_Closing;
|
||||
};
|
||||
std::vector<CHierTag> m_HierTags;
|
||||
void BrowseHierarchy(int *_LineNum, int _CurrLevel, const CTwVar *_Var, int _First, int _Last);
|
||||
void * m_TitleTextObj;
|
||||
void * m_LabelsTextObj;
|
||||
void * m_ValuesTextObj;
|
||||
void * m_ShortcutTextObj;
|
||||
int m_ShortcutLine;
|
||||
void * m_HeadersTextObj;
|
||||
void ListLabels(std::vector<std::string>& _Labels, std::vector<color32>& _Colors, std::vector<color32>& _BgColors, bool *_HasBgColors, const CTexFont *_Font, int _AtomWidthMax, int _GroupWidthMax);
|
||||
void ListValues(std::vector<std::string>& _Values, std::vector<color32>& _Colors, std::vector<color32>& _BgColors, const CTexFont *_Font, int _WidthMax);
|
||||
int ComputeLabelsWidth(const CTexFont *_Font);
|
||||
int ComputeValuesWidth(const CTexFont *_Font);
|
||||
void DrawHierHandle();
|
||||
|
||||
enum EValuesWidthFit { VALUES_WIDTH_FIT = -5555 };
|
||||
|
||||
// RotoSlider
|
||||
struct CPoint
|
||||
{
|
||||
int x, y;
|
||||
CPoint() {}
|
||||
CPoint(int _X, int _Y):x(_X), y(_Y) {}
|
||||
const CPoint operator+ (const CPoint& p) const { return CPoint(x+p.x, y+p.y); }
|
||||
const CPoint operator- (const CPoint& p) const { return CPoint(x-p.x, y-p.y); }
|
||||
};
|
||||
struct CRotoSlider
|
||||
{
|
||||
CRotoSlider();
|
||||
CTwVarAtom * m_Var;
|
||||
double m_PreciseValue;
|
||||
double m_CurrentValue;
|
||||
double m_Value0;
|
||||
double m_ValueAngle0;
|
||||
bool m_Active;
|
||||
bool m_ActiveMiddle;
|
||||
CPoint m_Origin;
|
||||
CPoint m_Current;
|
||||
bool m_HasPrevious;
|
||||
CPoint m_Previous;
|
||||
double m_Angle0;
|
||||
double m_AngleDT;
|
||||
int m_Subdiv;
|
||||
};
|
||||
CRotoSlider m_Roto;
|
||||
int m_RotoMinRadius;
|
||||
int m_RotoNbSubdiv; // number of steps for one turn
|
||||
void RotoDraw();
|
||||
void RotoOnMouseMove(int _X, int _Y);
|
||||
void RotoOnLButtonDown(int _X, int _Y);
|
||||
void RotoOnLButtonUp(int _X, int _Y);
|
||||
void RotoOnMButtonDown(int _X, int _Y);
|
||||
void RotoOnMButtonUp(int _X, int _Y);
|
||||
double RotoGetValue() const;
|
||||
void RotoSetValue(double _Val);
|
||||
double RotoGetMin() const;
|
||||
double RotoGetMax() const;
|
||||
double RotoGetStep() const;
|
||||
double RotoGetSteppedValue() const;
|
||||
|
||||
// Edit-in-place
|
||||
struct CEditInPlace
|
||||
{
|
||||
CEditInPlace();
|
||||
~CEditInPlace();
|
||||
CTwVarAtom * m_Var;
|
||||
bool m_Active;
|
||||
std::string m_String;
|
||||
void * m_EditTextObj;
|
||||
void * m_EditSelTextObj;
|
||||
int m_CaretPos;
|
||||
int m_SelectionStart;
|
||||
int m_X, m_Y;
|
||||
int m_Width;
|
||||
int m_FirstChar;
|
||||
std::string m_Clipboard;
|
||||
};
|
||||
CEditInPlace m_EditInPlace;
|
||||
void EditInPlaceDraw();
|
||||
bool EditInPlaceAcceptVar(const CTwVarAtom* _Var);
|
||||
bool EditInPlaceIsReadOnly();
|
||||
void EditInPlaceStart(CTwVarAtom* _Var, int _X, int _Y, int _Width);
|
||||
void EditInPlaceEnd(bool _Commit);
|
||||
bool EditInPlaceKeyPressed(int _Key, int _Modifiers);
|
||||
bool EditInPlaceEraseSelect();
|
||||
bool EditInPlaceMouseMove(int _X, int _Y, bool _Select);
|
||||
bool EditInPlaceSetClipboard(const std::string& _String);
|
||||
bool EditInPlaceGetClipboard(std::string *_OutString);
|
||||
|
||||
struct CCustomRecord
|
||||
{
|
||||
int m_IndexMin;
|
||||
int m_IndexMax;
|
||||
int m_XMin, m_XMax;
|
||||
int m_YMin, m_YMax; // Y visible range
|
||||
int m_Y0, m_Y1; // Y widget range
|
||||
CTwVarGroup * m_Var;
|
||||
};
|
||||
typedef std::map<CTwMgr::CStructProxy*, CCustomRecord> CustomMap;
|
||||
CustomMap m_CustomRecords;
|
||||
CTwMgr::CStructProxy * m_CustomActiveStructProxy;
|
||||
|
||||
friend struct CTwMgr;
|
||||
};
|
||||
|
||||
void DrawArc(int _X, int _Y, int _Radius, float _StartAngleDeg, float _EndAngleDeg, color32 _Color);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_BAR_INCLUDED
|
||||
153
AntTweakBar/src/TwColors.cpp
Normal file
@@ -0,0 +1,153 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwColors.cpp
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "TwPrecomp.h"
|
||||
#include "TwColors.h"
|
||||
|
||||
|
||||
void ColorRGBToHLSf(float _R, float _G, float _B, float *_Hue, float *_Light, float *_Saturation)
|
||||
{
|
||||
// Compute HLS from RGB. The r,g,b triplet is between [0,1],
|
||||
// hue is between [0,360], light and saturation are [0,1].
|
||||
|
||||
float rnorm, gnorm, bnorm, minval, maxval, msum, mdiff, r, g, b;
|
||||
r = g = b = 0;
|
||||
if(_R>0) r = _R; if(r>1) r = 1;
|
||||
if(_G>0) g = _G; if(g>1) g = 1;
|
||||
if(_B>0) b = _B; if(b>1) b = 1;
|
||||
|
||||
minval = r;
|
||||
if(g<minval) minval = g;
|
||||
if(b<minval) minval = b;
|
||||
maxval = r;
|
||||
if(g>maxval) maxval = g;
|
||||
if(b>maxval) maxval = b;
|
||||
|
||||
rnorm = gnorm = bnorm = 0;
|
||||
mdiff = maxval - minval;
|
||||
msum = maxval + minval;
|
||||
float l = 0.5f * msum;
|
||||
if(_Light)
|
||||
*_Light = l;
|
||||
if(maxval!=minval)
|
||||
{
|
||||
rnorm = (maxval - r)/mdiff;
|
||||
gnorm = (maxval - g)/mdiff;
|
||||
bnorm = (maxval - b)/mdiff;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(_Saturation)
|
||||
*_Saturation = 0;
|
||||
if(_Hue)
|
||||
*_Hue = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if(_Saturation)
|
||||
{
|
||||
if(l<0.5f)
|
||||
*_Saturation = mdiff/msum;
|
||||
else
|
||||
*_Saturation = mdiff/(2.0f - msum);
|
||||
}
|
||||
|
||||
if(_Hue)
|
||||
{
|
||||
if(r==maxval)
|
||||
*_Hue = 60.0f * (6.0f + bnorm - gnorm);
|
||||
else if(g==maxval)
|
||||
*_Hue = 60.0f * (2.0f + rnorm - bnorm);
|
||||
else
|
||||
*_Hue = 60.0f * (4.0f + gnorm - rnorm);
|
||||
|
||||
if(*_Hue>360.0f)
|
||||
*_Hue -= 360.0f;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ColorRGBToHLSi(int _R, int _G, int _B, int *_Hue, int *_Light, int *_Saturation)
|
||||
{
|
||||
float h, l, s;
|
||||
ColorRGBToHLSf((1.0f/255.0f)*float(_R), (1.0f/255.0f)*float(_G), (1.0f/255.0f)*float(_B), &h, &l, &s);
|
||||
if(_Hue) *_Hue = (int)TClamp(h*(256.0f/360.0f), 0.0f, 255.0f);
|
||||
if(_Light) *_Light = (int)TClamp(l*256.0f, 0.0f, 255.0f);
|
||||
if(_Saturation) *_Saturation= (int)TClamp(s*256.0f, 0.0f, 255.0f);
|
||||
}
|
||||
|
||||
|
||||
void ColorHLSToRGBf(float _Hue, float _Light, float _Saturation, float *_R, float *_G, float *_B)
|
||||
{
|
||||
// Compute RGB from HLS. The light and saturation are between [0,1]
|
||||
// and hue is between [0,360]. The returned r,g,b triplet is between [0,1].
|
||||
|
||||
// a local auxiliary function
|
||||
struct CLocal
|
||||
{
|
||||
static float HLSToRGB(float _Rn1, float _Rn2, float _Huei)
|
||||
{
|
||||
float hue = _Huei;
|
||||
if(hue>360) hue = hue - 360;
|
||||
if(hue<0) hue = hue + 360;
|
||||
if(hue<60 ) return _Rn1 + (_Rn2-_Rn1)*hue/60;
|
||||
if(hue<180) return _Rn2;
|
||||
if(hue<240) return _Rn1 + (_Rn2-_Rn1)*(240-hue)/60;
|
||||
return _Rn1;
|
||||
}
|
||||
};
|
||||
|
||||
float rh, rl, rs, rm1, rm2;
|
||||
rh = rl = rs = 0;
|
||||
if(_Hue>0) rh = _Hue; if(rh>360) rh = 360;
|
||||
if(_Light>0) rl = _Light; if(rl>1) rl = 1;
|
||||
if(_Saturation>0) rs = _Saturation; if(rs>1) rs = 1;
|
||||
|
||||
if(rl<=0.5f)
|
||||
rm2 = rl*(1.0f + rs);
|
||||
else
|
||||
rm2 = rl + rs - rl*rs;
|
||||
rm1 = 2.0f*rl - rm2;
|
||||
|
||||
if(!rs)
|
||||
{
|
||||
if(_R) *_R = rl;
|
||||
if(_G) *_G = rl;
|
||||
if(_B) *_B = rl;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(_R) *_R = CLocal::HLSToRGB(rm1, rm2, rh+120);
|
||||
if(_G) *_G = CLocal::HLSToRGB(rm1, rm2, rh);
|
||||
if(_B) *_B = CLocal::HLSToRGB(rm1, rm2, rh-120);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ColorHLSToRGBi(int _Hue, int _Light, int _Saturation, int *_R, int *_G, int *_B)
|
||||
{
|
||||
float r, g, b;
|
||||
ColorHLSToRGBf((360.0f/255.0f)*float(_Hue), (1.0f/255.0f)*float(_Light), (1.0f/255.0f)*float(_Saturation), &r, &g, &b);
|
||||
if(_R) *_R = (int)TClamp(r*256.0f, 0.0f, 255.0f);
|
||||
if(_G) *_G = (int)TClamp(g*256.0f, 0.0f, 255.0f);
|
||||
if(_B) *_B = (int)TClamp(b*256.0f, 0.0f, 255.0f);
|
||||
}
|
||||
|
||||
|
||||
color32 ColorBlend(color32 _Color1, color32 _Color2, float _S)
|
||||
{
|
||||
float a1, r1, g1, b1, a2, r2, g2, b2;
|
||||
Color32ToARGBf(_Color1, &a1, &r1, &g1, &b1);
|
||||
Color32ToARGBf(_Color2, &a2, &r2, &g2, &b2);
|
||||
float t = 1.0f-_S;
|
||||
return Color32FromARGBf(t*a1+_S*a2, t*r1+_S*r2, t*g1+_S*g2, t*b1+_S*b2);
|
||||
}
|
||||
|
||||
|
||||
80
AntTweakBar/src/TwColors.h
Normal file
@@ -0,0 +1,80 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwColors.h
|
||||
// @brief Color conversions
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_COLORS_INCLUDED
|
||||
#define ANT_TW_COLORS_INCLUDED
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
typedef unsigned int color32;
|
||||
|
||||
|
||||
const color32 COLOR32_BLACK = 0xff000000; // Black
|
||||
const color32 COLOR32_WHITE = 0xffffffff; // White
|
||||
const color32 COLOR32_ZERO = 0x00000000; // Zero
|
||||
const color32 COLOR32_RED = 0xffff0000; // Red
|
||||
const color32 COLOR32_GREEN = 0xff00ff00; // Green
|
||||
const color32 COLOR32_BLUE = 0xff0000ff; // Blue
|
||||
|
||||
|
||||
template <typename _T> inline const _T& TClamp(const _T& _X, const _T& _Limit1, const _T& _Limit2)
|
||||
{
|
||||
if( _Limit1<_Limit2 )
|
||||
return (_X<=_Limit1) ? _Limit1 : ( (_X>=_Limit2) ? _Limit2 : _X );
|
||||
else
|
||||
return (_X<=_Limit2) ? _Limit2 : ( (_X>=_Limit1) ? _Limit1 : _X );
|
||||
}
|
||||
|
||||
inline color32 Color32FromARGBi(int _A, int _R, int _G, int _B)
|
||||
{
|
||||
return (((color32)TClamp(_A, 0, 255))<<24) | (((color32)TClamp(_R, 0, 255))<<16) | (((color32)TClamp(_G, 0, 255))<<8) | ((color32)TClamp(_B, 0, 255));
|
||||
}
|
||||
|
||||
inline color32 Color32FromARGBf(float _A, float _R, float _G, float _B)
|
||||
{
|
||||
return (((color32)TClamp(_A*256.0f, 0.0f, 255.0f))<<24) | (((color32)TClamp(_R*256.0f, 0.0f, 255.0f))<<16) | (((color32)TClamp(_G*256.0f, 0.0f, 255.0f))<<8) | ((color32)TClamp(_B*256.0f, 0.0f, 255.0f));
|
||||
}
|
||||
|
||||
inline void Color32ToARGBi(color32 _Color, int *_A, int *_R, int *_G, int *_B)
|
||||
{
|
||||
if(_A) *_A = (_Color>>24)&0xff;
|
||||
if(_R) *_R = (_Color>>16)&0xff;
|
||||
if(_G) *_G = (_Color>>8)&0xff;
|
||||
if(_B) *_B = _Color&0xff;
|
||||
}
|
||||
|
||||
inline void Color32ToARGBf(color32 _Color, float *_A, float *_R, float *_G, float *_B)
|
||||
{
|
||||
if(_A) *_A = (1.0f/255.0f)*float((_Color>>24)&0xff);
|
||||
if(_R) *_R = (1.0f/255.0f)*float((_Color>>16)&0xff);
|
||||
if(_G) *_G = (1.0f/255.0f)*float((_Color>>8)&0xff);
|
||||
if(_B) *_B = (1.0f/255.0f)*float(_Color&0xff);
|
||||
}
|
||||
|
||||
void ColorRGBToHLSf(float _R, float _G, float _B, float *_Hue, float *_Light, float *_Saturation);
|
||||
|
||||
void ColorRGBToHLSi(int _R, int _G, int _B, int *_Hue, int *_Light, int *_Saturation);
|
||||
|
||||
void ColorHLSToRGBf(float _Hue, float _Light, float _Saturation, float *_R, float *_G, float *_B);
|
||||
|
||||
void ColorHLSToRGBi(int _Hue, int _Light, int _Saturation, int *_R, int *_G, int *_B);
|
||||
|
||||
color32 ColorBlend(color32 _Color1, color32 _Color2, float _S);
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_COLORS_INCLUDED
|
||||
1291
AntTweakBar/src/TwDirect3D10.cpp
Normal file
108
AntTweakBar/src/TwDirect3D10.h
Normal file
@@ -0,0 +1,108 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwDirect3D10.h
|
||||
// @brief Direct3D10 graph functions
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_DIRECT3D10_INCLUDED
|
||||
#define ANT_TW_DIRECT3D10_INCLUDED
|
||||
|
||||
#include "TwGraph.h"
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class CTwGraphDirect3D10 : public ITwGraph
|
||||
{
|
||||
public:
|
||||
virtual int Init();
|
||||
virtual int Shut();
|
||||
virtual void BeginDraw(int _WndWidth, int _WndHeight);
|
||||
virtual void EndDraw();
|
||||
virtual bool IsDrawing();
|
||||
virtual void Restore();
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased=false);
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color, bool _AntiAliased=false) { DrawLine(_X0, _Y0, _X1, _Y1, _Color, _Color, _AntiAliased); }
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11);
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color) { DrawRect(_X0, _Y0, _X1, _Y1, _Color, _Color, _Color, _Color); }
|
||||
virtual void DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode);
|
||||
|
||||
virtual void * NewTextObj();
|
||||
virtual void DeleteTextObj(void *_TextObj);
|
||||
virtual void BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth);
|
||||
virtual void DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor);
|
||||
|
||||
virtual void ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY);
|
||||
virtual void RestoreViewport();
|
||||
virtual void SetScissor(int _X0, int _Y0, int _Width, int _Height);
|
||||
|
||||
protected:
|
||||
struct ID3D10Device * m_D3DDev;
|
||||
unsigned int m_D3DDevInitialRefCount;
|
||||
bool m_Drawing;
|
||||
const CTexFont * m_FontTex;
|
||||
struct ID3D10ShaderResourceView *m_FontD3DTexRV;
|
||||
int m_WndWidth;
|
||||
int m_WndHeight;
|
||||
int m_OffsetX;
|
||||
int m_OffsetY;
|
||||
void * m_ViewportInit;
|
||||
RECT m_ViewportAndScissorRects[2];
|
||||
|
||||
struct CLineRectVtx
|
||||
{
|
||||
float m_Pos[3];
|
||||
color32 m_Color;
|
||||
};
|
||||
struct CTextVtx
|
||||
{
|
||||
float m_Pos[3];
|
||||
color32 m_Color;
|
||||
float m_UV[2];
|
||||
};
|
||||
|
||||
struct CTextObj
|
||||
{
|
||||
struct ID3D10Buffer * m_TextVertexBuffer;
|
||||
struct ID3D10Buffer * m_BgVertexBuffer;
|
||||
int m_NbTextVerts;
|
||||
int m_NbBgVerts;
|
||||
int m_TextVertexBufferSize;
|
||||
int m_BgVertexBufferSize;
|
||||
bool m_LineColors;
|
||||
bool m_LineBgColors;
|
||||
};
|
||||
|
||||
struct CState10 * m_State;
|
||||
struct ID3D10DepthStencilState *m_DepthStencilState;
|
||||
struct ID3D10BlendState * m_BlendState;
|
||||
struct ID3D10RasterizerState * m_RasterState;
|
||||
struct ID3D10RasterizerState * m_RasterStateAntialiased;
|
||||
struct ID3D10RasterizerState * m_RasterStateCullCW;
|
||||
struct ID3D10RasterizerState * m_RasterStateCullCCW;
|
||||
struct ID3D10Effect * m_Effect;
|
||||
struct ID3D10EffectTechnique* m_LineRectTech;
|
||||
struct ID3D10EffectTechnique* m_LineRectCstColorTech;
|
||||
struct ID3D10InputLayout * m_LineRectVertexLayout;
|
||||
struct ID3D10Buffer * m_LineVertexBuffer;
|
||||
struct ID3D10Buffer * m_RectVertexBuffer;
|
||||
struct ID3D10Buffer * m_TrianglesVertexBuffer;
|
||||
int m_TrianglesVertexBufferCount;
|
||||
struct ID3D10EffectTechnique* m_TextTech;
|
||||
struct ID3D10EffectTechnique* m_TextCstColorTech;
|
||||
struct ID3D10InputLayout * m_TextVertexLayout;
|
||||
struct ID3D10EffectShaderResourceVariable *m_FontD3DResVar;
|
||||
struct ID3D10EffectVectorVariable *m_OffsetVar;
|
||||
struct ID3D10EffectVectorVariable *m_CstColorVar;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_DIRECT3D10_INCLUDED
|
||||
1653
AntTweakBar/src/TwDirect3D11.cpp
Normal file
117
AntTweakBar/src/TwDirect3D11.h
Normal file
@@ -0,0 +1,117 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwDirect3D11.h
|
||||
// @brief Direct3D11 graphic functions
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_DIRECT3D11_INCLUDED
|
||||
#define ANT_TW_DIRECT3D11_INCLUDED
|
||||
|
||||
#include "TwGraph.h"
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class CTwGraphDirect3D11 : public ITwGraph
|
||||
{
|
||||
public:
|
||||
virtual int Init();
|
||||
virtual int Shut();
|
||||
virtual void BeginDraw(int _WndWidth, int _WndHeight);
|
||||
virtual void EndDraw();
|
||||
virtual bool IsDrawing();
|
||||
virtual void Restore();
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased=false);
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color, bool _AntiAliased=false) { DrawLine(_X0, _Y0, _X1, _Y1, _Color, _Color, _AntiAliased); }
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11);
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color) { DrawRect(_X0, _Y0, _X1, _Y1, _Color, _Color, _Color, _Color); }
|
||||
virtual void DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode);
|
||||
|
||||
virtual void * NewTextObj();
|
||||
virtual void DeleteTextObj(void *_TextObj);
|
||||
virtual void BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth);
|
||||
virtual void DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor);
|
||||
|
||||
virtual void ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY);
|
||||
virtual void RestoreViewport();
|
||||
virtual void SetScissor(int _X0, int _Y0, int _Width, int _Height);
|
||||
|
||||
protected:
|
||||
struct ID3D11Device * m_D3DDev;
|
||||
struct ID3D11DeviceContext *m_D3DDevImmContext;
|
||||
unsigned int m_D3DDevInitialRefCount;
|
||||
bool m_Drawing;
|
||||
const CTexFont * m_FontTex;
|
||||
struct ID3D11Texture2D * m_FontD3DTex;
|
||||
struct ID3D11ShaderResourceView *m_FontD3DTexRV;
|
||||
int m_WndWidth;
|
||||
int m_WndHeight;
|
||||
int m_OffsetX;
|
||||
int m_OffsetY;
|
||||
void * m_ViewportInit;
|
||||
RECT m_ViewportAndScissorRects[2];
|
||||
|
||||
struct CLineRectVtx
|
||||
{
|
||||
float m_Pos[3];
|
||||
color32 m_Color;
|
||||
};
|
||||
struct CTextVtx
|
||||
{
|
||||
float m_Pos[3];
|
||||
color32 m_Color;
|
||||
float m_UV[2];
|
||||
};
|
||||
struct CConstants
|
||||
{
|
||||
float m_Offset[4];
|
||||
float m_CstColor[4];
|
||||
};
|
||||
|
||||
struct CTextObj
|
||||
{
|
||||
struct ID3D11Buffer * m_TextVertexBuffer;
|
||||
struct ID3D11Buffer * m_BgVertexBuffer;
|
||||
int m_NbTextVerts;
|
||||
int m_NbBgVerts;
|
||||
int m_TextVertexBufferSize;
|
||||
int m_BgVertexBufferSize;
|
||||
bool m_LineColors;
|
||||
bool m_LineBgColors;
|
||||
};
|
||||
|
||||
struct CState11 * m_State;
|
||||
struct ID3D11DepthStencilState *m_DepthStencilState;
|
||||
struct ID3D11BlendState * m_BlendState;
|
||||
struct ID3D11RasterizerState * m_RasterState;
|
||||
struct ID3D11RasterizerState * m_RasterStateAntialiased;
|
||||
struct ID3D11RasterizerState * m_RasterStateMultisample;
|
||||
struct ID3D11RasterizerState * m_RasterStateCullCW;
|
||||
struct ID3D11RasterizerState * m_RasterStateCullCCW;
|
||||
|
||||
struct ID3D11VertexShader * m_LineRectVS;
|
||||
struct ID3D11VertexShader * m_LineRectCstColorVS;
|
||||
struct ID3D11PixelShader * m_LineRectPS;
|
||||
struct ID3D11InputLayout * m_LineRectVertexLayout;
|
||||
struct ID3D11VertexShader * m_TextVS;
|
||||
struct ID3D11VertexShader * m_TextCstColorVS;
|
||||
struct ID3D11PixelShader * m_TextPS;
|
||||
struct ID3D11InputLayout * m_TextVertexLayout;
|
||||
struct ID3D11Buffer * m_LineVertexBuffer;
|
||||
struct ID3D11Buffer * m_RectVertexBuffer;
|
||||
struct ID3D11Buffer * m_TrianglesVertexBuffer;
|
||||
int m_TrianglesVertexBufferCount;
|
||||
struct ID3D11Buffer * m_ConstantBuffer;
|
||||
struct ID3D11SamplerState * m_SamplerState;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_DIRECT3D11_INCLUDED
|
||||
83
AntTweakBar/src/TwDirect3D11.hlsl
Normal file
@@ -0,0 +1,83 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwDirect3D11.hlsl
|
||||
// @author Philippe Decaudin
|
||||
// @brief AntTweakBar shaders and techniques for Direct3D11 support
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
float4 g_Offset : register(c0) = 0;
|
||||
float4 g_CstColor : register(c1) = 1;
|
||||
|
||||
// Shaders for lines and rectangles
|
||||
|
||||
struct LineRectPSInput
|
||||
{
|
||||
float4 Pos : SV_POSITION;
|
||||
float4 Color : COLOR0;
|
||||
};
|
||||
|
||||
LineRectPSInput LineRectVS(float4 pos : POSITION, float4 color : COLOR)
|
||||
{
|
||||
LineRectPSInput ps;
|
||||
ps.Pos = pos + g_Offset;
|
||||
ps.Color = color;
|
||||
return ps;
|
||||
}
|
||||
|
||||
LineRectPSInput LineRectCstColorVS(float4 pos : POSITION, float4 color : COLOR)
|
||||
{
|
||||
LineRectPSInput ps;
|
||||
ps.Pos = pos + g_Offset;
|
||||
ps.Color = g_CstColor;
|
||||
return ps;
|
||||
}
|
||||
|
||||
float4 LineRectPS(LineRectPSInput input) : SV_TARGET
|
||||
{
|
||||
return input.Color;
|
||||
}
|
||||
|
||||
// Shaders for text
|
||||
|
||||
Texture2D g_Font : register(t0);
|
||||
|
||||
SamplerState g_FontSampler : register(s0)
|
||||
{
|
||||
Filter = MIN_MAG_MIP_POINT;
|
||||
AddressU = BORDER;
|
||||
AddressV = BORDER;
|
||||
BorderColor = float4(0, 0, 0, 0);
|
||||
};
|
||||
|
||||
struct TextPSInput
|
||||
{
|
||||
float4 Pos : SV_POSITION;
|
||||
float4 Color : COLOR0;
|
||||
float2 Tex : TEXCOORD0;
|
||||
};
|
||||
|
||||
TextPSInput TextVS(float4 pos : POSITION, float4 color : COLOR, float2 tex : TEXCOORD0)
|
||||
{
|
||||
TextPSInput ps;
|
||||
ps.Pos = pos + g_Offset;
|
||||
ps.Color = color;
|
||||
ps.Tex = tex;
|
||||
return ps;
|
||||
}
|
||||
|
||||
TextPSInput TextCstColorVS(float4 pos : POSITION, float4 color : COLOR, float2 tex : TEXCOORD0)
|
||||
{
|
||||
TextPSInput ps;
|
||||
ps.Pos = pos + g_Offset;
|
||||
ps.Color = g_CstColor;
|
||||
ps.Tex = tex;
|
||||
return ps;
|
||||
}
|
||||
|
||||
float4 TextPS(TextPSInput input) : SV_TARGET
|
||||
{
|
||||
return g_Font.Sample(g_FontSampler, input.Tex) * input.Color;
|
||||
}
|
||||
640
AntTweakBar/src/TwDirect3D9.cpp
Normal file
@@ -0,0 +1,640 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwDirect3D9.cpp
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "TwPrecomp.h"
|
||||
#include "TwDirect3D9.h"
|
||||
#include "TwMgr.h"
|
||||
|
||||
#include <d3d9.h>
|
||||
#ifdef _DEBUG
|
||||
// #include <dxerr9.h>
|
||||
// #pragma comment(lib, "dxerr9")
|
||||
#endif // _DEBUG
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
const char *g_ErrCantLoadD3D9 = "Cannot load Direct3D9 library dynamically";
|
||||
const char *g_ErrCantUnloadD3D9 = "Cannot unload Direct3D9 library";
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static IDirect3DTexture9 *BindFont(IDirect3DDevice9 *_Dev, const CTexFont *_Font)
|
||||
{
|
||||
assert(_Font!=NULL);
|
||||
|
||||
IDirect3DTexture9 *Tex = NULL;
|
||||
IDirect3DDevice9Ex *D3DDev9Ex = NULL;
|
||||
bool IsD3DDev9Ex = SUCCEEDED(_Dev->QueryInterface(__uuidof(IDirect3DDevice9Ex), (void **)&D3DDev9Ex)) && D3DDev9Ex != NULL;
|
||||
HRESULT hr;
|
||||
if (IsD3DDev9Ex)
|
||||
{
|
||||
hr = _Dev->CreateTexture(_Font->m_TexWidth, _Font->m_TexHeight, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &Tex, NULL);
|
||||
D3DDev9Ex->Release();
|
||||
}
|
||||
else
|
||||
hr = _Dev->CreateTexture(_Font->m_TexWidth, _Font->m_TexHeight, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, &Tex, NULL);
|
||||
if( FAILED(hr) )
|
||||
return NULL;
|
||||
|
||||
D3DLOCKED_RECT r;
|
||||
hr = Tex->LockRect(0, &r, NULL, 0);
|
||||
if( SUCCEEDED(hr) )
|
||||
{
|
||||
color32 *p = static_cast<color32 *>(r.pBits);
|
||||
for( int i=0; i<_Font->m_TexWidth*_Font->m_TexHeight; ++i, ++p )
|
||||
*p = 0x00ffffff | (((color32)(_Font->m_TexBytes[i]))<<24);
|
||||
Tex->UnlockRect(0);
|
||||
}
|
||||
return Tex;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static void UnbindFont(IDirect3DDevice9 *_Dev, IDirect3DTexture9 *_Tex)
|
||||
{
|
||||
(void)_Dev;
|
||||
|
||||
if( _Tex )
|
||||
_Tex->Release();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
struct CState
|
||||
{
|
||||
IDirect3DStateBlock9 *m_StateBlock;
|
||||
|
||||
// DeviceCaps (filled by constructor)
|
||||
D3DCAPS9 m_Caps;
|
||||
|
||||
void Save();
|
||||
void Restore();
|
||||
CState(IDirect3DDevice9 *_Dev);
|
||||
~CState();
|
||||
private:
|
||||
IDirect3DDevice9 *m_D3DDev;
|
||||
};
|
||||
|
||||
CState::CState(IDirect3DDevice9 *_Dev)
|
||||
{
|
||||
ZeroMemory(this, sizeof(CState));
|
||||
m_D3DDev = _Dev;
|
||||
|
||||
m_D3DDev->GetDeviceCaps(&m_Caps);
|
||||
}
|
||||
|
||||
CState::~CState()
|
||||
{
|
||||
if( m_StateBlock )
|
||||
{
|
||||
UINT rc = m_StateBlock->Release();
|
||||
assert( rc==0 ); (void)rc;
|
||||
m_StateBlock = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void CState::Save()
|
||||
{
|
||||
if( !m_StateBlock && m_D3DDev )
|
||||
m_D3DDev->CreateStateBlock(D3DSBT_ALL, &m_StateBlock);
|
||||
|
||||
if( m_StateBlock )
|
||||
m_StateBlock->Capture();
|
||||
}
|
||||
|
||||
void CState::Restore()
|
||||
{
|
||||
if( m_StateBlock )
|
||||
m_StateBlock->Apply();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int CTwGraphDirect3D9::Init()
|
||||
{
|
||||
assert(g_TwMgr->m_Device!=NULL);
|
||||
|
||||
m_D3DDev = static_cast<IDirect3DDevice9 *>(g_TwMgr->m_Device);
|
||||
m_Drawing = false;
|
||||
m_FontTex = NULL;
|
||||
m_FontD3DTex = NULL;
|
||||
D3DDEVICE_CREATION_PARAMETERS cp;
|
||||
m_D3DDev->GetCreationParameters(&cp);
|
||||
m_PureDevice = ( cp.BehaviorFlags & D3DCREATE_PUREDEVICE ) ? true : false;
|
||||
m_WndWidth = 0;
|
||||
m_WndHeight = 0;
|
||||
m_State = new CState(m_D3DDev);
|
||||
m_ViewportInit = new D3DVIEWPORT9;
|
||||
ZeroMemory(m_ViewportInit, sizeof(D3DVIEWPORT9));
|
||||
m_OffsetX = 0;
|
||||
m_OffsetY = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int CTwGraphDirect3D9::Shut()
|
||||
{
|
||||
assert(m_Drawing==false);
|
||||
|
||||
UnbindFont(m_D3DDev, m_FontD3DTex);
|
||||
m_FontD3DTex = NULL;
|
||||
delete m_State;
|
||||
m_State = NULL;
|
||||
m_D3DDev = NULL;
|
||||
delete m_ViewportInit;
|
||||
m_ViewportInit = NULL;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::BeginDraw(int _WndWidth, int _WndHeight)
|
||||
{
|
||||
assert(m_Drawing==false && _WndWidth>0 && _WndHeight>0);
|
||||
m_Drawing = true;
|
||||
|
||||
m_WndWidth = _WndWidth;
|
||||
m_WndHeight = _WndHeight;
|
||||
m_OffsetX = 0;
|
||||
m_OffsetY = 0;
|
||||
|
||||
// save context
|
||||
if( !m_PureDevice )
|
||||
m_State->Save();
|
||||
|
||||
if( m_WndWidth>0 && m_WndHeight>0 )
|
||||
{
|
||||
D3DVIEWPORT9 Vp;
|
||||
Vp.X = 0;
|
||||
Vp.Y = 0;
|
||||
Vp.Width = m_WndWidth;
|
||||
Vp.Height = m_WndHeight;
|
||||
Vp.MinZ = 0;
|
||||
Vp.MaxZ = 1;
|
||||
m_D3DDev->SetViewport(&Vp);
|
||||
|
||||
//D3DMATRIX Transfo = { 2.0f/_WndWidth,0,0,0, 0,2.0f/_WndHeight,0,0, 0,0,-1,0, 0,0,0,1 };
|
||||
//m_D3DDev->SetTransform(D3DTS_PROJECTION, &Transfo);
|
||||
}
|
||||
m_D3DDev->GetViewport(static_cast<D3DVIEWPORT9 *>(m_ViewportInit));
|
||||
// const D3DMATRIX id = { 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 };
|
||||
// m_D3DDev->SetTransform(D3DTS_VIEW, &id);
|
||||
// m_D3DDev->SetTransform(D3DTS_WORLD, &id);
|
||||
// m_D3DDev->SetTransform(D3DTS_TEXTURE0, &id);
|
||||
|
||||
m_D3DDev->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
|
||||
m_D3DDev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
|
||||
m_D3DDev->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);
|
||||
m_D3DDev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
|
||||
m_D3DDev->SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD);
|
||||
m_D3DDev->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
|
||||
m_D3DDev->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
|
||||
m_D3DDev->SetRenderState(D3DRS_CLIPPLANEENABLE, 0);
|
||||
m_D3DDev->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);
|
||||
m_D3DDev->SetRenderState(D3DRS_LASTPIXEL, FALSE);
|
||||
m_D3DDev->SetRenderState(D3DRS_FOGENABLE, FALSE);
|
||||
m_D3DDev->SetRenderState(D3DRS_STENCILENABLE, FALSE);
|
||||
m_D3DDev->SetRenderState(D3DRS_COLORWRITEENABLE, 0x0000000F);
|
||||
m_D3DDev->SetRenderState(D3DRS_SCISSORTESTENABLE, FALSE);
|
||||
if( m_State->m_Caps.PrimitiveMiscCaps & D3DPMISCCAPS_SEPARATEALPHABLEND )
|
||||
m_D3DDev->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, FALSE);
|
||||
//if( m_State->m_Caps.LineCaps & D3DLINECAPS_ANTIALIAS )
|
||||
m_D3DDev->SetRenderState(D3DRS_ANTIALIASEDLINEENABLE, FALSE);
|
||||
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_PASSTHRU);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE);
|
||||
m_D3DDev->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP);
|
||||
m_D3DDev->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP);
|
||||
m_D3DDev->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);
|
||||
m_D3DDev->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_POINT);
|
||||
m_D3DDev->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_NONE);
|
||||
|
||||
m_D3DDev->SetVertexShader(NULL);
|
||||
m_D3DDev->SetPixelShader(NULL);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::EndDraw()
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
m_Drawing = false;
|
||||
|
||||
// restore context
|
||||
if( !m_PureDevice )
|
||||
m_State->Restore();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool CTwGraphDirect3D9::IsDrawing()
|
||||
{
|
||||
return m_Drawing;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::Restore()
|
||||
{
|
||||
if( m_State )
|
||||
if( m_State->m_StateBlock )
|
||||
{
|
||||
UINT rc = m_State->m_StateBlock->Release();
|
||||
assert( rc==0 ); (void)rc;
|
||||
m_State->m_StateBlock = NULL;
|
||||
}
|
||||
|
||||
UnbindFont(m_D3DDev, m_FontD3DTex);
|
||||
m_FontD3DTex = NULL;
|
||||
|
||||
m_FontTex = NULL;
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
|
||||
struct CVtx
|
||||
{
|
||||
float m_Pos[4];
|
||||
DWORD m_Color;
|
||||
};
|
||||
CVtx p[2];
|
||||
|
||||
p[0].m_Pos[0] = (float)(_X0 + m_OffsetX);
|
||||
p[0].m_Pos[1] = (float)(_Y0 + m_OffsetY);
|
||||
p[0].m_Pos[2] = 0;
|
||||
p[0].m_Pos[3] = 0;
|
||||
p[0].m_Color = _Color0;
|
||||
|
||||
p[1].m_Pos[0] = (float)(_X1 + m_OffsetX);
|
||||
p[1].m_Pos[1] = (float)(_Y1 + m_OffsetY);
|
||||
p[1].m_Pos[2] = 0;
|
||||
p[1].m_Pos[3] = 0;
|
||||
p[1].m_Color = _Color1;
|
||||
|
||||
//if( m_State->m_Caps.LineCaps & D3DLINECAPS_ANTIALIAS )
|
||||
m_D3DDev->SetRenderState(D3DRS_ANTIALIASEDLINEENABLE, (_AntiAliased ? TRUE : FALSE));
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE);
|
||||
m_D3DDev->DrawPrimitiveUP(D3DPT_LINELIST, 1, p, sizeof(CVtx));
|
||||
//if( m_State->m_Caps.LineCaps & D3DLINECAPS_ANTIALIAS )
|
||||
m_D3DDev->SetRenderState(D3DRS_ANTIALIASEDLINEENABLE, FALSE);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
|
||||
// border adjustment
|
||||
if(_X0<_X1)
|
||||
++_X1;
|
||||
else if(_X0>_X1)
|
||||
++_X0;
|
||||
if(_Y0<_Y1)
|
||||
++_Y1;
|
||||
else if(_Y0>_Y1)
|
||||
++_Y0;
|
||||
|
||||
struct CVtx
|
||||
{
|
||||
float m_Pos[4];
|
||||
DWORD m_Color;
|
||||
};
|
||||
CVtx p[4];
|
||||
|
||||
p[0].m_Pos[0] = (float)(_X1 + m_OffsetX);
|
||||
p[0].m_Pos[1] = (float)(_Y0 + m_OffsetY);
|
||||
p[0].m_Pos[2] = 0;
|
||||
p[0].m_Pos[3] = 1;
|
||||
p[0].m_Color = _Color10;
|
||||
|
||||
p[1].m_Pos[0] = (float)(_X0 + m_OffsetX);
|
||||
p[1].m_Pos[1] = (float)(_Y0 + m_OffsetY);
|
||||
p[1].m_Pos[2] = 0;
|
||||
p[1].m_Pos[3] = 1;
|
||||
p[1].m_Color = _Color00;
|
||||
|
||||
p[2].m_Pos[0] = (float)(_X1 + m_OffsetX);
|
||||
p[2].m_Pos[1] = (float)(_Y1 + m_OffsetY);
|
||||
p[2].m_Pos[2] = 0;
|
||||
p[2].m_Pos[3] = 1;
|
||||
p[2].m_Color = _Color11;
|
||||
|
||||
p[3].m_Pos[0] = (float)(_X0 + m_OffsetX);
|
||||
p[3].m_Pos[1] = (float)(_Y1 + m_OffsetY);
|
||||
p[3].m_Pos[2] = 0;
|
||||
p[3].m_Pos[3] = 1;
|
||||
p[3].m_Color = _Color01;
|
||||
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE);
|
||||
m_D3DDev->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, p, sizeof(CVtx));
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void *CTwGraphDirect3D9::NewTextObj()
|
||||
{
|
||||
return new CTextObj;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::DeleteTextObj(void *_TextObj)
|
||||
{
|
||||
assert(_TextObj!=NULL);
|
||||
delete static_cast<CTextObj *>(_TextObj);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
assert(_TextObj!=NULL);
|
||||
assert(_Font!=NULL);
|
||||
|
||||
if( _Font != m_FontTex )
|
||||
{
|
||||
UnbindFont(m_D3DDev, m_FontD3DTex);
|
||||
m_FontD3DTex = BindFont(m_D3DDev, _Font);
|
||||
m_FontTex = _Font;
|
||||
}
|
||||
|
||||
CTextObj *TextObj = static_cast<CTextObj *>(_TextObj);
|
||||
TextObj->m_TextVerts.resize(0);
|
||||
TextObj->m_BgVerts.resize(0);
|
||||
TextObj->m_LineColors = (_LineColors!=NULL);
|
||||
TextObj->m_LineBgColors = (_LineBgColors!=NULL);
|
||||
|
||||
int x, x1, y, y1, i, Len;
|
||||
unsigned char ch;
|
||||
const unsigned char *Text;
|
||||
color32 LineColor = COLOR32_RED;
|
||||
CTextVtx Vtx;
|
||||
Vtx.m_Pos[2] = 0;
|
||||
Vtx.m_Pos[3] = 1;
|
||||
CBgVtx BgVtx;
|
||||
BgVtx.m_Pos[2] = 0;
|
||||
BgVtx.m_Pos[3] = 1;
|
||||
for( int Line=0; Line<_NbLines; ++Line )
|
||||
{
|
||||
x = 0;
|
||||
y = Line * (_Font->m_CharHeight+_Sep);
|
||||
y1 = y+_Font->m_CharHeight;
|
||||
Len = (int)_TextLines[Line].length();
|
||||
Text = (const unsigned char *)(_TextLines[Line].c_str());
|
||||
if( _LineColors!=NULL )
|
||||
LineColor = _LineColors[Line];
|
||||
|
||||
for( i=0; i<Len; ++i )
|
||||
{
|
||||
ch = Text[i];
|
||||
x1 = x + _Font->m_CharWidth[ch];
|
||||
|
||||
Vtx.m_Color = LineColor;
|
||||
|
||||
Vtx.m_Pos[0] = (float)x;
|
||||
Vtx.m_Pos[1] = (float)y;
|
||||
Vtx.m_UV [0] = _Font->m_CharU0[ch];
|
||||
Vtx.m_UV [1] = _Font->m_CharV0[ch];
|
||||
TextObj->m_TextVerts.push_back(Vtx);
|
||||
|
||||
Vtx.m_Pos[0] = (float)x1;
|
||||
Vtx.m_Pos[1] = (float)y;
|
||||
Vtx.m_UV [0] = _Font->m_CharU1[ch];
|
||||
Vtx.m_UV [1] = _Font->m_CharV0[ch];
|
||||
TextObj->m_TextVerts.push_back(Vtx);
|
||||
|
||||
Vtx.m_Pos[0] = (float)x;
|
||||
Vtx.m_Pos[1] = (float)y1;
|
||||
Vtx.m_UV [0] = _Font->m_CharU0[ch];
|
||||
Vtx.m_UV [1] = _Font->m_CharV1[ch];
|
||||
TextObj->m_TextVerts.push_back(Vtx);
|
||||
|
||||
Vtx.m_Pos[0] = (float)x1;
|
||||
Vtx.m_Pos[1] = (float)y;
|
||||
Vtx.m_UV [0] = _Font->m_CharU1[ch];
|
||||
Vtx.m_UV [1] = _Font->m_CharV0[ch];
|
||||
TextObj->m_TextVerts.push_back(Vtx);
|
||||
|
||||
Vtx.m_Pos[0] = (float)x1;
|
||||
Vtx.m_Pos[1] = (float)y1;
|
||||
Vtx.m_UV [0] = _Font->m_CharU1[ch];
|
||||
Vtx.m_UV [1] = _Font->m_CharV1[ch];
|
||||
TextObj->m_TextVerts.push_back(Vtx);
|
||||
|
||||
Vtx.m_Pos[0] = (float)x;
|
||||
Vtx.m_Pos[1] = (float)y1;
|
||||
Vtx.m_UV [0] = _Font->m_CharU0[ch];
|
||||
Vtx.m_UV [1] = _Font->m_CharV1[ch];
|
||||
TextObj->m_TextVerts.push_back(Vtx);
|
||||
|
||||
x = x1;
|
||||
}
|
||||
if( _BgWidth>0 )
|
||||
{
|
||||
if( _LineBgColors!=NULL )
|
||||
BgVtx.m_Color = _LineBgColors[Line];
|
||||
else
|
||||
BgVtx.m_Color = COLOR32_BLACK;
|
||||
|
||||
BgVtx.m_Pos[0] = -1;
|
||||
BgVtx.m_Pos[1] = (float)y;
|
||||
TextObj->m_BgVerts.push_back(BgVtx);
|
||||
|
||||
BgVtx.m_Pos[0] = (float)(_BgWidth+1);
|
||||
BgVtx.m_Pos[1] = (float)y;
|
||||
TextObj->m_BgVerts.push_back(BgVtx);
|
||||
|
||||
BgVtx.m_Pos[0] = -1;
|
||||
BgVtx.m_Pos[1] = (float)y1;
|
||||
TextObj->m_BgVerts.push_back(BgVtx);
|
||||
|
||||
BgVtx.m_Pos[0] = (float)(_BgWidth+1);
|
||||
BgVtx.m_Pos[1] = (float)y;
|
||||
TextObj->m_BgVerts.push_back(BgVtx);
|
||||
|
||||
BgVtx.m_Pos[0] = (float)(_BgWidth+1);
|
||||
BgVtx.m_Pos[1] = (float)y1;
|
||||
TextObj->m_BgVerts.push_back(BgVtx);
|
||||
|
||||
BgVtx.m_Pos[0] = -1;
|
||||
BgVtx.m_Pos[1] = (float)y1;
|
||||
TextObj->m_BgVerts.push_back(BgVtx);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
assert(_TextObj!=NULL);
|
||||
CTextObj *TextObj = static_cast<CTextObj *>(_TextObj);
|
||||
float x = (float)_X;
|
||||
float y = (float)_Y;
|
||||
|
||||
int i;
|
||||
int nv = (int)TextObj->m_TextVerts.size();
|
||||
int nb = (int)TextObj->m_BgVerts.size();
|
||||
|
||||
if( nb>=4 )
|
||||
{
|
||||
for( i=0; i<nb; ++i )
|
||||
{
|
||||
TextObj->m_BgVerts[i].m_Pos[0] += x + m_OffsetX;
|
||||
TextObj->m_BgVerts[i].m_Pos[1] += y + m_OffsetY;
|
||||
if( _BgColor!=0 || !TextObj->m_LineBgColors )
|
||||
TextObj->m_BgVerts[i].m_Color = _BgColor;
|
||||
}
|
||||
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE);
|
||||
m_D3DDev->DrawPrimitiveUP(D3DPT_TRIANGLELIST, nb/3, &(TextObj->m_BgVerts[0]), sizeof(CBgVtx));
|
||||
|
||||
for( i=0; i<nb; ++i )
|
||||
{
|
||||
TextObj->m_BgVerts[i].m_Pos[0] -= x + m_OffsetX;
|
||||
TextObj->m_BgVerts[i].m_Pos[1] -= y + m_OffsetY;
|
||||
}
|
||||
}
|
||||
|
||||
if( nv>=4 )
|
||||
{
|
||||
for( i=0; i<nv; ++i )
|
||||
{
|
||||
TextObj->m_TextVerts[i].m_Pos[0] += x + m_OffsetX;
|
||||
TextObj->m_TextVerts[i].m_Pos[1] += y + m_OffsetY;
|
||||
}
|
||||
if( _Color!=0 || !TextObj->m_LineColors )
|
||||
for( i=0; i<nv; ++i )
|
||||
TextObj->m_TextVerts[i].m_Color = _Color;
|
||||
|
||||
m_D3DDev->SetTexture(0, m_FontD3DTex);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
|
||||
m_D3DDev->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1|D3DFVF_TEXCOORDSIZE2(0));
|
||||
m_D3DDev->DrawPrimitiveUP(D3DPT_TRIANGLELIST, nv/3, &(TextObj->m_TextVerts[0]), sizeof(CTextVtx));
|
||||
|
||||
for( i=0; i<nv; ++i )
|
||||
{
|
||||
TextObj->m_TextVerts[i].m_Pos[0] -= x + m_OffsetX;
|
||||
TextObj->m_TextVerts[i].m_Pos[1] -= y + m_OffsetY;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY)
|
||||
{
|
||||
if( _Width>0 && _Height>0 )
|
||||
{
|
||||
D3DVIEWPORT9 Vp;
|
||||
Vp.X = _X0;
|
||||
Vp.Y = _Y0;
|
||||
Vp.Width = _Width;
|
||||
Vp.Height = _Height;
|
||||
Vp.MinZ = 0;
|
||||
Vp.MaxZ = 1;
|
||||
m_D3DDev->SetViewport(&Vp);
|
||||
|
||||
m_OffsetX = _X0 + _OffsetX;
|
||||
m_OffsetY = _Y0 + _OffsetY - 1;
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::RestoreViewport()
|
||||
{
|
||||
m_D3DDev->SetViewport(static_cast<D3DVIEWPORT9 *>(m_ViewportInit));
|
||||
m_OffsetX = m_OffsetY = 0;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::SetScissor(int _X0, int _Y0, int _Width, int _Height)
|
||||
{
|
||||
if( _Width>0 && _Height>0 )
|
||||
{
|
||||
RECT Rect;
|
||||
Rect.left = _X0 - 1;
|
||||
Rect.right = Rect.left + _Width - 1;
|
||||
Rect.top = _Y0;
|
||||
Rect.bottom = Rect.top + _Height;
|
||||
m_D3DDev->SetScissorRect(&Rect);
|
||||
m_D3DDev->SetRenderState(D3DRS_SCISSORTESTENABLE, TRUE);
|
||||
}
|
||||
else
|
||||
m_D3DDev->SetRenderState(D3DRS_SCISSORTESTENABLE, FALSE);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphDirect3D9::DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
|
||||
if( _NumTriangles<0 )
|
||||
return;
|
||||
|
||||
DWORD prevCullMode = D3DCULL_NONE;
|
||||
m_D3DDev->GetRenderState(D3DRS_CULLMODE, &prevCullMode);
|
||||
if( _CullMode==CULL_CW )
|
||||
m_D3DDev->SetRenderState(D3DRS_CULLMODE, D3DCULL_CW);
|
||||
else if( _CullMode==CULL_CCW )
|
||||
m_D3DDev->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);
|
||||
else
|
||||
m_D3DDev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
|
||||
|
||||
if( (int)m_TriVertices.size()<3*_NumTriangles )
|
||||
m_TriVertices.resize(3*_NumTriangles);
|
||||
|
||||
for( int i=0; i<3*_NumTriangles; ++i )
|
||||
{
|
||||
m_TriVertices[i].m_Pos[0] = (float)(_Vertices[2*i+0] + m_OffsetX);
|
||||
m_TriVertices[i].m_Pos[1] = (float)(_Vertices[2*i+1] + m_OffsetY);
|
||||
m_TriVertices[i].m_Pos[2] = 0;
|
||||
m_TriVertices[i].m_Pos[3] = 1;
|
||||
m_TriVertices[i].m_Color = _Colors[i];
|
||||
}
|
||||
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
|
||||
m_D3DDev->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE);
|
||||
m_D3DDev->DrawPrimitiveUP(D3DPT_TRIANGLELIST, _NumTriangles, &(m_TriVertices[0]), sizeof(CTriVtx));
|
||||
|
||||
m_D3DDev->SetRenderState(D3DRS_CULLMODE, prevCullMode);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
90
AntTweakBar/src/TwDirect3D9.h
Normal file
@@ -0,0 +1,90 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwDirect3D9.h
|
||||
// @brief Direct3D9 graph functions
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_DIRECT3D9_INCLUDED
|
||||
#define ANT_TW_DIRECT3D9_INCLUDED
|
||||
|
||||
#include "TwGraph.h"
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class CTwGraphDirect3D9 : public ITwGraph
|
||||
{
|
||||
public:
|
||||
virtual int Init();
|
||||
virtual int Shut();
|
||||
virtual void BeginDraw(int _WndWidth, int _WndHeight);
|
||||
virtual void EndDraw();
|
||||
virtual bool IsDrawing();
|
||||
virtual void Restore();
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased=false);
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color, bool _AntiAliased=false) { DrawLine(_X0, _Y0, _X1, _Y1, _Color, _Color, _AntiAliased); }
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11);
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color) { DrawRect(_X0, _Y0, _X1, _Y1, _Color, _Color, _Color, _Color); }
|
||||
virtual void DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode);
|
||||
|
||||
virtual void * NewTextObj();
|
||||
virtual void DeleteTextObj(void *_TextObj);
|
||||
virtual void BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth);
|
||||
virtual void DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor);
|
||||
|
||||
virtual void ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY);
|
||||
virtual void RestoreViewport();
|
||||
virtual void SetScissor(int _X0, int _Y0, int _Width, int _Height);
|
||||
|
||||
protected:
|
||||
struct IDirect3DDevice9 * m_D3DDev;
|
||||
bool m_Drawing;
|
||||
const CTexFont * m_FontTex;
|
||||
struct IDirect3DTexture9 * m_FontD3DTex;
|
||||
bool m_PureDevice;
|
||||
int m_WndWidth;
|
||||
int m_WndHeight;
|
||||
void * m_ViewportInit;
|
||||
int m_OffsetX;
|
||||
int m_OffsetY;
|
||||
|
||||
struct CTextVtx
|
||||
{
|
||||
float m_Pos[4];
|
||||
color32 m_Color;
|
||||
float m_UV[2];
|
||||
};
|
||||
struct CBgVtx
|
||||
{
|
||||
float m_Pos[4];
|
||||
color32 m_Color;
|
||||
};
|
||||
|
||||
struct CTextObj
|
||||
{
|
||||
std::vector<CTextVtx> m_TextVerts;
|
||||
std::vector<CBgVtx> m_BgVerts;
|
||||
bool m_LineColors;
|
||||
bool m_LineBgColors;
|
||||
};
|
||||
|
||||
struct CTriVtx
|
||||
{
|
||||
float m_Pos[4];
|
||||
DWORD m_Color;
|
||||
};
|
||||
std::vector<CTriVtx> m_TriVertices;
|
||||
|
||||
struct CState * m_State;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_DIRECT3D9_INCLUDED
|
||||
212
AntTweakBar/src/TwEventGLFW.c
Normal file
@@ -0,0 +1,212 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventGLFW.c
|
||||
// @brief Helper:
|
||||
// translate and re-send mouse and keyboard events
|
||||
// from GLFW event callbacks to AntTweakBar
|
||||
//
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// #include <GL/glfw.h>
|
||||
#include "MiniGLFW.h" // a subset of GLFW.h needed to compile TwEventGLFW.c
|
||||
// note: AntTweakBar.dll does not need to link with GLFW,
|
||||
// it just needs some definitions for its helper functions.
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
|
||||
int TW_CALL TwEventMouseButtonGLFW(int glfwButton, int glfwAction)
|
||||
{
|
||||
int handled = 0;
|
||||
TwMouseAction action = (glfwAction==GLFW_PRESS) ? TW_MOUSE_PRESSED : TW_MOUSE_RELEASED;
|
||||
|
||||
if( glfwButton==GLFW_MOUSE_BUTTON_LEFT )
|
||||
handled = TwMouseButton(action, TW_MOUSE_LEFT);
|
||||
else if( glfwButton==GLFW_MOUSE_BUTTON_RIGHT )
|
||||
handled = TwMouseButton(action, TW_MOUSE_RIGHT);
|
||||
else if( glfwButton==GLFW_MOUSE_BUTTON_MIDDLE )
|
||||
handled = TwMouseButton(action, TW_MOUSE_MIDDLE);
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
|
||||
int g_KMod = 0;
|
||||
|
||||
|
||||
int TW_CALL TwEventKeyGLFW(int glfwKey, int glfwAction)
|
||||
{
|
||||
int handled = 0;
|
||||
|
||||
// Register of modifiers state
|
||||
if( glfwAction==GLFW_PRESS )
|
||||
{
|
||||
switch( glfwKey )
|
||||
{
|
||||
case GLFW_KEY_LSHIFT:
|
||||
case GLFW_KEY_RSHIFT:
|
||||
g_KMod |= TW_KMOD_SHIFT;
|
||||
break;
|
||||
case GLFW_KEY_LCTRL:
|
||||
case GLFW_KEY_RCTRL:
|
||||
g_KMod |= TW_KMOD_CTRL;
|
||||
break;
|
||||
case GLFW_KEY_LALT:
|
||||
case GLFW_KEY_RALT:
|
||||
g_KMod |= TW_KMOD_ALT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch( glfwKey )
|
||||
{
|
||||
case GLFW_KEY_LSHIFT:
|
||||
case GLFW_KEY_RSHIFT:
|
||||
g_KMod &= ~TW_KMOD_SHIFT;
|
||||
break;
|
||||
case GLFW_KEY_LCTRL:
|
||||
case GLFW_KEY_RCTRL:
|
||||
g_KMod &= ~TW_KMOD_CTRL;
|
||||
break;
|
||||
case GLFW_KEY_LALT:
|
||||
case GLFW_KEY_RALT:
|
||||
g_KMod &= ~TW_KMOD_ALT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Process key pressed
|
||||
if( glfwAction==GLFW_PRESS )
|
||||
{
|
||||
int mod = g_KMod;
|
||||
int testkp = ((mod&TW_KMOD_CTRL) || (mod&TW_KMOD_ALT)) ? 1 : 0;
|
||||
|
||||
if( (mod&TW_KMOD_CTRL) && glfwKey>0 && glfwKey<GLFW_KEY_SPECIAL ) // CTRL cases
|
||||
handled = TwKeyPressed(glfwKey, mod);
|
||||
else if( glfwKey>=GLFW_KEY_SPECIAL )
|
||||
{
|
||||
int k = 0;
|
||||
|
||||
if( glfwKey>=GLFW_KEY_F1 && glfwKey<=GLFW_KEY_F15 )
|
||||
k = TW_KEY_F1 + (glfwKey-GLFW_KEY_F1);
|
||||
else if( testkp && glfwKey>=GLFW_KEY_KP_0 && glfwKey<=GLFW_KEY_KP_9 )
|
||||
k = '0' + (glfwKey-GLFW_KEY_KP_0);
|
||||
else
|
||||
{
|
||||
switch( glfwKey )
|
||||
{
|
||||
case GLFW_KEY_ESC:
|
||||
k = TW_KEY_ESCAPE;
|
||||
break;
|
||||
case GLFW_KEY_UP:
|
||||
k = TW_KEY_UP;
|
||||
break;
|
||||
case GLFW_KEY_DOWN:
|
||||
k = TW_KEY_DOWN;
|
||||
break;
|
||||
case GLFW_KEY_LEFT:
|
||||
k = TW_KEY_LEFT;
|
||||
break;
|
||||
case GLFW_KEY_RIGHT:
|
||||
k = TW_KEY_RIGHT;
|
||||
break;
|
||||
case GLFW_KEY_TAB:
|
||||
k = TW_KEY_TAB;
|
||||
break;
|
||||
case GLFW_KEY_ENTER:
|
||||
k = TW_KEY_RETURN;
|
||||
break;
|
||||
case GLFW_KEY_BACKSPACE:
|
||||
k = TW_KEY_BACKSPACE;
|
||||
break;
|
||||
case GLFW_KEY_INSERT:
|
||||
k = TW_KEY_INSERT;
|
||||
break;
|
||||
case GLFW_KEY_DEL:
|
||||
k = TW_KEY_DELETE;
|
||||
break;
|
||||
case GLFW_KEY_PAGEUP:
|
||||
k = TW_KEY_PAGE_UP;
|
||||
break;
|
||||
case GLFW_KEY_PAGEDOWN:
|
||||
k = TW_KEY_PAGE_DOWN;
|
||||
break;
|
||||
case GLFW_KEY_HOME:
|
||||
k = TW_KEY_HOME;
|
||||
break;
|
||||
case GLFW_KEY_END:
|
||||
k = TW_KEY_END;
|
||||
break;
|
||||
case GLFW_KEY_KP_ENTER:
|
||||
k = TW_KEY_RETURN;
|
||||
break;
|
||||
case GLFW_KEY_KP_DIVIDE:
|
||||
if( testkp )
|
||||
k = '/';
|
||||
break;
|
||||
case GLFW_KEY_KP_MULTIPLY:
|
||||
if( testkp )
|
||||
k = '*';
|
||||
break;
|
||||
case GLFW_KEY_KP_SUBTRACT:
|
||||
if( testkp )
|
||||
k = '-';
|
||||
break;
|
||||
case GLFW_KEY_KP_ADD:
|
||||
if( testkp )
|
||||
k = '+';
|
||||
break;
|
||||
case GLFW_KEY_KP_DECIMAL:
|
||||
if( testkp )
|
||||
k = '.';
|
||||
break;
|
||||
case GLFW_KEY_KP_EQUAL:
|
||||
if( testkp )
|
||||
k = '=';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( k>0 )
|
||||
handled = TwKeyPressed(k, mod);
|
||||
}
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
|
||||
int TW_CALL TwEventCharGLFW(int glfwChar, int glfwAction)
|
||||
{
|
||||
if( glfwAction==GLFW_PRESS && (glfwChar & 0xff00)==0 )
|
||||
return TwKeyPressed(glfwChar, g_KMod);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// functions with __cdecl calling convension
|
||||
TW_API int TW_CDECL_CALL TwEventMouseButtonGLFWcdecl(int glfwButton, int glfwAction)
|
||||
{
|
||||
return TwEventMouseButtonGLFW(glfwButton, glfwAction);
|
||||
}
|
||||
TW_API int TW_CDECL_CALL TwEventKeyGLFWcdecl(int glfwKey, int glfwAction)
|
||||
{
|
||||
return TwEventKeyGLFW(glfwKey, glfwAction);
|
||||
}
|
||||
TW_API int TW_CDECL_CALL TwEventCharGLFWcdecl(int glfwChar, int glfwAction)
|
||||
{
|
||||
return TwEventCharGLFW(glfwChar, glfwAction);
|
||||
}
|
||||
TW_API int TW_CDECL_CALL TwEventMousePosGLFWcdecl(int mouseX, int mouseY)
|
||||
{
|
||||
return TwMouseMotion(mouseX, mouseY);
|
||||
}
|
||||
TW_API int TW_CDECL_CALL TwEventMouseWheelGLFWcdecl(int wheelPos)
|
||||
{
|
||||
return TwMouseWheel(wheelPos);
|
||||
}
|
||||
150
AntTweakBar/src/TwEventGLUT.c
Normal file
@@ -0,0 +1,150 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventGLUT.c
|
||||
// @brief Helper:
|
||||
// translate and re-send mouse and keyboard events
|
||||
// from GLUT event callbacks to AntTweakBar
|
||||
//
|
||||
// @author Philippe Decaudin
|
||||
// @date 2006/05/10
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#define GLUT_NO_LIB_PRAGMA // we do not want to force linkage with glut
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(disable: 4505) // glut generates 'unreferenced function' warnings
|
||||
# pragma warning(disable: 4100) // unreferenced parameter
|
||||
#endif // _MSC_VER
|
||||
|
||||
// #include <GL/glut.h>
|
||||
#include "MiniGLUT.h" // a subset of glut.h needed to compile TwEventGLUT.c
|
||||
// note: AntTweakBar.dll does not need to link with GLUT,
|
||||
// it just needs some definitions for its helper functions.
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
|
||||
int TW_GLUT_CALL TwEventMouseButtonGLUT(int glutButton, int glutState, int mouseX, int mouseY)
|
||||
{
|
||||
TwMouseAction action = (glutState==GLUT_DOWN) ? TW_MOUSE_PRESSED : TW_MOUSE_RELEASED;
|
||||
|
||||
TwMouseMotion(mouseX, mouseY);
|
||||
switch( glutButton )
|
||||
{
|
||||
case GLUT_LEFT_BUTTON:
|
||||
return TwMouseButton(action, TW_MOUSE_LEFT);
|
||||
case GLUT_RIGHT_BUTTON:
|
||||
return TwMouseButton(action, TW_MOUSE_RIGHT);
|
||||
case GLUT_MIDDLE_BUTTON:
|
||||
return TwMouseButton(action, TW_MOUSE_MIDDLE);
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int TW_GLUT_CALL TwEventMouseMotionGLUT(int mouseX, int mouseY)
|
||||
{
|
||||
return TwMouseMotion(mouseX, mouseY);
|
||||
}
|
||||
|
||||
|
||||
// GLUT does not send modifiers state to 'Key' and 'Special' callbacks,
|
||||
// and we cannot call glutGetModifiers here because we do not want to link
|
||||
// AntTweakBar with glut, so the following function is used to store
|
||||
// a pointer to the glutGetModifiers function of the calling application.
|
||||
// It must be called at initialisation of the application.
|
||||
|
||||
int (TW_CALL *g_GLUTGetModifiers)(void) = NULL;
|
||||
|
||||
int TW_CALL TwGLUTModifiersFunc(int (TW_CALL *glutGetModifiersFunc)(void))
|
||||
{
|
||||
g_GLUTGetModifiers = glutGetModifiersFunc;
|
||||
return (g_GLUTGetModifiers==NULL) ? 0 : 1;
|
||||
}
|
||||
|
||||
|
||||
int TW_GLUT_CALL TwEventKeyboardGLUT(unsigned char glutKey, int mouseX, int mouseY)
|
||||
{
|
||||
int kmod = 0;
|
||||
|
||||
if( g_GLUTGetModifiers!=NULL )
|
||||
{
|
||||
int glutMod = g_GLUTGetModifiers();
|
||||
|
||||
if( glutMod&GLUT_ACTIVE_SHIFT )
|
||||
kmod |= TW_KMOD_SHIFT;
|
||||
if( glutMod&GLUT_ACTIVE_CTRL )
|
||||
kmod |= TW_KMOD_CTRL;
|
||||
if( glutMod&GLUT_ACTIVE_ALT )
|
||||
kmod |= TW_KMOD_ALT;
|
||||
}
|
||||
|
||||
if( (kmod&TW_KMOD_CTRL) && (glutKey>0 && glutKey<27) ) // CTRL special case
|
||||
glutKey += 'a'-1;
|
||||
|
||||
return TwKeyPressed((int)glutKey, kmod);
|
||||
}
|
||||
|
||||
|
||||
int TW_GLUT_CALL TwEventSpecialGLUT(int glutKey, int mouseX, int mouseY)
|
||||
{
|
||||
int k = 0, kmod = 0;
|
||||
|
||||
if( g_GLUTGetModifiers!=NULL )
|
||||
{
|
||||
int glutMod = g_GLUTGetModifiers();
|
||||
|
||||
if( glutMod&GLUT_ACTIVE_SHIFT )
|
||||
kmod |= TW_KMOD_SHIFT;
|
||||
if( glutMod&GLUT_ACTIVE_CTRL )
|
||||
kmod |= TW_KMOD_CTRL;
|
||||
if( glutMod&GLUT_ACTIVE_ALT )
|
||||
kmod |= TW_KMOD_ALT;
|
||||
}
|
||||
|
||||
if( glutKey>=GLUT_KEY_F1 && glutKey<=GLUT_KEY_F12 )
|
||||
k = TW_KEY_F1 + (glutKey-GLUT_KEY_F1);
|
||||
else
|
||||
{
|
||||
switch( glutKey )
|
||||
{
|
||||
case GLUT_KEY_LEFT:
|
||||
k = TW_KEY_LEFT;
|
||||
break;
|
||||
case GLUT_KEY_UP:
|
||||
k = TW_KEY_UP;
|
||||
break;
|
||||
case GLUT_KEY_RIGHT:
|
||||
k = TW_KEY_RIGHT;
|
||||
break;
|
||||
case GLUT_KEY_DOWN:
|
||||
k = TW_KEY_DOWN;
|
||||
break;
|
||||
case GLUT_KEY_PAGE_UP:
|
||||
k = TW_KEY_PAGE_UP;
|
||||
break;
|
||||
case GLUT_KEY_PAGE_DOWN:
|
||||
k = TW_KEY_PAGE_DOWN;
|
||||
break;
|
||||
case GLUT_KEY_HOME:
|
||||
k = TW_KEY_HOME;
|
||||
break;
|
||||
case GLUT_KEY_END:
|
||||
k = TW_KEY_END;
|
||||
break;
|
||||
case GLUT_KEY_INSERT:
|
||||
k = TW_KEY_INSERT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( k>0 && k<TW_KEY_LAST )
|
||||
return TwKeyPressed(k, kmod);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
43
AntTweakBar/src/TwEventSDL.c
Normal file
@@ -0,0 +1,43 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventSDL.c
|
||||
// @brief Helper:
|
||||
// translate and re-send mouse and keyboard events
|
||||
// from SDL event loop to AntTweakBar
|
||||
//
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: AntTweakBar.dll does not need to link with SDL,
|
||||
// it just needs some definitions for its helper functions.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
int TW_CALL TwEventSDL12(const void *sdlEvent); // implemented in TwEventSDL12.c
|
||||
int TW_CALL TwEventSDL13(const void *sdlEvent); // implmeneted in TwEventSDL13.c
|
||||
#ifdef __cplusplus
|
||||
extern "C" { int TW_CALL TwSetLastError(const char *staticErrorMessage); }
|
||||
#else
|
||||
int TW_CALL TwSetLastError(const char *staticErrorMessage);
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
// TwEventSDL returns zero if msg has not been handled or the SDL version
|
||||
// is not supported, and a non-zero value if it has been handled by the
|
||||
// AntTweakBar library.
|
||||
int TW_CALL TwEventSDL(const void *sdlEvent, unsigned char majorVersion, unsigned char minorVersion)
|
||||
{
|
||||
if (majorVersion < 1 || (majorVersion == 1 && minorVersion < 2))
|
||||
{
|
||||
static const char *g_ErrBadSDLVersion = "Unsupported SDL version";
|
||||
TwSetLastError(g_ErrBadSDLVersion);
|
||||
return 0;
|
||||
}
|
||||
else if (majorVersion == 1 && minorVersion == 2)
|
||||
return TwEventSDL12(sdlEvent);
|
||||
else // if( majorVersion==1 && minorVersion==3 )
|
||||
return TwEventSDL13(sdlEvent); // will probably not work for version > 1.3, but give it a chance
|
||||
}
|
||||
71
AntTweakBar/src/TwEventSDL12.c
Normal file
@@ -0,0 +1,71 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventSDL12.c
|
||||
// @brief Helper:
|
||||
// translate and re-send mouse and keyboard events
|
||||
// from SDL 1.2 event loop to AntTweakBar
|
||||
//
|
||||
// @author Philippe Decaudin
|
||||
// @date 2006/05/10
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "MiniSDL12.h" // a subset of SDL.h needed to compile TwEventSDL12.c
|
||||
// note: AntTweakBar.dll does not need to link with SDL,
|
||||
// it just needs some definitions for its helper functions.
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
|
||||
// TwEventSDL12 returns zero if msg has not been handled,
|
||||
// and a non-zero value if it has been handled by the AntTweakBar library.
|
||||
int TW_CALL TwEventSDL12(const void *sdlEvent)
|
||||
{
|
||||
int handled = 0;
|
||||
const SDL_Event *event = (const SDL_Event *)sdlEvent;
|
||||
|
||||
if( event==NULL )
|
||||
return 0;
|
||||
|
||||
switch( event->type )
|
||||
{
|
||||
case SDL_KEYDOWN:
|
||||
if( event->key.keysym.unicode!=0 && (event->key.keysym.unicode & 0xFF00)==0 )
|
||||
{
|
||||
if( (event->key.keysym.unicode & 0xFF)<32 && (event->key.keysym.unicode & 0xFF)!=event->key.keysym.sym )
|
||||
handled = TwKeyPressed((event->key.keysym.unicode & 0xFF)+'a'-1, event->key.keysym.mod);
|
||||
else
|
||||
handled = TwKeyPressed(event->key.keysym.unicode & 0xFF, event->key.keysym.mod);
|
||||
}
|
||||
else
|
||||
handled = TwKeyPressed(event->key.keysym.sym, event->key.keysym.mod);
|
||||
break;
|
||||
case SDL_MOUSEMOTION:
|
||||
handled = TwMouseMotion(event->motion.x, event->motion.y);
|
||||
break;
|
||||
case SDL_MOUSEBUTTONUP:
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
if( event->type==SDL_MOUSEBUTTONDOWN && (event->button.button==4 || event->button.button==5) ) // mouse wheel
|
||||
{
|
||||
static int s_WheelPos = 0;
|
||||
if( event->button.button==4 )
|
||||
++s_WheelPos;
|
||||
else
|
||||
--s_WheelPos;
|
||||
handled = TwMouseWheel(s_WheelPos);
|
||||
}
|
||||
else
|
||||
handled = TwMouseButton((event->type==SDL_MOUSEBUTTONUP)?TW_MOUSE_RELEASED:TW_MOUSE_PRESSED, (TwMouseButtonID)event->button.button);
|
||||
break;
|
||||
case SDL_VIDEORESIZE:
|
||||
// tell the new size to TweakBar
|
||||
TwWindowSize(event->resize.w, event->resize.h);
|
||||
// do not set 'handled', SDL_VIDEORESIZE may be also processed by the calling application
|
||||
break;
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
129
AntTweakBar/src/TwEventSDL13.c
Normal file
@@ -0,0 +1,129 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventSDL13.c
|
||||
// @brief Helper:
|
||||
// translate and re-send mouse and keyboard events
|
||||
// from SDL 1.3 event loop to AntTweakBar
|
||||
//
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "MiniSDL13.h" // a subset of SDL.h needed to compile TwEventSDL.c
|
||||
// note: AntTweakBar.dll does not need to link with SDL,
|
||||
// it just needs some definitions for its helper functions.
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
|
||||
// The way SDL handles keyboard events has changed between version 1.2
|
||||
// and 1.3. It is now more difficult to translate SDL keyboard events to
|
||||
// AntTweakBar events. The following code is an attempt to do so, but
|
||||
// it is rather complex and not always accurate (eg, CTRL+1 is not handled).
|
||||
// If someone knows a better and more robust way to do the keyboard events
|
||||
// translation, please let me know.
|
||||
|
||||
// TwEventSDL returns zero if msg has not been handled,
|
||||
// and a non-zero value if it has been handled by the AntTweakBar library.
|
||||
int TW_CALL TwEventSDL13(const void *sdlEvent)
|
||||
{
|
||||
int handled = 0;
|
||||
static int s_KeyMod = 0;
|
||||
const SDL_Event *event = (const SDL_Event *)sdlEvent;
|
||||
|
||||
if( event==NULL )
|
||||
return 0;
|
||||
|
||||
switch( event->type )
|
||||
{
|
||||
case SDL_TEXTINPUT:
|
||||
if( event->text.text[0]!=0 && event->text.text[1]==0 )
|
||||
{
|
||||
if( s_KeyMod & TW_KMOD_CTRL && event->text.text[0]<32 )
|
||||
handled = TwKeyPressed(event->text.text[0]+'a'-1, s_KeyMod);
|
||||
else
|
||||
{
|
||||
if (s_KeyMod & KMOD_RALT)
|
||||
s_KeyMod &= ~KMOD_CTRL;
|
||||
handled = TwKeyPressed(event->text.text[0], s_KeyMod);
|
||||
}
|
||||
}
|
||||
s_KeyMod = 0;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
if( event->key.keysym.sym & SDLK_SCANCODE_MASK )
|
||||
{
|
||||
int key = 0;
|
||||
switch( event->key.keysym.sym )
|
||||
{
|
||||
case SDLK_UP:
|
||||
key = TW_KEY_UP;
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
key = TW_KEY_DOWN;
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
key = TW_KEY_RIGHT;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
key = TW_KEY_LEFT;
|
||||
break;
|
||||
case SDLK_INSERT:
|
||||
key = TW_KEY_INSERT;
|
||||
break;
|
||||
case SDLK_HOME:
|
||||
key = TW_KEY_HOME;
|
||||
break;
|
||||
case SDLK_END:
|
||||
key = TW_KEY_END;
|
||||
break;
|
||||
case SDLK_PAGEUP:
|
||||
key = TW_KEY_PAGE_UP;
|
||||
break;
|
||||
case SDLK_PAGEDOWN:
|
||||
key = TW_KEY_PAGE_DOWN;
|
||||
break;
|
||||
default:
|
||||
if( event->key.keysym.sym>=SDLK_F1 && event->key.keysym.sym<=SDLK_F12 )
|
||||
key = event->key.keysym.sym + TW_KEY_F1 - SDLK_F1;
|
||||
}
|
||||
if( key!=0 )
|
||||
handled = TwKeyPressed(key, event->key.keysym.mod);
|
||||
}
|
||||
else if( event->key.keysym.mod & TW_KMOD_ALT )
|
||||
handled = TwKeyPressed(event->key.keysym.sym & 0xFF, event->key.keysym.mod);
|
||||
else
|
||||
s_KeyMod = event->key.keysym.mod;
|
||||
break;
|
||||
case SDL_KEYUP:
|
||||
s_KeyMod = 0;
|
||||
break;
|
||||
case SDL_MOUSEMOTION:
|
||||
handled = TwMouseMotion(event->motion.x, event->motion.y);
|
||||
break;
|
||||
case SDL_MOUSEBUTTONUP:
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
if( event->type==SDL_MOUSEBUTTONDOWN && (event->button.button==4 || event->button.button==5) ) // mouse wheel
|
||||
{
|
||||
static int s_WheelPos = 0;
|
||||
if( event->button.button==4 )
|
||||
++s_WheelPos;
|
||||
else
|
||||
--s_WheelPos;
|
||||
handled = TwMouseWheel(s_WheelPos);
|
||||
}
|
||||
else
|
||||
handled = TwMouseButton((event->type==SDL_MOUSEBUTTONUP)?TW_MOUSE_RELEASED:TW_MOUSE_PRESSED, (TwMouseButtonID)event->button.button);
|
||||
break;
|
||||
case SDL_VIDEORESIZE:
|
||||
// tell the new size to TweakBar
|
||||
TwWindowSize(event->resize.w, event->resize.h);
|
||||
// do not set 'handled', SDL_VIDEORESIZE may be also processed by the calling application
|
||||
break;
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
173
AntTweakBar/src/TwEventSFML.cpp
Normal file
@@ -0,0 +1,173 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventSFML.cpp
|
||||
// @brief Helper:
|
||||
// translate and re-send mouse and keyboard events
|
||||
// from SFML 1.6 event loop to AntTweakBar
|
||||
//
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "MiniSFML16.h" // a subset of SFML 1.6 headers needed to compile TwEventSFML.cpp
|
||||
// note: AntTweakBar.dll does not need to link with SFML,
|
||||
// it just needs some definitions for its helper functions.
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
|
||||
// TwEventSFML returns zero if msg has not been handled,
|
||||
// and a non-zero value if it has been handled by the AntTweakBar library.
|
||||
int TW_CALL TwEventSFML(const void *sfmlEvent, unsigned char majorVersion, unsigned char minorVersion)
|
||||
{
|
||||
// Assume version 1.6 (will possibly not work for version != 1.6, but give it a chance)
|
||||
/*
|
||||
if (majorVersion > 1 || (majorVersion == 1 && minorVersion > 6)
|
||||
{
|
||||
static const char *g_ErrBadSFMLVersion = "Unsupported SFML version";
|
||||
TwSetLastError(g_ErrBadSFMLVersion);
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
(void)majorVersion, (void)minorVersion;
|
||||
|
||||
int handled = 0;
|
||||
const sf::Event *event = (const sf::Event *)sfmlEvent;
|
||||
TwMouseAction mouseAction;
|
||||
int key = 0;
|
||||
static int s_KMod = 0;
|
||||
static bool s_PreventTextHandling = false;
|
||||
static int s_WheelPos = 0;
|
||||
|
||||
if (event == NULL)
|
||||
return 0;
|
||||
|
||||
switch (event->Type)
|
||||
{
|
||||
case sf::Event::KeyPressed:
|
||||
s_PreventTextHandling = false;
|
||||
s_KMod = 0;
|
||||
if (event->Key.Shift) s_KMod |= TW_KMOD_SHIFT;
|
||||
if (event->Key.Alt) s_KMod |= TW_KMOD_ALT;
|
||||
if (event->Key.Control) s_KMod |= TW_KMOD_CTRL;
|
||||
key = 0;
|
||||
switch (event->Key.Code)
|
||||
{
|
||||
case sf::Key::Escape:
|
||||
key = TW_KEY_ESCAPE;
|
||||
break;
|
||||
case sf::Key::Return:
|
||||
key = TW_KEY_RETURN;
|
||||
break;
|
||||
case sf::Key::Tab:
|
||||
key = TW_KEY_TAB;
|
||||
break;
|
||||
case sf::Key::Back:
|
||||
key = TW_KEY_BACKSPACE;
|
||||
break;
|
||||
case sf::Key::PageUp:
|
||||
key = TW_KEY_PAGE_UP;
|
||||
break;
|
||||
case sf::Key::PageDown:
|
||||
key = TW_KEY_PAGE_DOWN;
|
||||
break;
|
||||
case sf::Key::Up:
|
||||
key = TW_KEY_UP;
|
||||
break;
|
||||
case sf::Key::Down:
|
||||
key = TW_KEY_DOWN;
|
||||
break;
|
||||
case sf::Key::Left:
|
||||
key = TW_KEY_LEFT;
|
||||
break;
|
||||
case sf::Key::Right:
|
||||
key = TW_KEY_RIGHT;
|
||||
break;
|
||||
case sf::Key::End:
|
||||
key = TW_KEY_END;
|
||||
break;
|
||||
case sf::Key::Home:
|
||||
key = TW_KEY_HOME;
|
||||
break;
|
||||
case sf::Key::Insert:
|
||||
key = TW_KEY_INSERT;
|
||||
break;
|
||||
case sf::Key::Delete:
|
||||
key = TW_KEY_DELETE;
|
||||
break;
|
||||
case sf::Key::Space:
|
||||
key = TW_KEY_SPACE;
|
||||
break;
|
||||
default:
|
||||
if (event->Key.Code >= sf::Key::F1 && event->Key.Code <= sf::Key::F15)
|
||||
key = TW_KEY_F1 + event->Key.Code - sf::Key::F1;
|
||||
else if (s_KMod & TW_KMOD_ALT)
|
||||
{
|
||||
if (event->Key.Code >= sf::Key::A && event->Key.Code <= sf::Key::Z)
|
||||
{
|
||||
if (s_KMod & TW_KMOD_SHIFT)
|
||||
key = 'A' + event->Key.Code - sf::Key::A;
|
||||
else
|
||||
key = 'a' + event->Key.Code - sf::Key::A;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (key != 0)
|
||||
{
|
||||
handled = TwKeyPressed(key, s_KMod);
|
||||
s_PreventTextHandling = true;
|
||||
}
|
||||
break;
|
||||
case sf::Event::KeyReleased:
|
||||
s_PreventTextHandling = false;
|
||||
s_KMod = 0;
|
||||
break;
|
||||
case sf::Event::TextEntered:
|
||||
if (!s_PreventTextHandling && event->Text.Unicode != 0 && (event->Text.Unicode & 0xFF00) == 0)
|
||||
{
|
||||
if ((event->Text.Unicode & 0xFF) < 32) // CTRL+letter
|
||||
handled = TwKeyPressed((event->Text.Unicode & 0xFF)+'a'-1, TW_KMOD_CTRL|s_KMod);
|
||||
else
|
||||
handled = TwKeyPressed(event->Text.Unicode & 0xFF, 0);
|
||||
}
|
||||
s_PreventTextHandling = false;
|
||||
break;
|
||||
case sf::Event::MouseMoved:
|
||||
handled = TwMouseMotion(event->MouseMove.X, event->MouseMove.Y);
|
||||
break;
|
||||
case sf::Event::MouseButtonPressed:
|
||||
case sf::Event::MouseButtonReleased:
|
||||
mouseAction = (event->Type==sf::Event::MouseButtonPressed) ? TW_MOUSE_PRESSED : TW_MOUSE_RELEASED;
|
||||
switch (event->MouseButton.Button)
|
||||
{
|
||||
case sf::Mouse::Left:
|
||||
handled = TwMouseButton(mouseAction, TW_MOUSE_LEFT);
|
||||
break;
|
||||
case sf::Mouse::Middle:
|
||||
handled = TwMouseButton(mouseAction, TW_MOUSE_MIDDLE);
|
||||
break;
|
||||
case sf::Mouse::Right:
|
||||
handled = TwMouseButton(mouseAction, TW_MOUSE_RIGHT);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case sf::Event::MouseWheelMoved:
|
||||
s_WheelPos += event->MouseWheel.Delta;
|
||||
handled = TwMouseWheel(s_WheelPos);
|
||||
break;
|
||||
case sf::Event::Resized:
|
||||
// tell the new size to TweakBar
|
||||
TwWindowSize(event->Size.Width, event->Size.Height);
|
||||
// do not set 'handled', sf::Event::Resized may be also processed by the client application
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
256
AntTweakBar/src/TwEventWin.c
Normal file
@@ -0,0 +1,256 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventWin.c
|
||||
// @brief Helper:
|
||||
// translate and re-send mouse and keyboard events
|
||||
// from Windows message proc to AntTweakBar
|
||||
//
|
||||
// @author Philippe Decaudin
|
||||
// @date 2006/05/10
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||
#include <windows.h>
|
||||
|
||||
// Mouse wheel support
|
||||
#if !defined WM_MOUSEWHEEL
|
||||
# define WM_MOUSEWHEEL 0x020A
|
||||
#endif // WM_MOUSEWHEEL
|
||||
#if !defined WHEEL_DELTA
|
||||
#define WHEEL_DELTA 120
|
||||
#endif // WHEEL_DELTA
|
||||
|
||||
#ifdef _WIN64
|
||||
#define PARAM_INT __int64
|
||||
#else
|
||||
#define PARAM_INT int
|
||||
#endif
|
||||
|
||||
// TwEventWin returns zero if msg has not been handled,
|
||||
// and a non-zero value if it has been handled by the AntTweakBar library.
|
||||
int TW_CALL TwEventWin(void *wnd, unsigned int msg, unsigned PARAM_INT _W64 wParam, PARAM_INT _W64 lParam)
|
||||
{
|
||||
int handled = 0;
|
||||
static unsigned PARAM_INT s_PrevKeyDown = 0;
|
||||
static PARAM_INT s_PrevKeyDownMod = 0;
|
||||
static int s_PrevKeyDownHandled = 0;
|
||||
|
||||
switch( msg )
|
||||
{
|
||||
case WM_MOUSEMOVE:
|
||||
// send signed! mouse coordinates
|
||||
handled = TwMouseMotion((short)LOWORD(lParam), (short)HIWORD(lParam));
|
||||
break;
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_LBUTTONDBLCLK:
|
||||
SetCapture(wnd);
|
||||
handled = TwMouseButton(TW_MOUSE_PRESSED, TW_MOUSE_LEFT);
|
||||
break;
|
||||
case WM_LBUTTONUP:
|
||||
ReleaseCapture();
|
||||
handled = TwMouseButton(TW_MOUSE_RELEASED, TW_MOUSE_LEFT);
|
||||
break;
|
||||
case WM_MBUTTONDOWN:
|
||||
case WM_MBUTTONDBLCLK:
|
||||
SetCapture(wnd);
|
||||
handled = TwMouseButton(TW_MOUSE_PRESSED, TW_MOUSE_MIDDLE);
|
||||
break;
|
||||
case WM_MBUTTONUP:
|
||||
ReleaseCapture();
|
||||
handled = TwMouseButton(TW_MOUSE_RELEASED, TW_MOUSE_MIDDLE);
|
||||
break;
|
||||
case WM_RBUTTONDOWN:
|
||||
case WM_RBUTTONDBLCLK:
|
||||
SetCapture(wnd);
|
||||
handled = TwMouseButton(TW_MOUSE_PRESSED, TW_MOUSE_RIGHT);
|
||||
break;
|
||||
case WM_RBUTTONUP:
|
||||
ReleaseCapture();
|
||||
handled = TwMouseButton(TW_MOUSE_RELEASED, TW_MOUSE_RIGHT);
|
||||
break;
|
||||
case WM_CHAR:
|
||||
case WM_SYSCHAR:
|
||||
{
|
||||
int key = (int)(wParam&0xff);
|
||||
int kmod = 0;
|
||||
|
||||
if( GetAsyncKeyState(VK_SHIFT)<0 )
|
||||
kmod |= TW_KMOD_SHIFT;
|
||||
if( GetAsyncKeyState(VK_CONTROL)<0 )
|
||||
{
|
||||
kmod |= TW_KMOD_CTRL;
|
||||
if( key>0 && key<27 )
|
||||
key += 'a'-1;
|
||||
}
|
||||
if( GetAsyncKeyState(VK_MENU)<0 )
|
||||
kmod |= TW_KMOD_ALT;
|
||||
if( key>0 && key<256 )
|
||||
handled = TwKeyPressed(key, kmod);
|
||||
}
|
||||
break;
|
||||
case WM_KEYDOWN:
|
||||
case WM_SYSKEYDOWN:
|
||||
{
|
||||
int kmod = 0;
|
||||
int testkp = 0;
|
||||
int k = 0;
|
||||
|
||||
if( GetAsyncKeyState(VK_SHIFT)<0 )
|
||||
kmod |= TW_KMOD_SHIFT;
|
||||
if( GetAsyncKeyState(VK_CONTROL)<0 )
|
||||
{
|
||||
kmod |= TW_KMOD_CTRL;
|
||||
testkp = 1;
|
||||
}
|
||||
if( GetAsyncKeyState(VK_MENU)<0 )
|
||||
{
|
||||
kmod |= TW_KMOD_ALT;
|
||||
testkp = 1;
|
||||
}
|
||||
if( wParam>=VK_F1 && wParam<=VK_F15 )
|
||||
k = TW_KEY_F1 + ((int)wParam-VK_F1);
|
||||
else if( testkp && wParam>=VK_NUMPAD0 && wParam<=VK_NUMPAD9 )
|
||||
k = '0' + ((int)wParam-VK_NUMPAD0);
|
||||
else
|
||||
{
|
||||
switch( wParam )
|
||||
{
|
||||
case VK_UP:
|
||||
k = TW_KEY_UP;
|
||||
break;
|
||||
case VK_DOWN:
|
||||
k = TW_KEY_DOWN;
|
||||
break;
|
||||
case VK_LEFT:
|
||||
k = TW_KEY_LEFT;
|
||||
break;
|
||||
case VK_RIGHT:
|
||||
k = TW_KEY_RIGHT;
|
||||
break;
|
||||
case VK_INSERT:
|
||||
k = TW_KEY_INSERT;
|
||||
break;
|
||||
case VK_DELETE:
|
||||
k = TW_KEY_DELETE;
|
||||
break;
|
||||
case VK_PRIOR:
|
||||
k = TW_KEY_PAGE_UP;
|
||||
break;
|
||||
case VK_NEXT:
|
||||
k = TW_KEY_PAGE_DOWN;
|
||||
break;
|
||||
case VK_HOME:
|
||||
k = TW_KEY_HOME;
|
||||
break;
|
||||
case VK_END:
|
||||
k = TW_KEY_END;
|
||||
break;
|
||||
case VK_DIVIDE:
|
||||
if( testkp )
|
||||
k = '/';
|
||||
break;
|
||||
case VK_MULTIPLY:
|
||||
if( testkp )
|
||||
k = '*';
|
||||
break;
|
||||
case VK_SUBTRACT:
|
||||
if( testkp )
|
||||
k = '-';
|
||||
break;
|
||||
case VK_ADD:
|
||||
if( testkp )
|
||||
k = '+';
|
||||
break;
|
||||
case VK_DECIMAL:
|
||||
if( testkp )
|
||||
k = '.';
|
||||
break;
|
||||
default:
|
||||
if( (kmod&TW_KMOD_CTRL) && (kmod&TW_KMOD_ALT) )
|
||||
k = MapVirtualKey( (UINT)wParam, 2 ) & 0x0000FFFF;
|
||||
}
|
||||
}
|
||||
if( k!=0 )
|
||||
handled = TwKeyPressed(k, kmod);
|
||||
else
|
||||
{
|
||||
// if the key will be handled at next WM_CHAR report this event as handled
|
||||
int key = (int)(wParam&0xff);
|
||||
if( kmod&TW_KMOD_CTRL && key>0 && key<27 )
|
||||
key += 'a'-1;
|
||||
if( key>0 && key<256 )
|
||||
handled = TwKeyTest(key, kmod);
|
||||
}
|
||||
s_PrevKeyDown = wParam;
|
||||
s_PrevKeyDownMod = kmod;
|
||||
s_PrevKeyDownHandled = handled;
|
||||
}
|
||||
break;
|
||||
case WM_KEYUP:
|
||||
case WM_SYSKEYUP:
|
||||
{
|
||||
int kmod = 0;
|
||||
if( GetAsyncKeyState(VK_SHIFT)<0 )
|
||||
kmod |= TW_KMOD_SHIFT;
|
||||
if( GetAsyncKeyState(VK_CONTROL)<0 )
|
||||
kmod |= TW_KMOD_CTRL;
|
||||
if( GetAsyncKeyState(VK_MENU)<0 )
|
||||
kmod |= TW_KMOD_ALT;
|
||||
// if the key has been handled at previous WM_KEYDOWN report this event as handled
|
||||
if( s_PrevKeyDown==wParam && s_PrevKeyDownMod==kmod )
|
||||
handled = s_PrevKeyDownHandled;
|
||||
else
|
||||
{
|
||||
// if the key would have been handled report this event as handled
|
||||
int key = (int)(wParam&0xff);
|
||||
if( kmod&TW_KMOD_CTRL && key>0 && key<27 )
|
||||
key += 'a'-1;
|
||||
if( key>0 && key<256 )
|
||||
handled = TwKeyTest(key, kmod);
|
||||
}
|
||||
// reset previous keydown
|
||||
s_PrevKeyDown = 0;
|
||||
s_PrevKeyDownMod = 0;
|
||||
s_PrevKeyDownHandled = 0;
|
||||
}
|
||||
break;
|
||||
case WM_MOUSEWHEEL:
|
||||
{
|
||||
static int s_WheelPos = 0;
|
||||
s_WheelPos += ((short)HIWORD(wParam))/WHEEL_DELTA;
|
||||
handled = TwMouseWheel(s_WheelPos);
|
||||
}
|
||||
break;
|
||||
case WM_SIZE:
|
||||
// tell the new size to AntTweakBar
|
||||
TwWindowSize(LOWORD(lParam), HIWORD(lParam));
|
||||
// do not set 'handled', WM_SIZE may be also processed by the calling application
|
||||
break;
|
||||
}
|
||||
|
||||
if( handled )
|
||||
// Event has been handled by AntTweakBar, so we invalidate the window
|
||||
// content to send a WM_PAINT which will redraw the tweak bar(s).
|
||||
InvalidateRect(wnd, NULL, FALSE);
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
|
||||
// For compatibility with AntTweakBar versions prior to 1.11
|
||||
#undef TwEventWin32
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
TW_EXPORT_API int TW_CALL TwEventWin32(void *wnd, unsigned int msg, unsigned int _W64 wParam, int _W64 lParam)
|
||||
{
|
||||
return TwEventWin(wnd, msg, wParam, lParam);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
207
AntTweakBar/src/TwEventX11.c
Normal file
@@ -0,0 +1,207 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwEventX11.c
|
||||
// @brief Helper:
|
||||
// translate and forward mouse and keyboard events
|
||||
// from X11 to AntTweakBar
|
||||
//
|
||||
// @contrib Greg Popovitch
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/keysym.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <AntTweakBar.h>
|
||||
|
||||
static int s_KMod = 0;
|
||||
const int buff_sz = 80;
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------
|
||||
/*
|
||||
static int _XKeyRelease(XEvent *event)
|
||||
{
|
||||
KeySym keysym;
|
||||
char buffer[buff_sz];
|
||||
|
||||
XLookupString((XKeyEvent *)event, buffer, buff_sz, &keysym, 0);
|
||||
|
||||
switch (keysym)
|
||||
{
|
||||
case XK_Control_L:
|
||||
case XK_Control_R: s_KMod &= ~TW_KMOD_CTRL; break;
|
||||
|
||||
case XK_Shift_L:
|
||||
case XK_Shift_R: s_KMod &= ~TW_KMOD_SHIFT; break;
|
||||
|
||||
case XK_Alt_L:
|
||||
case XK_Alt_R: s_KMod &= ~TW_KMOD_ALT; break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------
|
||||
static int _XKeyPress(XEvent *event)
|
||||
{
|
||||
int modifiers = 0; // modifiers sent to AntTweakBar
|
||||
int k = 0; // key sent to AntTweakBar
|
||||
KeySym keysym;
|
||||
char buffer[buff_sz];
|
||||
|
||||
int num_char = XLookupString((XKeyEvent *)event, buffer, buff_sz, &keysym, 0);
|
||||
|
||||
if (event->xkey.state & ControlMask)
|
||||
modifiers |= TW_KMOD_CTRL;
|
||||
if (event->xkey.state & ShiftMask)
|
||||
modifiers |= TW_KMOD_SHIFT;
|
||||
if (event->xkey.state & Mod1Mask)
|
||||
modifiers |= TW_KMOD_ALT;
|
||||
|
||||
switch (keysym)
|
||||
{
|
||||
case XK_Control_L:
|
||||
case XK_Control_R: s_KMod |= TW_KMOD_CTRL; break;
|
||||
|
||||
case XK_Shift_L:
|
||||
case XK_Shift_R: s_KMod |= TW_KMOD_SHIFT; break;
|
||||
|
||||
case XK_Alt_L:
|
||||
case XK_Alt_R: s_KMod |= TW_KMOD_ALT; break;
|
||||
|
||||
case XK_Escape: k = TW_KEY_ESCAPE; break;
|
||||
case XK_Help: k = TW_KEY_F1; break;
|
||||
case XK_F1: k = TW_KEY_F1; break;
|
||||
case XK_F2: k = TW_KEY_F2; break;
|
||||
case XK_F3: k = TW_KEY_F3; break;
|
||||
case XK_F4: k = TW_KEY_F4; break;
|
||||
case XK_F5: k = TW_KEY_F5; break;
|
||||
case XK_F6: k = TW_KEY_F6; break;
|
||||
case XK_F7: k = TW_KEY_F7; break;
|
||||
case XK_F8: k = TW_KEY_F8; break;
|
||||
case XK_F9: k = TW_KEY_F9; break;
|
||||
case XK_F10: k = TW_KEY_F10; break;
|
||||
case XK_F11: k = TW_KEY_F11; break;
|
||||
case XK_F12: k = TW_KEY_F12; break;
|
||||
case XK_Up: k = TW_KEY_UP; break;
|
||||
case XK_Down: k = TW_KEY_DOWN; break;
|
||||
case XK_Right: k = TW_KEY_RIGHT; break;
|
||||
case XK_Left: k = TW_KEY_LEFT; break;
|
||||
case XK_Return: k = TW_KEY_RETURN; break;
|
||||
case XK_Insert: k = TW_KEY_INSERT; break;
|
||||
case XK_Delete: k = TW_KEY_DELETE; break;
|
||||
case XK_BackSpace: k = TW_KEY_BACKSPACE; break;
|
||||
case XK_Home: k = TW_KEY_HOME; break;
|
||||
case XK_Tab: k = TW_KEY_TAB; break;
|
||||
case XK_End: k = TW_KEY_END; break;
|
||||
|
||||
#ifdef XK_Enter
|
||||
case XK_Enter: k = TW_KEY_RETURN; break;
|
||||
#endif
|
||||
|
||||
#ifdef XK_KP_Home
|
||||
case XK_KP_Home: k = TW_KEY_HOME; break;
|
||||
case XK_KP_End: k = TW_KEY_END; break;
|
||||
case XK_KP_Delete: k = TW_KEY_DELETE; break;
|
||||
#endif
|
||||
|
||||
#ifdef XK_KP_Up
|
||||
case XK_KP_Up: k = TW_KEY_UP; break;
|
||||
case XK_KP_Down: k = TW_KEY_DOWN; break;
|
||||
case XK_KP_Right: k = TW_KEY_RIGHT; break;
|
||||
case XK_KP_Left: k = TW_KEY_LEFT; break;
|
||||
#endif
|
||||
|
||||
#ifdef XK_KP_Page_Up
|
||||
case XK_KP_Page_Up: k = TW_KEY_PAGE_UP; break;
|
||||
case XK_KP_Page_Down: k = TW_KEY_PAGE_DOWN; break;
|
||||
#endif
|
||||
|
||||
#ifdef XK_KP_Tab
|
||||
case XK_KP_Tab: k = TW_KEY_TAB; break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
if (0)
|
||||
{
|
||||
// should we do that, or rely on the buffer (see code below)
|
||||
if (keysym > 12 && keysym < 127)
|
||||
k = keysym;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (k == 0 && num_char)
|
||||
{
|
||||
int i, handled = 0;
|
||||
for (i=0; i<num_char; ++i)
|
||||
if (TwKeyPressed(buffer[i], modifiers))
|
||||
handled = 1;
|
||||
return handled;
|
||||
}
|
||||
|
||||
// if we have a valid key, send to AntTweakBar
|
||||
// -------------------------------------------
|
||||
return (k > 0) ? TwKeyPressed(k, modifiers) : 0;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------
|
||||
static int _XButtonEvent(XEvent *event)
|
||||
{
|
||||
TwMouseAction action = (event->type == ButtonPress) ? TW_MOUSE_PRESSED : TW_MOUSE_RELEASED;
|
||||
XButtonEvent *xbe = (XButtonEvent *)event;
|
||||
return TwMouseButton(action, xbe->button);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------
|
||||
static int _XConfigureEvent(XEvent *event)
|
||||
{
|
||||
XConfigureEvent *xce = (XConfigureEvent *)event;
|
||||
TwWindowSize(xce->width, xce->height);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------
|
||||
static int _XMotionEvent(XEvent *event)
|
||||
{
|
||||
XMotionEvent *xme = (XMotionEvent *)event;
|
||||
return TwMouseMotion(xme->x, xme->y);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// ----------------------------------------------------------------------
|
||||
TW_API int TW_CDECL_CALL TwEventX11(void *xevent)
|
||||
{
|
||||
XEvent *event = (XEvent *)xevent;
|
||||
|
||||
switch (event->type)
|
||||
{
|
||||
case KeyPress:
|
||||
return _XKeyPress(xevent);
|
||||
|
||||
case KeyRelease:
|
||||
return 0; // _XKeyRelease(xevent);
|
||||
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
return _XButtonEvent(xevent);
|
||||
|
||||
case MotionNotify:
|
||||
return _XMotionEvent(xevent);
|
||||
|
||||
case ConfigureNotify:
|
||||
return _XConfigureEvent(xevent);
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
4898
AntTweakBar/src/TwFonts.cpp
Normal file
67
AntTweakBar/src/TwFonts.h
Normal file
@@ -0,0 +1,67 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwFonts.h
|
||||
// @brief Bitmaps fonts
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_FONTS_INCLUDED
|
||||
#define ANT_TW_FONTS_INCLUDED
|
||||
|
||||
//#include <AntTweakBar.h>
|
||||
|
||||
/*
|
||||
A source bitmap includes 224 characters starting from ascii char 32 (i.e. space)
|
||||
to ascii char 255 (extended ASCII Latin1/CP1252):
|
||||
|
||||
!"#$%&'()*+,-./0123456789:;<=>?
|
||||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||||
`abcdefghijklmnopqrstuvwxyz{|}~
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
First pixel column of a source bitmap is a delimiter with color=zero at the end of each line of characters.
|
||||
Last pixel row of a line of characters is a delimiter with color=zero at the last pixel of each character.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
struct CTexFont
|
||||
{
|
||||
unsigned char * m_TexBytes;
|
||||
int m_TexWidth; // power of 2
|
||||
int m_TexHeight; // power of 2
|
||||
float m_CharU0[256];
|
||||
float m_CharV0[256];
|
||||
float m_CharU1[256];
|
||||
float m_CharV1[256];
|
||||
int m_CharWidth[256];
|
||||
int m_CharHeight;
|
||||
int m_NbCharRead;
|
||||
|
||||
CTexFont();
|
||||
~CTexFont();
|
||||
};
|
||||
|
||||
|
||||
CTexFont *TwGenerateFont(const unsigned char *_Bitmap, int _BmWidth, int _BmHeight, float _Scaling=1.0f);
|
||||
|
||||
|
||||
extern CTexFont *g_DefaultSmallFont;
|
||||
extern CTexFont *g_DefaultNormalFont;
|
||||
extern CTexFont *g_DefaultLargeFont;
|
||||
extern CTexFont *g_DefaultFixed1Font;
|
||||
|
||||
void TwGenerateDefaultFonts(float _Scaling=1.0f);
|
||||
void TwDeleteDefaultFonts();
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_FONTS_INCLUDED
|
||||
58
AntTweakBar/src/TwGraph.h
Normal file
@@ -0,0 +1,58 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwGraph.h
|
||||
// @brief ITwGraph pure interface
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_GRAPH_INCLUDED
|
||||
#define ANT_TW_GRAPH_INCLUDED
|
||||
|
||||
#include "TwColors.h"
|
||||
#include "TwFonts.h"
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#ifdef DrawText // DirectX redefines 'DrawText' !!
|
||||
# undef DrawText
|
||||
#endif // DrawText
|
||||
|
||||
class ITwGraph
|
||||
{
|
||||
public:
|
||||
virtual int Init() = 0;
|
||||
virtual int Shut() = 0;
|
||||
virtual void BeginDraw(int _WndWidth, int _WndHeight) = 0;
|
||||
virtual void EndDraw() = 0;
|
||||
virtual bool IsDrawing() = 0;
|
||||
virtual void Restore() = 0;
|
||||
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased=false) = 0;
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color, bool _AntiAliased=false) = 0;
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11) = 0;
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color) = 0;
|
||||
enum Cull { CULL_NONE, CULL_CW, CULL_CCW };
|
||||
virtual void DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode) = 0;
|
||||
|
||||
virtual void * NewTextObj() = 0;
|
||||
virtual void DeleteTextObj(void *_TextObj) = 0;
|
||||
virtual void BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth) = 0;
|
||||
virtual void DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor) = 0;
|
||||
|
||||
virtual void ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY) = 0;
|
||||
virtual void RestoreViewport() = 0;
|
||||
virtual void SetScissor(int _X0, int _Y0, int _Width, int _Height) = 0;
|
||||
|
||||
virtual ~ITwGraph() {} // required by gcc
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#endif // ANT_TW_GRAPH_INCLUDED
|
||||
6753
AntTweakBar/src/TwMgr.cpp
Normal file
517
AntTweakBar/src/TwMgr.h
Normal file
@@ -0,0 +1,517 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwMgr.h
|
||||
// @brief Tweak bar manager.
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_MGR_INCLUDED
|
||||
#define ANT_TW_MGR_INCLUDED
|
||||
|
||||
#include <AntTweakBar.h>
|
||||
#define ANT_CALL TW_CALL
|
||||
|
||||
#include "TwColors.h"
|
||||
#include "TwFonts.h"
|
||||
#include "TwGraph.h"
|
||||
#include "AntPerfTimer.h"
|
||||
|
||||
|
||||
//#define BENCH // uncomment to activate benchmarks
|
||||
|
||||
#ifdef BENCH
|
||||
# define PERF(cmd) cmd
|
||||
#else // BENCH
|
||||
# define PERF(cmd)
|
||||
#endif // BENCH
|
||||
|
||||
const int NB_ROTO_CURSORS = 12;
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// API unexposed by AntTweakBar.h
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// bar states -> use TwDefine instead
|
||||
typedef enum ETwState
|
||||
{
|
||||
TW_STATE_SHOWN = 1,
|
||||
TW_STATE_ICONIFIED = 2,
|
||||
TW_STATE_HIDDEN = 3,
|
||||
TW_STATE_UNICONIFIED = 4,
|
||||
TW_STATE_ERROR = 0
|
||||
} TwState;
|
||||
/*ANT_TWEAK_BAR_API*/ int ANT_CALL TwSetBarState(TwBar *bar, TwState state);
|
||||
/*ANT_TWEAK_BAR_API*/ //TwState ANT_CALL TwGetBarState(const TwBar *bar);
|
||||
// var states -> use TwDefine instead: visible/iconified implemented only as string commands
|
||||
//ANT_TWEAK_BAR_API int ANT_CALL TwSetVarState(TwBar *bar, const char *name, TwState state);
|
||||
//ANT_TWEAK_BAR_API TwState ANT_CALL TwGetVarState(const TwBar *bar, const char *name);
|
||||
|
||||
struct CTwVarGroup;
|
||||
typedef void (ANT_CALL *TwStructExtInitCallback)(void *structExtValue, void *clientData);
|
||||
typedef void (ANT_CALL *TwCopyVarFromExtCallback)(void *structValue, const void *structExtValue, unsigned int structExtMemberIndex, void *clientData);
|
||||
typedef void (ANT_CALL *TwCopyVarToExtCallback)(const void *structValue, void *structExtValue, unsigned int structExtMemberIndex, void *clientData);
|
||||
/*ANT_TWEAK_BAR_API*/ TwType ANT_CALL TwDefineStructExt(const char *name, const TwStructMember *structExtMembers, unsigned int nbExtMembers, size_t structSize, size_t structExtSize, TwStructExtInitCallback structExtInitCallback, TwCopyVarFromExtCallback copyVarFromExtCallback, TwCopyVarToExtCallback copyVarToExtCallback, TwSummaryCallback summaryCallback, void *clientData, const char *help);
|
||||
typedef void (ANT_CALL *TwCustomDrawCallback)(int w, int h, void *structExtValue, void *clientData, TwBar *bar, CTwVarGroup *varGrp);
|
||||
typedef bool (ANT_CALL *TwCustomMouseMotionCallback)(int mouseX, int mouseY, int w, int h, void *structExtValue, void *clientData, TwBar *bar, CTwVarGroup *varGrp);
|
||||
typedef bool (ANT_CALL *TwCustomMouseButtonCallback)(TwMouseButtonID button, bool pressed, int mouseX, int mouseY, int w, int h, void *structExtValue, void *clientData, TwBar *bar, CTwVarGroup *varGrp);
|
||||
typedef void (ANT_CALL *TwCustomMouseLeaveCallback)(void *structExtValue, void *clientData, TwBar *bar);
|
||||
|
||||
enum ERetType
|
||||
{
|
||||
RET_ERROR = 0,
|
||||
RET_DOUBLE,
|
||||
RET_STRING
|
||||
};
|
||||
|
||||
enum EButtonAlign
|
||||
{
|
||||
BUTTON_ALIGN_LEFT,
|
||||
BUTTON_ALIGN_CENTER,
|
||||
BUTTON_ALIGN_RIGHT
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// AntTweakBar Manager
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
struct CTwMgr
|
||||
{
|
||||
ETwGraphAPI m_GraphAPI;
|
||||
void * m_Device;
|
||||
int m_WndID;
|
||||
class ITwGraph * m_Graph;
|
||||
int m_WndWidth;
|
||||
int m_WndHeight;
|
||||
const CTexFont * m_CurrentFont;
|
||||
|
||||
std::vector<TwBar*> m_Bars;
|
||||
std::vector<int> m_Order;
|
||||
|
||||
std::vector<bool> m_MinOccupied;
|
||||
void Minimize(TwBar *_Bar);
|
||||
void Maximize(TwBar *_Bar);
|
||||
void Hide(TwBar *_Bar);
|
||||
void Unhide(TwBar *_Bar);
|
||||
void SetFont(const CTexFont *_Font, bool _ResizeBars);
|
||||
int m_LastMouseX;
|
||||
int m_LastMouseY;
|
||||
int m_LastMouseWheelPos;
|
||||
int m_IconPos; // 0: bottom-left, 1:bottom-right, 2:top-left, 3:top-right
|
||||
int m_IconAlign; // 0: vertical, 1: horizontal
|
||||
int m_IconMarginX, m_IconMarginY;
|
||||
bool m_FontResizable;
|
||||
std::string m_BarAlwaysOnTop;
|
||||
std::string m_BarAlwaysOnBottom;
|
||||
bool m_UseOldColorScheme;
|
||||
bool m_Contained;
|
||||
EButtonAlign m_ButtonAlign;
|
||||
bool m_OverlapContent;
|
||||
bool m_Terminating;
|
||||
|
||||
std::string m_Help;
|
||||
TwBar * m_HelpBar;
|
||||
float m_LastHelpUpdateTime;
|
||||
void UpdateHelpBar();
|
||||
bool m_HelpBarNotUpToDate;
|
||||
bool m_HelpBarUpdateNow;
|
||||
void * m_KeyPressedTextObj;
|
||||
bool m_KeyPressedBuildText;
|
||||
std::string m_KeyPressedStr;
|
||||
float m_KeyPressedTime;
|
||||
void * m_InfoTextObj;
|
||||
bool m_InfoBuildText;
|
||||
int m_BarInitColorHue;
|
||||
int FindBar(const char *_Name) const;
|
||||
int HasAttrib(const char *_Attrib, bool *_HasValue) const;
|
||||
int SetAttrib(int _AttribID, const char *_Value);
|
||||
ERetType GetAttrib(int _AttribID, std::vector<double>& outDouble, std::ostringstream& outString) const;
|
||||
void SetLastError(const char *_StaticErrorMesssage); // _StaticErrorMesssage must be a static string
|
||||
const char * GetLastError(); // returns a static string describing the error, and set LastError to NULL
|
||||
const char * CheckLastError() const; // returns the LastError, but does not set it to NULL
|
||||
void SetCurrentDbgParams(const char *file, int line);
|
||||
TwBar * m_PopupBar;
|
||||
//bool IsProcessing() const { return m_Processing);
|
||||
//void SetProcessing(bool processing) { m_Processing = processing; }
|
||||
|
||||
CTwMgr(ETwGraphAPI _GraphAPI, void *_Device, int _WndID);
|
||||
~CTwMgr();
|
||||
|
||||
struct CStructMember
|
||||
{
|
||||
std::string m_Name;
|
||||
std::string m_Label;
|
||||
TwType m_Type;
|
||||
size_t m_Offset;
|
||||
std::string m_DefString;
|
||||
size_t m_Size;
|
||||
std::string m_Help;
|
||||
};
|
||||
struct CStruct
|
||||
{
|
||||
std::string m_Name;
|
||||
std::vector<CStructMember> m_Members;
|
||||
size_t m_Size;
|
||||
TwSummaryCallback m_SummaryCallback;
|
||||
void * m_SummaryClientData;
|
||||
std::string m_Help;
|
||||
bool m_IsExt;
|
||||
size_t m_ClientStructSize;
|
||||
TwStructExtInitCallback m_StructExtInitCallback;
|
||||
TwCopyVarFromExtCallback m_CopyVarFromExtCallback;
|
||||
TwCopyVarToExtCallback m_CopyVarToExtCallback;
|
||||
void * m_ExtClientData;
|
||||
CStruct() : m_IsExt(false), m_StructExtInitCallback(NULL), m_CopyVarFromExtCallback(NULL), m_CopyVarToExtCallback(NULL), m_ExtClientData(NULL) {}
|
||||
static void ANT_CALL DefaultSummary(char *_SummaryString, size_t _SummaryMaxLength, const void *_Value, void *_ClientData);
|
||||
static void * s_PassProxyAsClientData;
|
||||
};
|
||||
std::vector<CStruct> m_Structs;
|
||||
|
||||
// followings are used for TwAddVarCB( ... StructType ... )
|
||||
struct CStructProxy
|
||||
{
|
||||
TwType m_Type;
|
||||
void * m_StructData;
|
||||
bool m_DeleteStructData;
|
||||
void * m_StructExtData;
|
||||
TwSetVarCallback m_StructSetCallback;
|
||||
TwGetVarCallback m_StructGetCallback;
|
||||
void * m_StructClientData;
|
||||
TwCustomDrawCallback m_CustomDrawCallback;
|
||||
TwCustomMouseMotionCallback m_CustomMouseMotionCallback;
|
||||
TwCustomMouseButtonCallback m_CustomMouseButtonCallback;
|
||||
TwCustomMouseLeaveCallback m_CustomMouseLeaveCallback;
|
||||
bool m_CustomCaptureFocus;
|
||||
int m_CustomIndexFirst;
|
||||
int m_CustomIndexLast;
|
||||
CStructProxy();
|
||||
~CStructProxy();
|
||||
};
|
||||
struct CMemberProxy
|
||||
{
|
||||
CStructProxy * m_StructProxy;
|
||||
int m_MemberIndex;
|
||||
struct CTwVar * m_Var;
|
||||
struct CTwVarGroup * m_VarParent;
|
||||
CTwBar * m_Bar;
|
||||
CMemberProxy();
|
||||
~CMemberProxy();
|
||||
static void ANT_CALL SetCB(const void *_Value, void *_ClientData);
|
||||
static void ANT_CALL GetCB(void *_Value, void *_ClientData);
|
||||
};
|
||||
std::list<CStructProxy> m_StructProxies; // elements should not move
|
||||
std::list<CMemberProxy> m_MemberProxies; // elements should not move
|
||||
//void InitVarData(TwType _Type, void *_Data, size_t _Size);
|
||||
//void UninitVarData(TwType _Type, void *_Data, size_t _Size);
|
||||
|
||||
struct CEnum
|
||||
{
|
||||
std::string m_Name;
|
||||
typedef std::map<unsigned int, std::string> CEntries;
|
||||
CEntries m_Entries;
|
||||
};
|
||||
std::vector<CEnum> m_Enums;
|
||||
|
||||
TwType m_TypeColor32;
|
||||
TwType m_TypeColor3F;
|
||||
TwType m_TypeColor4F;
|
||||
TwType m_TypeQuat4F;
|
||||
TwType m_TypeQuat4D;
|
||||
TwType m_TypeDir3F;
|
||||
TwType m_TypeDir3D;
|
||||
|
||||
std::vector<char> m_CSStringBuffer;
|
||||
struct CCDStdString
|
||||
{
|
||||
std::string * m_ClientStdStringPtr;
|
||||
char m_LocalString[sizeof(std::string)+2*sizeof(void*)]; //+2*sizeof(void*) because of VC++ std::string extra info in Debug
|
||||
TwSetVarCallback m_ClientSetCallback;
|
||||
TwGetVarCallback m_ClientGetCallback;
|
||||
void * m_ClientData;
|
||||
static void ANT_CALL SetCB(const void *_Value, void *_ClientData);
|
||||
static void ANT_CALL GetCB(void *_Value, void *_ClientData);
|
||||
};
|
||||
std::list<CCDStdString> m_CDStdStrings;
|
||||
struct CClientStdString // Convertion between VC++ Debug/Release std::string
|
||||
{
|
||||
CClientStdString();
|
||||
void FromLib(const char *libStr);
|
||||
std::string& ToClient();
|
||||
private:
|
||||
char m_Data[sizeof(std::string)+2*sizeof(void *)];
|
||||
std::string m_LibStr;
|
||||
};
|
||||
struct CLibStdString // Convertion between VC++ Debug/Release std::string
|
||||
{
|
||||
CLibStdString();
|
||||
void FromClient(const std::string& clientStr);
|
||||
std::string& ToLib();
|
||||
private:
|
||||
char m_Data[sizeof(std::string)+2*sizeof(void *)];
|
||||
};
|
||||
struct CCDStdStringRecord
|
||||
{
|
||||
void * m_DataPtr;
|
||||
char m_PrevValue[sizeof(std::string)+2*sizeof(void*)];
|
||||
CClientStdString m_ClientStdString;
|
||||
};
|
||||
std::vector<CCDStdStringRecord> m_CDStdStringRecords;
|
||||
void UnrollCDStdString(std::vector<CCDStdStringRecord>& _Records, TwType _Type, void *_Data);
|
||||
void RestoreCDStdString(const std::vector<CCDStdStringRecord>& _Records);
|
||||
std::map<void *, std::vector<char> > m_CDStdStringCopyBuffers;
|
||||
|
||||
struct CCustom // custom var type
|
||||
{
|
||||
virtual ~CCustom() = 0;
|
||||
};
|
||||
std::vector<CCustom *> m_Customs;
|
||||
|
||||
PerfTimer m_Timer;
|
||||
double m_LastMousePressedTime;
|
||||
TwMouseButtonID m_LastMousePressedButtonID;
|
||||
int m_LastMousePressedPosition[2];
|
||||
double m_RepeatMousePressedDelay;
|
||||
double m_RepeatMousePressedPeriod;
|
||||
bool m_CanRepeatMousePressed;
|
||||
bool m_IsRepeatingMousePressed;
|
||||
double m_LastDrawTime;
|
||||
|
||||
#if defined(ANT_WINDOWS)
|
||||
typedef HCURSOR CCursor;
|
||||
CCursor PixmapCursor(int _CurIdx);
|
||||
#elif defined(ANT_UNIX)
|
||||
typedef Cursor CCursor;
|
||||
CCursor PixmapCursor(int _CurIdx);
|
||||
Display * m_CurrentXDisplay;
|
||||
Window m_CurrentXWindow;
|
||||
#elif defined(ANT_OSX)
|
||||
typedef NSCursor * CCursor;
|
||||
CCursor PixmapCursor(int _CurIdx);
|
||||
#endif // defined(ANT_UNIX)
|
||||
bool m_CursorsCreated;
|
||||
void CreateCursors();
|
||||
void FreeCursors();
|
||||
void SetCursor(CCursor _Cursor);
|
||||
CCursor m_CursorArrow;
|
||||
CCursor m_CursorMove;
|
||||
CCursor m_CursorWE;
|
||||
CCursor m_CursorNS;
|
||||
CCursor m_CursorTopLeft;
|
||||
CCursor m_CursorTopRight;
|
||||
CCursor m_CursorBottomLeft;
|
||||
CCursor m_CursorBottomRight;
|
||||
CCursor m_CursorHelp;
|
||||
CCursor m_CursorHand;
|
||||
CCursor m_CursorCross;
|
||||
CCursor m_CursorUpArrow;
|
||||
CCursor m_CursorNo;
|
||||
CCursor m_CursorIBeam;
|
||||
CCursor m_RotoCursors[NB_ROTO_CURSORS];
|
||||
CCursor m_CursorCenter;
|
||||
CCursor m_CursorPoint;
|
||||
|
||||
TwCopyCDStringToClient m_CopyCDStringToClient;
|
||||
TwCopyStdStringToClient m_CopyStdStringToClient;
|
||||
size_t m_ClientStdStringStructSize;
|
||||
TwType m_ClientStdStringBaseType;
|
||||
|
||||
protected:
|
||||
int m_NbMinimizedBars;
|
||||
const char * m_LastError;
|
||||
const char * m_CurrentDbgFile;
|
||||
int m_CurrentDbgLine;
|
||||
//bool m_Processing;
|
||||
};
|
||||
|
||||
extern CTwMgr *g_TwMgr;
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Extra functions and TwTypes
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
bool TwGetKeyCode(int *_Code, int *_Modif, const char *_String);
|
||||
bool TwGetKeyString(std::string *_String, int _Code, int _Modif);
|
||||
|
||||
const TwType TW_TYPE_SHORTCUT = TwType(0xfff1);
|
||||
const TwType TW_TYPE_HELP_GRP = TwType(0xfff2);
|
||||
const TwType TW_TYPE_HELP_ATOM = TwType(0xfff3);
|
||||
const TwType TW_TYPE_HELP_HEADER = TwType(0xfff4);
|
||||
const TwType TW_TYPE_HELP_STRUCT = TwType(0xfff5);
|
||||
const TwType TW_TYPE_BUTTON = TwType(0xfff6);
|
||||
const TwType TW_TYPE_CDSTDSTRING = TwType(0xfff7);
|
||||
const TwType TW_TYPE_STRUCT_BASE = TwType(0x10000000);
|
||||
const TwType TW_TYPE_ENUM_BASE = TwType(0x20000000);
|
||||
const TwType TW_TYPE_CSSTRING_BASE = TW_TYPE_CSSTRING(0); // defined as 0x30000000 (see AntTweakBar.h)
|
||||
const TwType TW_TYPE_CSSTRING_MAX = TW_TYPE_CSSTRING(0xfffffff);
|
||||
#define TW_CSSTRING_SIZE(type) ((int)((type)&0xfffffff))
|
||||
const TwType TW_TYPE_CUSTOM_BASE = TwType(0x40000000);
|
||||
const TwType TW_TYPE_STDSTRING_VS2008 = TwType(0x2fff0000);
|
||||
const TwType TW_TYPE_STDSTRING_VS2010 = TwType(0x2ffe0000);
|
||||
|
||||
extern "C" int ANT_CALL TwSetLastError(const char *_StaticErrorMessage);
|
||||
|
||||
//const TwGraphAPI TW_OPENGL_CORE = (TwGraphAPI)5; // WIP (note: OpenGL Core Profil requires OpenGL 3.2 or later)
|
||||
|
||||
// Clipping helper
|
||||
struct CRect
|
||||
{
|
||||
int X, Y, W, H;
|
||||
CRect() : X(0), Y(0), W(0), H(0) {}
|
||||
CRect(int _X, int _Y, int _W, int _H) : X(_X), Y(_Y), W(_W), H(_H) {}
|
||||
bool operator==(const CRect& _Rect) { return (Empty() && _Rect.Empty()) || (X==_Rect.X && Y==_Rect.Y && W==_Rect.W && H==_Rect.H); }
|
||||
bool Empty(int _Margin=0) const { return (W<=_Margin || H<=_Margin); }
|
||||
bool Subtract(const CRect& _Rect, std::vector<CRect>& _OutRects) const;
|
||||
bool Subtract(const std::vector<CRect>& _Rects, std::vector<CRect>& _OutRects) const;
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Global bar attribs
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
enum EMgrAttribs
|
||||
{
|
||||
MGR_HELP = 1,
|
||||
MGR_FONT_SIZE,
|
||||
MGR_FONT_STYLE,
|
||||
MGR_ICON_POS,
|
||||
MGR_ICON_ALIGN,
|
||||
MGR_ICON_MARGIN,
|
||||
MGR_FONT_RESIZABLE,
|
||||
MGR_COLOR_SCHEME,
|
||||
MGR_CONTAINED,
|
||||
MGR_BUTTON_ALIGN,
|
||||
MGR_OVERLAP
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Color struct ext
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
struct CColorExt
|
||||
{
|
||||
int R, G, B;
|
||||
int H, L, S;
|
||||
int A;
|
||||
bool m_HLS, m_HasAlpha, m_OGL;
|
||||
bool m_CanHaveAlpha;
|
||||
bool m_IsColorF;
|
||||
unsigned int m_PrevConvertedColor;
|
||||
CTwMgr::CStructProxy*m_StructProxy;
|
||||
void RGB2HLS();
|
||||
void HLS2RGB();
|
||||
static void ANT_CALL InitColor32CB(void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL InitColor3FCB(void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL InitColor4FCB(void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL CopyVarFromExtCB(void *_VarValue, const void *_ExtValue, unsigned int _ExtMemberIndex, void *_ClientData);
|
||||
static void ANT_CALL CopyVarToExtCB(const void *_VarValue, void *_ExtValue, unsigned int _ExtMemberIndex, void *_ClientData);
|
||||
static void ANT_CALL SummaryCB(char *_SummaryString, size_t _SummaryMaxLength, const void *_ExtValue, void *_ClientData);
|
||||
static void CreateTypes();
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Quaternion struct ext
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
struct CQuaternionExt
|
||||
{
|
||||
double Qx, Qy, Qz, Qs; // Quat value
|
||||
double Vx, Vy, Vz, Angle; // Not used
|
||||
double Dx, Dy, Dz; // Dir value set when used as a direction
|
||||
bool m_AAMode; // Axis & angle mode -> disabled
|
||||
bool m_ShowVal; // Display values
|
||||
bool m_IsFloat; // Quat/Dir uses floats
|
||||
bool m_IsDir; // Mapped to a dir vector instead of a quat
|
||||
double m_Dir[3]; // If not zero, display one direction vector
|
||||
color32 m_DirColor; // Direction vector color
|
||||
float m_Permute[3][3]; // Permute frame axis
|
||||
CTwMgr::CStructProxy*m_StructProxy;
|
||||
static void ANT_CALL InitQuat4FCB(void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL InitQuat4DCB(void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL InitDir3FCB(void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL InitDir3DCB(void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL CopyVarFromExtCB(void *_VarValue, const void *_ExtValue, unsigned int _ExtMemberIndex, void *_ClientData);
|
||||
static void ANT_CALL CopyVarToExtCB(const void *_VarValue, void *_ExtValue, unsigned int _ExtMemberIndex, void *_ClientData);
|
||||
static void ANT_CALL SummaryCB(char *_SummaryString, size_t _SummaryMaxLength, const void *_ExtValue, void *_ClientData);
|
||||
static void ANT_CALL DrawCB(int _W, int _H, void *_ExtValue, void *_ClientData, TwBar *_Bar, CTwVarGroup *varGrp);
|
||||
static bool ANT_CALL MouseMotionCB(int _MouseX, int _MouseY, int _W, int _H, void *_StructExtValue, void *_ClientData, TwBar *_Bar, CTwVarGroup *varGrp);
|
||||
static bool ANT_CALL MouseButtonCB(TwMouseButtonID _Button, bool _Pressed, int _MouseX, int _MouseY, int _W, int _H, void *_StructExtValue, void *_ClientData, TwBar *_Bar, CTwVarGroup *varGrp);
|
||||
static void ANT_CALL MouseLeaveCB(void *_StructExtValue, void *_ClientData, TwBar *_Bar);
|
||||
static void CreateTypes();
|
||||
static TwType s_CustomType;
|
||||
void ConvertToAxisAngle();
|
||||
void ConvertFromAxisAngle();
|
||||
void CopyToVar();
|
||||
static std::vector<float> s_SphTri;
|
||||
static std::vector<color32> s_SphCol;
|
||||
static std::vector<int> s_SphTriProj;
|
||||
static std::vector<color32> s_SphColLight;
|
||||
static std::vector<float> s_ArrowTri[4];
|
||||
static std::vector<int> s_ArrowTriProj[4];
|
||||
static std::vector<float> s_ArrowNorm[4];
|
||||
static std::vector<color32> s_ArrowColLight[4];
|
||||
enum EArrowParts { ARROW_CONE, ARROW_CONE_CAP, ARROW_CYL, ARROW_CYL_CAP };
|
||||
static void CreateSphere();
|
||||
static void CreateArrow();
|
||||
static void ApplyQuat(float *outX, float *outY, float *outZ, float x, float y, float z, float qx, float qy, float qz, float qs);
|
||||
static void QuatFromDir(double *outQx, double *outQy, double *outQz, double *outQs, double dx, double dy, double dz);
|
||||
inline void Permute(float *outX, float *outY, float *outZ, float x, float y, float z);
|
||||
inline void PermuteInv(float *outX, float *outY, float *outZ, float x, float y, float z);
|
||||
inline void Permute(double *outX, double *outY, double *outZ, double x, double y, double z);
|
||||
inline void PermuteInv(double *outX, double *outY, double *outZ, double x, double y, double z);
|
||||
bool m_Highlighted;
|
||||
bool m_Rotating;
|
||||
double m_OrigQuat[4];
|
||||
float m_OrigX, m_OrigY;
|
||||
double m_PrevX, m_PrevY;
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// CTwFPU objects set and restore the fpu precision if needed.
|
||||
// (could be useful because DirectX changes it and AntTweakBar requires default double precision)
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
struct CTwFPU
|
||||
{
|
||||
CTwFPU()
|
||||
{
|
||||
#ifdef ANT_WINDOWS
|
||||
state0 = _controlfp(0, 0);
|
||||
if( (state0&MCW_PC)==_PC_24 ) // we need at least _PC_53
|
||||
_controlfp(_PC_53, MCW_PC);
|
||||
#else
|
||||
state0 = 0;
|
||||
#endif
|
||||
}
|
||||
~CTwFPU()
|
||||
{
|
||||
#ifdef ANT_WINDOWS
|
||||
if( (state0&MCW_PC)==_PC_24 )
|
||||
_controlfp(_PC_24, MCW_PC);
|
||||
#else
|
||||
state0 = 0;
|
||||
#endif
|
||||
}
|
||||
private:
|
||||
unsigned int state0;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_MGR_INCLUDED
|
||||
906
AntTweakBar/src/TwOpenGL.cpp
Normal file
@@ -0,0 +1,906 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwOpenGL.cpp
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "TwPrecomp.h"
|
||||
#include "LoadOGL.h"
|
||||
#include "TwOpenGL.h"
|
||||
#include "TwMgr.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
const char *g_ErrCantLoadOGL = "Cannot load OpenGL library dynamically";
|
||||
const char *g_ErrCantUnloadOGL = "Cannot unload OpenGL library";
|
||||
|
||||
GLuint g_SmallFontTexID = 0;
|
||||
GLuint g_NormalFontTexID = 0;
|
||||
GLuint g_LargeFontTexID = 0;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Extensions
|
||||
|
||||
typedef void (APIENTRY * PFNGLBindBufferARB)(GLenum target, GLuint buffer);
|
||||
typedef void (APIENTRY * PFNGLBindProgramARB)(GLenum target, GLuint program);
|
||||
typedef GLuint (APIENTRY * PFNGLGetHandleARB)(GLenum pname);
|
||||
typedef void (APIENTRY * PFNGLUseProgramObjectARB)(GLuint programObj);
|
||||
typedef void (APIENTRY * PFNGLTexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
typedef void (APIENTRY * PFNGLActiveTextureARB)(GLenum texture);
|
||||
typedef void (APIENTRY * PFNGLClientActiveTextureARB)(GLenum texture);
|
||||
typedef void (APIENTRY * PFNGLBlendEquation)(GLenum mode);
|
||||
typedef void (APIENTRY * PFNGLBlendEquationSeparate)(GLenum srcMode, GLenum dstMode);
|
||||
typedef void (APIENTRY * PFNGLBlendFuncSeparate)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
|
||||
typedef void (APIENTRY * PFNGLBindVertexArray)(GLuint array);
|
||||
typedef void (APIENTRY * PFNGLEnableVertexAttribArray) (GLuint index);
|
||||
typedef void (APIENTRY * PFNGLDisableVertexAttribArray) (GLuint index);
|
||||
typedef void (APIENTRY * PFNGLGetVertexAttribiv) (GLuint, GLenum, GLint*);
|
||||
PFNGLBindBufferARB _glBindBufferARB = NULL;
|
||||
PFNGLBindProgramARB _glBindProgramARB = NULL;
|
||||
PFNGLGetHandleARB _glGetHandleARB = NULL;
|
||||
PFNGLUseProgramObjectARB _glUseProgramObjectARB = NULL;
|
||||
PFNGLTexImage3D _glTexImage3D = NULL;
|
||||
PFNGLActiveTextureARB _glActiveTextureARB = NULL;
|
||||
PFNGLClientActiveTextureARB _glClientActiveTextureARB = NULL;
|
||||
PFNGLBlendEquation _glBlendEquation = NULL;
|
||||
PFNGLBlendEquationSeparate _glBlendEquationSeparate = NULL;
|
||||
PFNGLBlendFuncSeparate _glBlendFuncSeparate = NULL;
|
||||
PFNGLBindVertexArray _glBindVertexArray = NULL;
|
||||
PFNGLEnableVertexAttribArray _glEnableVertexAttribArray = NULL;
|
||||
PFNGLDisableVertexAttribArray _glDisableVertexAttribArray = NULL;
|
||||
PFNGLGetVertexAttribiv _glGetVertexAttribiv = NULL;
|
||||
#ifndef GL_ARRAY_BUFFER_ARB
|
||||
# define GL_ARRAY_BUFFER_ARB 0x8892
|
||||
#endif
|
||||
#ifndef GL_ELEMENT_ARRAY_BUFFER_ARB
|
||||
# define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
|
||||
#endif
|
||||
#ifndef GL_ARRAY_BUFFER_BINDING_ARB
|
||||
# define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
|
||||
#endif
|
||||
#ifndef GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB
|
||||
# define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
|
||||
#endif
|
||||
#ifndef GL_VERTEX_PROGRAM_ARB
|
||||
# define GL_VERTEX_PROGRAM_ARB 0x8620
|
||||
#endif
|
||||
#ifndef GL_FRAGMENT_PROGRAM_ARB
|
||||
# define GL_FRAGMENT_PROGRAM_ARB 0x8804
|
||||
#endif
|
||||
#ifndef GL_PROGRAM_OBJECT_ARB
|
||||
# define GL_PROGRAM_OBJECT_ARB 0x8B40
|
||||
#endif
|
||||
#ifndef GL_TEXTURE_3D
|
||||
# define GL_TEXTURE_3D 0x806F
|
||||
#endif
|
||||
#ifndef GL_TEXTURE0_ARB
|
||||
# define GL_TEXTURE0_ARB 0x84C0
|
||||
#endif
|
||||
#ifndef GL_ACTIVE_TEXTURE_ARB
|
||||
# define GL_ACTIVE_TEXTURE_ARB 0x84E0
|
||||
#endif
|
||||
#ifndef GL_CLIENT_ACTIVE_TEXTURE_ARB
|
||||
# define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
|
||||
#endif
|
||||
#ifndef GL_MAX_TEXTURE_UNITS_ARB
|
||||
# define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
|
||||
#endif
|
||||
#ifndef GL_MAX_TEXTURE_COORDS
|
||||
# define GL_MAX_TEXTURE_COORDS 0x8871
|
||||
#endif
|
||||
#ifndef GL_TEXTURE_RECTANGLE_ARB
|
||||
# define GL_TEXTURE_RECTANGLE_ARB 0x84F5
|
||||
#endif
|
||||
#ifndef GL_FUNC_ADD
|
||||
# define GL_FUNC_ADD 0x8006
|
||||
#endif
|
||||
#ifndef GL_BLEND_EQUATION
|
||||
# define GL_BLEND_EQUATION 0x8009
|
||||
#endif
|
||||
#ifndef GL_BLEND_EQUATION_RGB
|
||||
# define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION
|
||||
#endif
|
||||
#ifndef GL_BLEND_EQUATION_ALPHA
|
||||
# define GL_BLEND_EQUATION_ALPHA 0x883D
|
||||
#endif
|
||||
#ifndef GL_BLEND_SRC_RGB
|
||||
# define GL_BLEND_SRC_RGB 0x80C9
|
||||
#endif
|
||||
#ifndef GL_BLEND_DST_RGB
|
||||
# define GL_BLEND_DST_RGB 0x80C8
|
||||
#endif
|
||||
#ifndef GL_BLEND_SRC_ALPHA
|
||||
# define GL_BLEND_SRC_ALPHA 0x80CB
|
||||
#endif
|
||||
#ifndef GL_BLEND_DST_ALPHA
|
||||
# define GL_BLEND_DST_ALPHA 0x80CA
|
||||
#endif
|
||||
#ifndef GL_VERTEX_ARRAY_BINDING
|
||||
# define GL_VERTEX_ARRAY_BINDING 0x85B5
|
||||
#endif
|
||||
#ifndef GL_MAX_VERTEX_ATTRIBS
|
||||
# define GL_MAX_VERTEX_ATTRIBS 0x8869
|
||||
#endif
|
||||
#ifndef GL_VERTEX_ATTRIB_ARRAY_ENABLED
|
||||
# define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#ifdef _DEBUG
|
||||
static void CheckGLError(const char *file, int line, const char *func)
|
||||
{
|
||||
int err=0;
|
||||
char msg[256];
|
||||
while( (err=_glGetError())!=0 )
|
||||
{
|
||||
sprintf(msg, "%s(%d) : [%s] GL_ERROR=0x%x\n", file, line, func, err);
|
||||
#ifdef ANT_WINDOWS
|
||||
OutputDebugString(msg);
|
||||
#endif
|
||||
fprintf(stderr, msg);
|
||||
}
|
||||
}
|
||||
# ifdef __FUNCTION__
|
||||
# define CHECK_GL_ERROR CheckGLError(__FILE__, __LINE__, __FUNCTION__)
|
||||
# else
|
||||
# define CHECK_GL_ERROR CheckGLError(__FILE__, __LINE__, "")
|
||||
# endif
|
||||
#else
|
||||
# define CHECK_GL_ERROR ((void)(0))
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static GLuint BindFont(const CTexFont *_Font)
|
||||
{
|
||||
GLuint TexID = 0;
|
||||
_glGenTextures(1, &TexID);
|
||||
_glBindTexture(GL_TEXTURE_2D, TexID);
|
||||
_glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
|
||||
_glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
|
||||
_glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
|
||||
_glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
|
||||
_glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
|
||||
_glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
_glPixelTransferf(GL_ALPHA_SCALE, 1);
|
||||
_glPixelTransferf(GL_ALPHA_BIAS, 0);
|
||||
_glPixelTransferf(GL_RED_BIAS, 1);
|
||||
_glPixelTransferf(GL_GREEN_BIAS, 1);
|
||||
_glPixelTransferf(GL_BLUE_BIAS, 1);
|
||||
_glTexImage2D(GL_TEXTURE_2D, 0, 4, _Font->m_TexWidth, _Font->m_TexHeight, 0, GL_ALPHA, GL_UNSIGNED_BYTE, _Font->m_TexBytes);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_NEAREST);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST);
|
||||
_glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
_glBindTexture(GL_TEXTURE_2D, 0);
|
||||
_glPixelTransferf(GL_ALPHA_BIAS, 0);
|
||||
_glPixelTransferf(GL_RED_BIAS, 0);
|
||||
_glPixelTransferf(GL_GREEN_BIAS, 0);
|
||||
_glPixelTransferf(GL_BLUE_BIAS, 0);
|
||||
|
||||
return TexID;
|
||||
}
|
||||
|
||||
static void UnbindFont(GLuint _FontTexID)
|
||||
{
|
||||
if( _FontTexID>0 )
|
||||
_glDeleteTextures(1, &_FontTexID);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int CTwGraphOpenGL::Init()
|
||||
{
|
||||
m_Drawing = false;
|
||||
m_FontTexID = 0;
|
||||
m_FontTex = NULL;
|
||||
m_MaxClipPlanes = -1;
|
||||
|
||||
if( LoadOpenGL()==0 )
|
||||
{
|
||||
g_TwMgr->SetLastError(g_ErrCantLoadOGL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Get extensions
|
||||
_glBindBufferARB = reinterpret_cast<PFNGLBindBufferARB>(_glGetProcAddress("glBindBufferARB"));
|
||||
_glBindProgramARB = reinterpret_cast<PFNGLBindProgramARB>(_glGetProcAddress("glBindProgramARB"));
|
||||
_glGetHandleARB = reinterpret_cast<PFNGLGetHandleARB>(_glGetProcAddress("glGetHandleARB"));
|
||||
_glUseProgramObjectARB = reinterpret_cast<PFNGLUseProgramObjectARB>(_glGetProcAddress("glUseProgramObjectARB"));
|
||||
_glTexImage3D = reinterpret_cast<PFNGLTexImage3D>(_glGetProcAddress("glTexImage3D"));
|
||||
_glActiveTextureARB = reinterpret_cast<PFNGLActiveTextureARB>(_glGetProcAddress("glActiveTextureARB"));
|
||||
_glClientActiveTextureARB = reinterpret_cast<PFNGLClientActiveTextureARB>(_glGetProcAddress("glClientActiveTextureARB"));
|
||||
_glBlendEquation = reinterpret_cast<PFNGLBlendEquation>(_glGetProcAddress("glBlendEquation"));
|
||||
_glBlendEquationSeparate = reinterpret_cast<PFNGLBlendEquationSeparate>(_glGetProcAddress("glBlendEquationSeparate"));
|
||||
_glBlendFuncSeparate = reinterpret_cast<PFNGLBlendFuncSeparate>(_glGetProcAddress("glBlendFuncSeparate"));
|
||||
_glBindVertexArray = reinterpret_cast<PFNGLBindVertexArray>(_glGetProcAddress("glBindVertexArray"));
|
||||
_glEnableVertexAttribArray = reinterpret_cast<PFNGLEnableVertexAttribArray>(_glGetProcAddress("glEnableVertexAttribArray"));
|
||||
_glDisableVertexAttribArray = reinterpret_cast<PFNGLDisableVertexAttribArray>(_glGetProcAddress("glDisableVertexAttribArray"));
|
||||
_glGetVertexAttribiv = reinterpret_cast<PFNGLGetVertexAttribiv>(_glGetProcAddress("glGetVertexAttribiv"));
|
||||
|
||||
m_SupportTexRect = false; // updated in BeginDraw
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int CTwGraphOpenGL::Shut()
|
||||
{
|
||||
assert(m_Drawing==false);
|
||||
|
||||
UnbindFont(m_FontTexID);
|
||||
|
||||
int Res = 1;
|
||||
if( UnloadOpenGL()==0 )
|
||||
{
|
||||
g_TwMgr->SetLastError(g_ErrCantUnloadOGL);
|
||||
Res = 0;
|
||||
}
|
||||
|
||||
return Res;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::BeginDraw(int _WndWidth, int _WndHeight)
|
||||
{
|
||||
assert(m_Drawing==false && _WndWidth>0 && _WndHeight>0);
|
||||
m_Drawing = true;
|
||||
m_WndWidth = _WndWidth;
|
||||
m_WndHeight = _WndHeight;
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
|
||||
//#if !defined(ANT_OSX)
|
||||
static bool s_SupportTexRectChecked = false;
|
||||
if (!s_SupportTexRectChecked)
|
||||
{
|
||||
const char *ext = (const char *)_glGetString(GL_EXTENSIONS);
|
||||
if( ext!=0 && strlen(ext)>0 )
|
||||
m_SupportTexRect = (strstr(ext, "GL_ARB_texture_rectangle")!=NULL);
|
||||
s_SupportTexRectChecked = true;
|
||||
}
|
||||
//#endif
|
||||
|
||||
_glPushAttrib(GL_ALL_ATTRIB_BITS);
|
||||
_glPushClientAttrib(GL_CLIENT_ALL_ATTRIB_BITS);
|
||||
|
||||
if( _glActiveTextureARB )
|
||||
{
|
||||
_glGetIntegerv(GL_ACTIVE_TEXTURE_ARB, &m_PrevActiveTextureARB);
|
||||
_glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE_ARB, &m_PrevClientActiveTextureARB);
|
||||
GLint maxTexUnits = 1;
|
||||
_glGetIntegerv(GL_MAX_TEXTURE_COORDS, &maxTexUnits); // was GL_MAX_TEXTURE_UNITS_ARB
|
||||
if( maxTexUnits<1 )
|
||||
maxTexUnits = 1;
|
||||
else if( maxTexUnits > MAX_TEXTURES )
|
||||
maxTexUnits = MAX_TEXTURES;
|
||||
GLint i;
|
||||
for( i=0; i<maxTexUnits; ++i )
|
||||
{
|
||||
_glActiveTextureARB(GL_TEXTURE0_ARB+i);
|
||||
m_PrevActiveTexture1D[i] = _glIsEnabled(GL_TEXTURE_1D);
|
||||
m_PrevActiveTexture2D[i] = _glIsEnabled(GL_TEXTURE_2D);
|
||||
m_PrevActiveTexture3D[i] = _glIsEnabled(GL_TEXTURE_3D);
|
||||
_glDisable(GL_TEXTURE_1D);
|
||||
_glDisable(GL_TEXTURE_2D);
|
||||
_glDisable(GL_TEXTURE_3D);
|
||||
}
|
||||
_glActiveTextureARB(GL_TEXTURE0_ARB);
|
||||
|
||||
for( i=0; i<maxTexUnits; i++ )
|
||||
{
|
||||
_glClientActiveTextureARB(GL_TEXTURE0_ARB+i);
|
||||
m_PrevClientTexCoordArray[i] = _glIsEnabled(GL_TEXTURE_COORD_ARRAY);
|
||||
_glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
}
|
||||
_glClientActiveTextureARB(GL_TEXTURE0_ARB);
|
||||
}
|
||||
|
||||
_glMatrixMode(GL_TEXTURE);
|
||||
_glPushMatrix();
|
||||
_glLoadIdentity();
|
||||
_glMatrixMode(GL_MODELVIEW);
|
||||
_glPushMatrix();
|
||||
_glLoadIdentity();
|
||||
_glMatrixMode(GL_PROJECTION);
|
||||
_glPushMatrix();
|
||||
GLint Vp[4];
|
||||
_glGetIntegerv(GL_VIEWPORT, Vp);
|
||||
/*
|
||||
if( _WndWidth>0 && _WndHeight>0 )
|
||||
{
|
||||
Vp[0] = 0;
|
||||
Vp[1] = 0;
|
||||
Vp[2] = _WndWidth;
|
||||
Vp[3] = _WndHeight;
|
||||
_glViewport(Vp[0], Vp[1], Vp[2], Vp[3]);
|
||||
}
|
||||
_glLoadIdentity();
|
||||
//_glOrtho(Vp[0], Vp[0]+Vp[2]-1, Vp[1]+Vp[3]-1, Vp[1], -1, 1); // Doesn't work
|
||||
_glOrtho(Vp[0], Vp[0]+Vp[2], Vp[1]+Vp[3], Vp[1], -1, 1);
|
||||
*/
|
||||
if( _WndWidth>0 && _WndHeight>0 )
|
||||
{
|
||||
Vp[0] = 0;
|
||||
Vp[1] = 0;
|
||||
Vp[2] = _WndWidth-1;
|
||||
Vp[3] = _WndHeight-1;
|
||||
_glViewport(Vp[0], Vp[1], Vp[2], Vp[3]);
|
||||
}
|
||||
_glLoadIdentity();
|
||||
_glOrtho(Vp[0], Vp[0]+Vp[2], Vp[1]+Vp[3], Vp[1], -1, 1);
|
||||
_glGetIntegerv(GL_VIEWPORT, m_ViewportInit);
|
||||
_glGetFloatv(GL_PROJECTION_MATRIX, m_ProjMatrixInit);
|
||||
|
||||
_glGetFloatv(GL_LINE_WIDTH, &m_PrevLineWidth);
|
||||
_glDisable(GL_POLYGON_STIPPLE);
|
||||
_glLineWidth(1);
|
||||
_glDisable(GL_LINE_SMOOTH);
|
||||
_glDisable(GL_LINE_STIPPLE);
|
||||
_glDisable(GL_CULL_FACE);
|
||||
_glDisable(GL_DEPTH_TEST);
|
||||
_glDisable(GL_LIGHTING);
|
||||
_glEnable(GL_BLEND);
|
||||
_glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
_glGetTexEnviv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, &m_PrevTexEnv);
|
||||
_glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
_glGetIntegerv(GL_POLYGON_MODE, m_PrevPolygonMode);
|
||||
_glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
_glDisable(GL_ALPHA_TEST);
|
||||
//_glEnable(GL_ALPHA_TEST);
|
||||
//_glAlphaFunc(GL_GREATER, 0);
|
||||
_glDisable(GL_FOG);
|
||||
_glDisable(GL_LOGIC_OP);
|
||||
_glDisable(GL_SCISSOR_TEST);
|
||||
if( m_MaxClipPlanes<0 )
|
||||
{
|
||||
_glGetIntegerv(GL_MAX_CLIP_PLANES, &m_MaxClipPlanes);
|
||||
if( m_MaxClipPlanes<0 || m_MaxClipPlanes>255 )
|
||||
m_MaxClipPlanes = 6;
|
||||
}
|
||||
for( GLint i=0; i<m_MaxClipPlanes; ++i )
|
||||
_glDisable(GL_CLIP_PLANE0+i);
|
||||
m_PrevTexture = 0;
|
||||
_glGetIntegerv(GL_TEXTURE_BINDING_2D, &m_PrevTexture);
|
||||
|
||||
_glDisableClientState(GL_VERTEX_ARRAY);
|
||||
_glDisableClientState(GL_NORMAL_ARRAY);
|
||||
_glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
_glDisableClientState(GL_INDEX_ARRAY);
|
||||
_glDisableClientState(GL_COLOR_ARRAY);
|
||||
_glDisableClientState(GL_EDGE_FLAG_ARRAY);
|
||||
|
||||
if( _glBindVertexArray!=NULL )
|
||||
{
|
||||
m_PrevVertexArray = 0;
|
||||
_glGetIntegerv(GL_VERTEX_ARRAY_BINDING, (GLint*)&m_PrevVertexArray);
|
||||
_glBindVertexArray(0);
|
||||
}
|
||||
if( _glBindBufferARB!=NULL )
|
||||
{
|
||||
m_PrevArrayBufferARB = m_PrevElementArrayBufferARB = 0;
|
||||
_glGetIntegerv(GL_ARRAY_BUFFER_BINDING_ARB, &m_PrevArrayBufferARB);
|
||||
_glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, &m_PrevElementArrayBufferARB);
|
||||
_glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
|
||||
_glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0);
|
||||
}
|
||||
if( _glBindProgramARB!=NULL )
|
||||
{
|
||||
m_PrevVertexProgramARB = _glIsEnabled(GL_VERTEX_PROGRAM_ARB);
|
||||
m_PrevFragmentProgramARB = _glIsEnabled(GL_FRAGMENT_PROGRAM_ARB);
|
||||
_glDisable(GL_VERTEX_PROGRAM_ARB);
|
||||
_glDisable(GL_FRAGMENT_PROGRAM_ARB);
|
||||
}
|
||||
if( _glGetHandleARB!=NULL && _glUseProgramObjectARB!=NULL )
|
||||
{
|
||||
m_PrevProgramObjectARB = _glGetHandleARB(GL_PROGRAM_OBJECT_ARB);
|
||||
_glUseProgramObjectARB(0);
|
||||
}
|
||||
_glDisable(GL_TEXTURE_1D);
|
||||
_glDisable(GL_TEXTURE_2D);
|
||||
if( _glTexImage3D!=NULL )
|
||||
{
|
||||
m_PrevTexture3D = _glIsEnabled(GL_TEXTURE_3D);
|
||||
_glDisable(GL_TEXTURE_3D);
|
||||
}
|
||||
|
||||
if( m_SupportTexRect )
|
||||
{
|
||||
m_PrevTexRectARB = _glIsEnabled(GL_TEXTURE_RECTANGLE_ARB);
|
||||
_glDisable(GL_TEXTURE_RECTANGLE_ARB);
|
||||
}
|
||||
if( _glBlendEquationSeparate!=NULL )
|
||||
{
|
||||
_glGetIntegerv(GL_BLEND_EQUATION_RGB, &m_PrevBlendEquationRGB);
|
||||
_glGetIntegerv(GL_BLEND_EQUATION_ALPHA, &m_PrevBlendEquationAlpha);
|
||||
_glBlendEquationSeparate(GL_FUNC_ADD, GL_FUNC_ADD);
|
||||
}
|
||||
if( _glBlendFuncSeparate!=NULL )
|
||||
{
|
||||
_glGetIntegerv(GL_BLEND_SRC_RGB, &m_PrevBlendSrcRGB);
|
||||
_glGetIntegerv(GL_BLEND_DST_RGB, &m_PrevBlendDstRGB);
|
||||
_glGetIntegerv(GL_BLEND_SRC_ALPHA, &m_PrevBlendSrcAlpha);
|
||||
_glGetIntegerv(GL_BLEND_DST_ALPHA, &m_PrevBlendDstAlpha);
|
||||
_glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
}
|
||||
if( _glBlendEquation!=NULL )
|
||||
{
|
||||
_glGetIntegerv(GL_BLEND_EQUATION, &m_PrevBlendEquation);
|
||||
_glBlendEquation(GL_FUNC_ADD);
|
||||
}
|
||||
if( _glDisableVertexAttribArray!=NULL )
|
||||
{
|
||||
GLint maxVertexAttribs;
|
||||
_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs);
|
||||
if(maxVertexAttribs>MAX_VERTEX_ATTRIBS)
|
||||
maxVertexAttribs=MAX_VERTEX_ATTRIBS;
|
||||
|
||||
for(int i=0; i<maxVertexAttribs; i++)
|
||||
{
|
||||
_glGetVertexAttribiv(i, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &m_PrevEnabledVertexAttrib[i]);
|
||||
_glDisableVertexAttribArray(i);
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::EndDraw()
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
m_Drawing = false;
|
||||
|
||||
_glBindTexture(GL_TEXTURE_2D, m_PrevTexture);
|
||||
if( _glBindVertexArray!=NULL )
|
||||
_glBindVertexArray(m_PrevVertexArray);
|
||||
if( _glBindBufferARB!=NULL )
|
||||
{
|
||||
_glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_PrevArrayBufferARB);
|
||||
_glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, m_PrevElementArrayBufferARB);
|
||||
}
|
||||
if( _glBindProgramARB!=NULL )
|
||||
{
|
||||
if( m_PrevVertexProgramARB )
|
||||
_glEnable(GL_VERTEX_PROGRAM_ARB);
|
||||
if( m_PrevFragmentProgramARB )
|
||||
_glEnable(GL_FRAGMENT_PROGRAM_ARB);
|
||||
}
|
||||
if( _glGetHandleARB!=NULL && _glUseProgramObjectARB!=NULL )
|
||||
_glUseProgramObjectARB(m_PrevProgramObjectARB);
|
||||
if( _glTexImage3D!=NULL && m_PrevTexture3D )
|
||||
_glEnable(GL_TEXTURE_3D);
|
||||
if( m_SupportTexRect && m_PrevTexRectARB )
|
||||
_glEnable(GL_TEXTURE_RECTANGLE_ARB);
|
||||
if( _glBlendEquation!=NULL )
|
||||
_glBlendEquation(m_PrevBlendEquation);
|
||||
if( _glBlendEquationSeparate!=NULL )
|
||||
_glBlendEquationSeparate(m_PrevBlendEquationRGB, m_PrevBlendEquationAlpha);
|
||||
if( _glBlendFuncSeparate!=NULL )
|
||||
_glBlendFuncSeparate(m_PrevBlendSrcRGB, m_PrevBlendDstRGB, m_PrevBlendSrcAlpha, m_PrevBlendDstAlpha);
|
||||
|
||||
_glPolygonMode(GL_FRONT, m_PrevPolygonMode[0]);
|
||||
_glPolygonMode(GL_BACK, m_PrevPolygonMode[1]);
|
||||
_glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, m_PrevTexEnv);
|
||||
_glLineWidth(m_PrevLineWidth);
|
||||
_glMatrixMode(GL_PROJECTION);
|
||||
_glPopMatrix();
|
||||
_glMatrixMode(GL_MODELVIEW);
|
||||
_glPopMatrix();
|
||||
_glMatrixMode(GL_TEXTURE);
|
||||
_glPopMatrix();
|
||||
_glPopClientAttrib();
|
||||
_glPopAttrib();
|
||||
|
||||
if( _glActiveTextureARB )
|
||||
{
|
||||
GLint maxTexUnits = 1;
|
||||
_glGetIntegerv(GL_MAX_TEXTURE_COORDS, &maxTexUnits); // was GL_MAX_TEXTURE_UNITS_ARB
|
||||
if( maxTexUnits<1 )
|
||||
maxTexUnits = 1;
|
||||
else if( maxTexUnits > MAX_TEXTURES )
|
||||
maxTexUnits = MAX_TEXTURES;
|
||||
GLint i;
|
||||
for( i=0; i<maxTexUnits; ++i )
|
||||
{
|
||||
_glActiveTextureARB(GL_TEXTURE0_ARB+i);
|
||||
if( m_PrevActiveTexture1D[i] )
|
||||
_glEnable(GL_TEXTURE_1D);
|
||||
if( m_PrevActiveTexture2D[i] )
|
||||
_glEnable(GL_TEXTURE_2D);
|
||||
if( m_PrevActiveTexture3D[i] )
|
||||
_glEnable(GL_TEXTURE_3D);
|
||||
}
|
||||
_glActiveTextureARB(m_PrevActiveTextureARB);
|
||||
|
||||
for( i=0; i<maxTexUnits; ++i )
|
||||
{
|
||||
_glClientActiveTextureARB(GL_TEXTURE0_ARB+i);
|
||||
if( m_PrevClientTexCoordArray[i] )
|
||||
_glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
}
|
||||
_glClientActiveTextureARB(m_PrevClientActiveTextureARB);
|
||||
}
|
||||
if(_glEnableVertexAttribArray)
|
||||
{
|
||||
GLint maxVertexAttribs;
|
||||
_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs);
|
||||
if(maxVertexAttribs>MAX_VERTEX_ATTRIBS)
|
||||
maxVertexAttribs=MAX_VERTEX_ATTRIBS;
|
||||
|
||||
for(int i=0; i<maxVertexAttribs; i++)
|
||||
{
|
||||
if(m_PrevEnabledVertexAttrib[i]!=0)
|
||||
_glEnableVertexAttribArray(i);
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool CTwGraphOpenGL::IsDrawing()
|
||||
{
|
||||
return m_Drawing;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::Restore()
|
||||
{
|
||||
UnbindFont(m_FontTexID);
|
||||
m_FontTexID = 0;
|
||||
m_FontTex = NULL;
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
/*
|
||||
// border adjustment NO!!
|
||||
if(_X0<_X1)
|
||||
++_X1;
|
||||
else if(_X0>_X1)
|
||||
++_X0;
|
||||
if(_Y0<_Y1)
|
||||
++_Y1;
|
||||
else if(_Y0>_Y1)
|
||||
++_Y0;
|
||||
*/
|
||||
//const GLfloat dx = +0.0f;
|
||||
const GLfloat dx = +0.5f;
|
||||
//GLfloat dy = -0.2f;
|
||||
const GLfloat dy = -0.5f;
|
||||
if( _AntiAliased )
|
||||
_glEnable(GL_LINE_SMOOTH);
|
||||
else
|
||||
_glDisable(GL_LINE_SMOOTH);
|
||||
_glDisable(GL_TEXTURE_2D);
|
||||
_glMatrixMode(GL_MODELVIEW);
|
||||
_glLoadIdentity();
|
||||
_glBegin(GL_LINES);
|
||||
_glColor4ub(GLubyte(_Color0>>16), GLubyte(_Color0>>8), GLubyte(_Color0), GLubyte(_Color0>>24));
|
||||
_glVertex2f((GLfloat)_X0+dx, (GLfloat)_Y0+dy);
|
||||
_glColor4ub(GLubyte(_Color1>>16), GLubyte(_Color1>>8), GLubyte(_Color1), GLubyte(_Color1>>24));
|
||||
_glVertex2f((GLfloat)_X1+dx, (GLfloat)_Y1+dy);
|
||||
//_glVertex2i(_X0, _Y0);
|
||||
//_glVertex2i(_X1, _Y1);
|
||||
_glEnd();
|
||||
_glDisable(GL_LINE_SMOOTH);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
|
||||
/*
|
||||
// border adjustment
|
||||
if(_X0<_X1)
|
||||
++_X1;
|
||||
else if(_X0>_X1)
|
||||
++_X0;
|
||||
if(_Y0<_Y1)
|
||||
++_Y1;
|
||||
else if(_Y0>_Y1)
|
||||
++_Y0;
|
||||
*/
|
||||
// border adjustment
|
||||
if(_X0<_X1)
|
||||
++_X1;
|
||||
else if(_X0>_X1)
|
||||
++_X0;
|
||||
if(_Y0<_Y1)
|
||||
--_Y0;
|
||||
else if(_Y0>_Y1)
|
||||
--_Y1;
|
||||
const GLfloat dx = +0.0f;
|
||||
const GLfloat dy = +0.0f;
|
||||
|
||||
_glDisable(GL_TEXTURE_2D);
|
||||
_glMatrixMode(GL_MODELVIEW);
|
||||
_glLoadIdentity();
|
||||
//GLubyte r = GLubyte(_Color>>16);
|
||||
//GLubyte g = GLubyte(_Color>>8);
|
||||
//GLubyte b = GLubyte(_Color);
|
||||
//GLubyte a = GLubyte(_Color>>24);
|
||||
//_glColor4ub(GLubyte(_Color>>16), GLubyte(_Color>>8), GLubyte(_Color), GLubyte(_Color>>24));
|
||||
//_glColor4ub(r, g, b, a);
|
||||
_glBegin(GL_QUADS);
|
||||
_glColor4ub(GLubyte(_Color00>>16), GLubyte(_Color00>>8), GLubyte(_Color00), GLubyte(_Color00>>24));
|
||||
_glVertex2f((GLfloat)_X0+dx, (GLfloat)_Y0+dy);
|
||||
_glColor4ub(GLubyte(_Color10>>16), GLubyte(_Color10>>8), GLubyte(_Color10), GLubyte(_Color10>>24));
|
||||
_glVertex2f((GLfloat)_X1+dx, (GLfloat)_Y0+dy);
|
||||
_glColor4ub(GLubyte(_Color11>>16), GLubyte(_Color11>>8), GLubyte(_Color11), GLubyte(_Color11>>24));
|
||||
_glVertex2f((GLfloat)_X1+dx, (GLfloat)_Y1+dy);
|
||||
_glColor4ub(GLubyte(_Color01>>16), GLubyte(_Color01>>8), GLubyte(_Color01), GLubyte(_Color01>>24));
|
||||
_glVertex2f((GLfloat)_X0+dx, (GLfloat)_Y1+dy);
|
||||
_glEnd();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void *CTwGraphOpenGL::NewTextObj()
|
||||
{
|
||||
return new CTextObj;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::DeleteTextObj(void *_TextObj)
|
||||
{
|
||||
assert(_TextObj!=NULL);
|
||||
delete static_cast<CTextObj *>(_TextObj);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
assert(_TextObj!=NULL);
|
||||
assert(_Font!=NULL);
|
||||
|
||||
if( _Font != m_FontTex )
|
||||
{
|
||||
UnbindFont(m_FontTexID);
|
||||
m_FontTexID = BindFont(_Font);
|
||||
m_FontTex = _Font;
|
||||
}
|
||||
CTextObj *TextObj = static_cast<CTextObj *>(_TextObj);
|
||||
TextObj->m_TextVerts.resize(0);
|
||||
TextObj->m_TextUVs.resize(0);
|
||||
TextObj->m_BgVerts.resize(0);
|
||||
TextObj->m_Colors.resize(0);
|
||||
TextObj->m_BgColors.resize(0);
|
||||
|
||||
int x, x1, y, y1, i, Len;
|
||||
unsigned char ch;
|
||||
const unsigned char *Text;
|
||||
color32 LineColor = COLOR32_RED;
|
||||
for( int Line=0; Line<_NbLines; ++Line )
|
||||
{
|
||||
x = 0;
|
||||
y = Line * (_Font->m_CharHeight+_Sep);
|
||||
y1 = y+_Font->m_CharHeight;
|
||||
Len = (int)_TextLines[Line].length();
|
||||
Text = (const unsigned char *)(_TextLines[Line].c_str());
|
||||
if( _LineColors!=NULL )
|
||||
LineColor = (_LineColors[Line]&0xff00ff00) | GLubyte(_LineColors[Line]>>16) | (GLubyte(_LineColors[Line])<<16);
|
||||
|
||||
for( i=0; i<Len; ++i )
|
||||
{
|
||||
ch = Text[i];
|
||||
x1 = x + _Font->m_CharWidth[ch];
|
||||
|
||||
TextObj->m_TextVerts.push_back(Vec2(x , y ));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x1, y ));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x , y1));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x1, y ));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x1, y1));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x , y1));
|
||||
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU0[ch], _Font->m_CharV0[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU1[ch], _Font->m_CharV0[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU0[ch], _Font->m_CharV1[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU1[ch], _Font->m_CharV0[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU1[ch], _Font->m_CharV1[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU0[ch], _Font->m_CharV1[ch]));
|
||||
|
||||
if( _LineColors!=NULL )
|
||||
{
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
}
|
||||
|
||||
x = x1;
|
||||
}
|
||||
if( _BgWidth>0 )
|
||||
{
|
||||
TextObj->m_BgVerts.push_back(Vec2(-1 , y ));
|
||||
TextObj->m_BgVerts.push_back(Vec2(_BgWidth+1, y ));
|
||||
TextObj->m_BgVerts.push_back(Vec2(-1 , y1));
|
||||
TextObj->m_BgVerts.push_back(Vec2(_BgWidth+1, y ));
|
||||
TextObj->m_BgVerts.push_back(Vec2(_BgWidth+1, y1));
|
||||
TextObj->m_BgVerts.push_back(Vec2(-1 , y1));
|
||||
|
||||
if( _LineBgColors!=NULL )
|
||||
{
|
||||
color32 LineBgColor = (_LineBgColors[Line]&0xff00ff00) | GLubyte(_LineBgColors[Line]>>16) | (GLubyte(_LineBgColors[Line])<<16);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
assert(_TextObj!=NULL);
|
||||
CTextObj *TextObj = static_cast<CTextObj *>(_TextObj);
|
||||
|
||||
if( TextObj->m_TextVerts.size()<4 && TextObj->m_BgVerts.size()<4 )
|
||||
return; // nothing to draw
|
||||
|
||||
_glMatrixMode(GL_MODELVIEW);
|
||||
_glLoadIdentity();
|
||||
_glTranslatef((GLfloat)_X, (GLfloat)_Y, 0);
|
||||
_glEnableClientState(GL_VERTEX_ARRAY);
|
||||
if( (_BgColor!=0 || TextObj->m_BgColors.size()==TextObj->m_BgVerts.size()) && TextObj->m_BgVerts.size()>=4 )
|
||||
{
|
||||
_glDisable(GL_TEXTURE_2D);
|
||||
_glVertexPointer(2, GL_FLOAT, 0, &(TextObj->m_BgVerts[0]));
|
||||
if( TextObj->m_BgColors.size()==TextObj->m_BgVerts.size() && _BgColor==0 )
|
||||
{
|
||||
_glEnableClientState(GL_COLOR_ARRAY);
|
||||
_glColorPointer(4, GL_UNSIGNED_BYTE, 0, &(TextObj->m_BgColors[0]));
|
||||
}
|
||||
else
|
||||
{
|
||||
_glDisableClientState(GL_COLOR_ARRAY);
|
||||
_glColor4ub(GLubyte(_BgColor>>16), GLubyte(_BgColor>>8), GLubyte(_BgColor), GLubyte(_BgColor>>24));
|
||||
}
|
||||
_glDrawArrays(GL_TRIANGLES, 0, (int)TextObj->m_BgVerts.size());
|
||||
}
|
||||
_glEnable(GL_TEXTURE_2D);
|
||||
_glBindTexture(GL_TEXTURE_2D, m_FontTexID);
|
||||
_glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
if( TextObj->m_TextVerts.size()>=4 )
|
||||
{
|
||||
_glVertexPointer(2, GL_FLOAT, 0, &(TextObj->m_TextVerts[0]));
|
||||
_glTexCoordPointer(2, GL_FLOAT, 0, &(TextObj->m_TextUVs[0]));
|
||||
if( TextObj->m_Colors.size()==TextObj->m_TextVerts.size() && _Color==0 )
|
||||
{
|
||||
_glEnableClientState(GL_COLOR_ARRAY);
|
||||
_glColorPointer(4, GL_UNSIGNED_BYTE, 0, &(TextObj->m_Colors[0]));
|
||||
}
|
||||
else
|
||||
{
|
||||
_glDisableClientState(GL_COLOR_ARRAY);
|
||||
_glColor4ub(GLubyte(_Color>>16), GLubyte(_Color>>8), GLubyte(_Color), GLubyte(_Color>>24));
|
||||
}
|
||||
|
||||
_glDrawArrays(GL_TRIANGLES, 0, (int)TextObj->m_TextVerts.size());
|
||||
}
|
||||
|
||||
_glDisableClientState(GL_VERTEX_ARRAY);
|
||||
_glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
_glDisableClientState(GL_COLOR_ARRAY);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY)
|
||||
{
|
||||
if( _Width>0 && _Height>0 )
|
||||
{
|
||||
GLint vp[4];
|
||||
vp[0] = _X0;
|
||||
vp[1] = _Y0;
|
||||
vp[2] = _Width-1;
|
||||
vp[3] = _Height-1;
|
||||
_glViewport(vp[0], m_WndHeight-vp[1]-vp[3], vp[2], vp[3]);
|
||||
|
||||
GLint matrixMode = 0;
|
||||
_glGetIntegerv(GL_MATRIX_MODE, &matrixMode);
|
||||
_glMatrixMode(GL_PROJECTION);
|
||||
_glLoadIdentity();
|
||||
_glOrtho(_OffsetX, _OffsetX+vp[2], vp[3]-_OffsetY, -_OffsetY, -1, 1);
|
||||
_glMatrixMode(matrixMode);
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::RestoreViewport()
|
||||
{
|
||||
_glViewport(m_ViewportInit[0], m_ViewportInit[1], m_ViewportInit[2], m_ViewportInit[3]);
|
||||
|
||||
GLint matrixMode = 0;
|
||||
_glGetIntegerv(GL_MATRIX_MODE, &matrixMode);
|
||||
_glMatrixMode(GL_PROJECTION);
|
||||
_glLoadMatrixf(m_ProjMatrixInit);
|
||||
_glMatrixMode(matrixMode);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::SetScissor(int _X0, int _Y0, int _Width, int _Height)
|
||||
{
|
||||
if( _Width>0 && _Height>0 )
|
||||
{
|
||||
_glScissor(_X0-1, m_WndHeight-_Y0-_Height, _Width-1, _Height);
|
||||
_glEnable(GL_SCISSOR_TEST);
|
||||
}
|
||||
else
|
||||
_glDisable(GL_SCISSOR_TEST);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGL::DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
|
||||
const GLfloat dx = +0.0f;
|
||||
const GLfloat dy = +0.0f;
|
||||
|
||||
GLint prevCullFaceMode, prevFrontFace;
|
||||
_glGetIntegerv(GL_CULL_FACE_MODE, &prevCullFaceMode);
|
||||
_glGetIntegerv(GL_FRONT_FACE, &prevFrontFace);
|
||||
GLboolean prevCullEnable = _glIsEnabled(GL_CULL_FACE);
|
||||
_glCullFace(GL_BACK);
|
||||
_glEnable(GL_CULL_FACE);
|
||||
if( _CullMode==CULL_CW )
|
||||
_glFrontFace(GL_CCW);
|
||||
else if( _CullMode==CULL_CCW )
|
||||
_glFrontFace(GL_CW);
|
||||
else
|
||||
_glDisable(GL_CULL_FACE);
|
||||
|
||||
_glDisable(GL_TEXTURE_2D);
|
||||
_glMatrixMode(GL_MODELVIEW);
|
||||
_glLoadIdentity();
|
||||
_glBegin(GL_TRIANGLES);
|
||||
for(int i=0; i<3*_NumTriangles; ++i)
|
||||
{
|
||||
color32 col = _Colors[i];
|
||||
_glColor4ub(GLubyte(col>>16), GLubyte(col>>8), GLubyte(col), GLubyte(col>>24));
|
||||
_glVertex2f((GLfloat)_Vertices[2*i+0]+dx, (GLfloat)_Vertices[2*i+1]+dy);
|
||||
}
|
||||
_glEnd();
|
||||
|
||||
_glCullFace(prevCullFaceMode);
|
||||
_glFrontFace(prevFrontFace);
|
||||
if( prevCullEnable )
|
||||
_glEnable(GL_CULL_FACE);
|
||||
else
|
||||
_glDisable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
98
AntTweakBar/src/TwOpenGL.h
Normal file
@@ -0,0 +1,98 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwOpenGL.h
|
||||
// @brief OpenGL graph functions
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_OPENGL_INCLUDED
|
||||
#define ANT_TW_OPENGL_INCLUDED
|
||||
|
||||
#include "TwGraph.h"
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class CTwGraphOpenGL : public ITwGraph
|
||||
{
|
||||
public:
|
||||
virtual int Init();
|
||||
virtual int Shut();
|
||||
virtual void BeginDraw(int _WndWidth, int _WndHeight);
|
||||
virtual void EndDraw();
|
||||
virtual bool IsDrawing();
|
||||
virtual void Restore();
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased=false);
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color, bool _AntiAliased=false) { DrawLine(_X0, _Y0, _X1, _Y1, _Color, _Color, _AntiAliased); }
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11);
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color) { DrawRect(_X0, _Y0, _X1, _Y1, _Color, _Color, _Color, _Color); }
|
||||
virtual void DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode);
|
||||
|
||||
virtual void * NewTextObj();
|
||||
virtual void DeleteTextObj(void *_TextObj);
|
||||
virtual void BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth);
|
||||
virtual void DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor);
|
||||
|
||||
virtual void ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY);
|
||||
virtual void RestoreViewport();
|
||||
virtual void SetScissor(int _X0, int _Y0, int _Width, int _Height);
|
||||
|
||||
protected:
|
||||
bool m_Drawing;
|
||||
GLuint m_FontTexID;
|
||||
const CTexFont * m_FontTex;
|
||||
GLfloat m_PrevLineWidth;
|
||||
GLint m_PrevTexEnv;
|
||||
GLint m_PrevPolygonMode[2];
|
||||
GLint m_MaxClipPlanes;
|
||||
GLint m_PrevTexture;
|
||||
GLint m_PrevArrayBufferARB;
|
||||
GLint m_PrevElementArrayBufferARB;
|
||||
GLboolean m_PrevVertexProgramARB;
|
||||
GLboolean m_PrevFragmentProgramARB;
|
||||
GLuint m_PrevProgramObjectARB;
|
||||
GLboolean m_PrevTexture3D;
|
||||
enum EMaxTextures { MAX_TEXTURES = 128 };
|
||||
GLboolean m_PrevActiveTexture1D[MAX_TEXTURES];
|
||||
GLboolean m_PrevActiveTexture2D[MAX_TEXTURES];
|
||||
GLboolean m_PrevActiveTexture3D[MAX_TEXTURES];
|
||||
GLboolean m_PrevClientTexCoordArray[MAX_TEXTURES];
|
||||
GLint m_PrevActiveTextureARB;
|
||||
GLint m_PrevClientActiveTextureARB;
|
||||
bool m_SupportTexRect;
|
||||
GLboolean m_PrevTexRectARB;
|
||||
GLint m_PrevBlendEquation;
|
||||
GLint m_PrevBlendEquationRGB;
|
||||
GLint m_PrevBlendEquationAlpha;
|
||||
GLint m_PrevBlendSrcRGB;
|
||||
GLint m_PrevBlendDstRGB;
|
||||
GLint m_PrevBlendSrcAlpha;
|
||||
GLint m_PrevBlendDstAlpha;
|
||||
GLuint m_PrevVertexArray;
|
||||
GLint m_ViewportInit[4];
|
||||
GLfloat m_ProjMatrixInit[16];
|
||||
enum EMaxVtxAttribs { MAX_VERTEX_ATTRIBS = 128 };
|
||||
GLint m_PrevEnabledVertexAttrib[MAX_VERTEX_ATTRIBS];
|
||||
int m_WndWidth;
|
||||
int m_WndHeight;
|
||||
|
||||
struct Vec2 { GLfloat x, y; Vec2(){} Vec2(GLfloat _X, GLfloat _Y):x(_X),y(_Y){} Vec2(int _X, int _Y):x(GLfloat(_X)),y(GLfloat(_Y)){} };
|
||||
struct CTextObj
|
||||
{
|
||||
std::vector<Vec2> m_TextVerts;
|
||||
std::vector<Vec2> m_TextUVs;
|
||||
std::vector<Vec2> m_BgVerts;
|
||||
std::vector<color32>m_Colors;
|
||||
std::vector<color32>m_BgColors;
|
||||
};
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_OPENGL_INCLUDED
|
||||
933
AntTweakBar/src/TwOpenGLCore.cpp
Normal file
@@ -0,0 +1,933 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwOpenGLCore.cpp
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
#pragma warning GL3 //// used for development
|
||||
#define GL3_PROTOTYPES 1 ////
|
||||
#include <GL3/gl3.h> ////
|
||||
#define ANT_OGL_HEADER_INCLUDED ////
|
||||
*/
|
||||
|
||||
#if defined ANT_OSX
|
||||
# include <OpenGL/gl3.h>
|
||||
# define ANT_OGL_HEADER_INCLUDED
|
||||
#endif
|
||||
#include "TwPrecomp.h"
|
||||
#include "LoadOGLCore.h"
|
||||
#include "TwOpenGLCore.h"
|
||||
#include "TwMgr.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
extern const char *g_ErrCantLoadOGL;
|
||||
extern const char *g_ErrCantUnloadOGL;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#ifdef _DEBUG
|
||||
static void CheckGLCoreError(const char *file, int line, const char *func)
|
||||
{
|
||||
int err=0;
|
||||
char msg[256];
|
||||
while( (err=_glGetError())!=0 )
|
||||
{
|
||||
sprintf(msg, "%s(%d) : [%s] GL_CORE_ERROR=0x%x\n", file, line, func, err);
|
||||
#ifdef ANT_WINDOWS
|
||||
OutputDebugString(msg);
|
||||
#endif
|
||||
fprintf(stderr, msg);
|
||||
}
|
||||
}
|
||||
# ifdef __FUNCTION__
|
||||
# define CHECK_GL_ERROR CheckGLCoreError(__FILE__, __LINE__, __FUNCTION__)
|
||||
# else
|
||||
# define CHECK_GL_ERROR CheckGLCoreError(__FILE__, __LINE__, "")
|
||||
# endif
|
||||
#else
|
||||
# define CHECK_GL_ERROR ((void)(0))
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static GLuint BindFont(const CTexFont *_Font)
|
||||
{
|
||||
GLuint TexID = 0;
|
||||
_glGenTextures(1, &TexID);
|
||||
_glBindTexture(GL_TEXTURE_2D, TexID);
|
||||
_glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
|
||||
_glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
|
||||
_glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
|
||||
_glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
|
||||
_glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
|
||||
_glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
_glTexImage2D(GL_TEXTURE_2D, 0, GL_RED, _Font->m_TexWidth, _Font->m_TexHeight, 0, GL_RED, GL_UNSIGNED_BYTE, _Font->m_TexBytes);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_NEAREST);
|
||||
_glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST);
|
||||
_glBindTexture(GL_TEXTURE_2D, 0);
|
||||
|
||||
return TexID;
|
||||
}
|
||||
|
||||
static void UnbindFont(GLuint _FontTexID)
|
||||
{
|
||||
if( _FontTexID>0 )
|
||||
_glDeleteTextures(1, &_FontTexID);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static GLuint CompileShader(GLuint shader)
|
||||
{
|
||||
_glCompileShader(shader); CHECK_GL_ERROR;
|
||||
|
||||
GLint status;
|
||||
_glGetShaderiv(shader, GL_COMPILE_STATUS, &status); CHECK_GL_ERROR;
|
||||
if (status == GL_FALSE)
|
||||
{
|
||||
GLint infoLogLength;
|
||||
_glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength); CHECK_GL_ERROR;
|
||||
|
||||
GLchar strInfoLog[256];
|
||||
_glGetShaderInfoLog(shader, sizeof(strInfoLog), NULL, strInfoLog); CHECK_GL_ERROR;
|
||||
#ifdef ANT_WINDOWS
|
||||
OutputDebugString("Compile failure: ");
|
||||
OutputDebugString(strInfoLog);
|
||||
OutputDebugString("\n");
|
||||
#endif
|
||||
fprintf(stderr, "Compile failure: %s\n", strInfoLog);
|
||||
shader = 0;
|
||||
}
|
||||
|
||||
return shader;
|
||||
}
|
||||
|
||||
static GLuint LinkProgram(GLuint program)
|
||||
{
|
||||
_glLinkProgram(program); CHECK_GL_ERROR;
|
||||
|
||||
GLint status;
|
||||
_glGetProgramiv(program, GL_LINK_STATUS, &status); CHECK_GL_ERROR;
|
||||
if (status == GL_FALSE)
|
||||
{
|
||||
GLint infoLogLength;
|
||||
_glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infoLogLength); CHECK_GL_ERROR;
|
||||
|
||||
GLchar strInfoLog[256];
|
||||
_glGetProgramInfoLog(program, sizeof(strInfoLog), NULL, strInfoLog); CHECK_GL_ERROR;
|
||||
#ifdef ANT_WINDOWS
|
||||
OutputDebugString("Linker failure: ");
|
||||
OutputDebugString(strInfoLog);
|
||||
OutputDebugString("\n");
|
||||
#endif
|
||||
fprintf(stderr, "Linker failure: %s\n", strInfoLog);
|
||||
program = 0;
|
||||
}
|
||||
|
||||
return program;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::ResizeTriBuffers(size_t _NewSize)
|
||||
{
|
||||
m_TriBufferSize = _NewSize;
|
||||
|
||||
_glBindVertexArray(m_TriVArray);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriVertices);
|
||||
_glBufferData(GL_ARRAY_BUFFER, m_TriBufferSize*sizeof(Vec2), 0, GL_DYNAMIC_DRAW);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriUVs);
|
||||
_glBufferData(GL_ARRAY_BUFFER, m_TriBufferSize*sizeof(Vec2), 0, GL_DYNAMIC_DRAW);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriColors);
|
||||
_glBufferData(GL_ARRAY_BUFFER, m_TriBufferSize*sizeof(color32), 0, GL_DYNAMIC_DRAW);
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int CTwGraphOpenGLCore::Init()
|
||||
{
|
||||
m_Drawing = false;
|
||||
m_FontTexID = 0;
|
||||
m_FontTex = NULL;
|
||||
|
||||
if( LoadOpenGLCore()==0 )
|
||||
{
|
||||
g_TwMgr->SetLastError(g_ErrCantLoadOGL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Create line/rect shaders
|
||||
const GLchar *lineRectVS[] = {
|
||||
"#version 150 core\n"
|
||||
"in vec3 vertex;"
|
||||
"in vec4 color;"
|
||||
"out vec4 fcolor;"
|
||||
"void main() { gl_Position = vec4(vertex, 1); fcolor = color; }"
|
||||
};
|
||||
m_LineRectVS = _glCreateShader(GL_VERTEX_SHADER);
|
||||
_glShaderSource(m_LineRectVS, 1, lineRectVS, NULL);
|
||||
CompileShader(m_LineRectVS);
|
||||
|
||||
const GLchar *lineRectFS[] = {
|
||||
"#version 150 core\n"
|
||||
"precision highp float;"
|
||||
"in vec4 fcolor;"
|
||||
"out vec4 outColor;"
|
||||
"void main() { outColor = fcolor; }"
|
||||
};
|
||||
m_LineRectFS = _glCreateShader(GL_FRAGMENT_SHADER);
|
||||
_glShaderSource(m_LineRectFS, 1, lineRectFS, NULL);
|
||||
CompileShader(m_LineRectFS);
|
||||
|
||||
m_LineRectProgram = _glCreateProgram();
|
||||
_glAttachShader(m_LineRectProgram, m_LineRectVS);
|
||||
_glAttachShader(m_LineRectProgram, m_LineRectFS);
|
||||
_glBindAttribLocation(m_LineRectProgram, 0, "vertex");
|
||||
_glBindAttribLocation(m_LineRectProgram, 1, "color");
|
||||
LinkProgram(m_LineRectProgram);
|
||||
|
||||
// Create line/rect vertex buffer
|
||||
const GLfloat lineRectInitVertices[] = { 0,0,0, 0,0,0, 0,0,0, 0,0,0 };
|
||||
const color32 lineRectInitColors[] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
|
||||
_glGenVertexArrays(1, &m_LineRectVArray);
|
||||
_glBindVertexArray(m_LineRectVArray);
|
||||
_glGenBuffers(1, &m_LineRectVertices);
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_LineRectVertices);
|
||||
_glBufferData(GL_ARRAY_BUFFER, sizeof(lineRectInitVertices), lineRectInitVertices, GL_DYNAMIC_DRAW);
|
||||
_glGenBuffers(1, &m_LineRectColors);
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_LineRectColors);
|
||||
_glBufferData(GL_ARRAY_BUFFER, sizeof(lineRectInitColors), lineRectInitColors, GL_DYNAMIC_DRAW);
|
||||
|
||||
// Create triangles shaders
|
||||
const GLchar *triVS[] = {
|
||||
"#version 150 core\n"
|
||||
"uniform vec2 offset;"
|
||||
"uniform vec2 wndSize;"
|
||||
"in vec2 vertex;"
|
||||
"in vec4 color;"
|
||||
"out vec4 fcolor;"
|
||||
"void main() { gl_Position = vec4(2.0*(vertex.x+offset.x-0.5)/wndSize.x - 1.0, 1.0 - 2.0*(vertex.y+offset.y-0.5)/wndSize.y, 0, 1); fcolor = color; }"
|
||||
};
|
||||
m_TriVS = _glCreateShader(GL_VERTEX_SHADER);
|
||||
_glShaderSource(m_TriVS, 1, triVS, NULL);
|
||||
CompileShader(m_TriVS);
|
||||
|
||||
const GLchar *triUniVS[] = {
|
||||
"#version 150 core\n"
|
||||
"uniform vec2 offset;"
|
||||
"uniform vec2 wndSize;"
|
||||
"uniform vec4 color;"
|
||||
"in vec2 vertex;"
|
||||
"out vec4 fcolor;"
|
||||
"void main() { gl_Position = vec4(2.0*(vertex.x+offset.x-0.5)/wndSize.x - 1.0, 1.0 - 2.0*(vertex.y+offset.y-0.5)/wndSize.y, 0, 1); fcolor = color; }"
|
||||
};
|
||||
m_TriUniVS = _glCreateShader(GL_VERTEX_SHADER);
|
||||
_glShaderSource(m_TriUniVS, 1, triUniVS, NULL);
|
||||
CompileShader(m_TriUniVS);
|
||||
|
||||
m_TriFS = m_TriUniFS = m_LineRectFS;
|
||||
|
||||
m_TriProgram = _glCreateProgram();
|
||||
_glAttachShader(m_TriProgram, m_TriVS);
|
||||
_glAttachShader(m_TriProgram, m_TriFS);
|
||||
_glBindAttribLocation(m_TriProgram, 0, "vertex");
|
||||
_glBindAttribLocation(m_TriProgram, 1, "color");
|
||||
LinkProgram(m_TriProgram);
|
||||
m_TriLocationOffset = _glGetUniformLocation(m_TriProgram, "offset");
|
||||
m_TriLocationWndSize = _glGetUniformLocation(m_TriProgram, "wndSize");
|
||||
|
||||
m_TriUniProgram = _glCreateProgram();
|
||||
_glAttachShader(m_TriUniProgram, m_TriUniVS);
|
||||
_glAttachShader(m_TriUniProgram, m_TriUniFS);
|
||||
_glBindAttribLocation(m_TriUniProgram, 0, "vertex");
|
||||
_glBindAttribLocation(m_TriUniProgram, 1, "color");
|
||||
LinkProgram(m_TriUniProgram);
|
||||
m_TriUniLocationOffset = _glGetUniformLocation(m_TriUniProgram, "offset");
|
||||
m_TriUniLocationWndSize = _glGetUniformLocation(m_TriUniProgram, "wndSize");
|
||||
m_TriUniLocationColor = _glGetUniformLocation(m_TriUniProgram, "color");
|
||||
|
||||
const GLchar *triTexFS[] = {
|
||||
"#version 150 core\n"
|
||||
"precision highp float;"
|
||||
"uniform sampler2D tex;"
|
||||
"in vec2 fuv;"
|
||||
"in vec4 fcolor;"
|
||||
"out vec4 outColor;"
|
||||
// texture2D is deprecated and replaced by texture with GLSL 3.30 but it seems
|
||||
// that on Mac Lion backward compatibility is not ensured.
|
||||
#if defined(ANT_OSX) && (MAC_OS_X_VERSION_MAX_ALLOWED >= 1070)
|
||||
"void main() { outColor.rgb = fcolor.bgr; outColor.a = fcolor.a * texture(tex, fuv).r; }"
|
||||
#else
|
||||
"void main() { outColor.rgb = fcolor.bgr; outColor.a = fcolor.a * texture2D(tex, fuv).r; }"
|
||||
#endif
|
||||
};
|
||||
m_TriTexFS = _glCreateShader(GL_FRAGMENT_SHADER);
|
||||
_glShaderSource(m_TriTexFS, 1, triTexFS, NULL);
|
||||
CompileShader(m_TriTexFS);
|
||||
|
||||
const GLchar *triTexVS[] = {
|
||||
"#version 150 core\n"
|
||||
"uniform vec2 offset;"
|
||||
"uniform vec2 wndSize;"
|
||||
"in vec2 vertex;"
|
||||
"in vec2 uv;"
|
||||
"in vec4 color;"
|
||||
"out vec2 fuv;"
|
||||
"out vec4 fcolor;"
|
||||
"void main() { gl_Position = vec4(2.0*(vertex.x+offset.x-0.5)/wndSize.x - 1.0, 1.0 - 2.0*(vertex.y+offset.y-0.5)/wndSize.y, 0, 1); fuv = uv; fcolor = color; }"
|
||||
};
|
||||
m_TriTexVS = _glCreateShader(GL_VERTEX_SHADER);
|
||||
_glShaderSource(m_TriTexVS, 1, triTexVS, NULL);
|
||||
CompileShader(m_TriTexVS);
|
||||
|
||||
const GLchar *triTexUniVS[] = {
|
||||
"#version 150 core\n"
|
||||
"uniform vec2 offset;"
|
||||
"uniform vec2 wndSize;"
|
||||
"uniform vec4 color;"
|
||||
"in vec2 vertex;"
|
||||
"in vec2 uv;"
|
||||
"out vec4 fcolor;"
|
||||
"out vec2 fuv;"
|
||||
"void main() { gl_Position = vec4(2.0*(vertex.x+offset.x-0.5)/wndSize.x - 1.0, 1.0 - 2.0*(vertex.y+offset.y-0.5)/wndSize.y, 0, 1); fuv = uv; fcolor = color; }"
|
||||
};
|
||||
m_TriTexUniVS = _glCreateShader(GL_VERTEX_SHADER);
|
||||
_glShaderSource(m_TriTexUniVS, 1, triTexUniVS, NULL);
|
||||
CompileShader(m_TriTexUniVS);
|
||||
|
||||
m_TriTexUniFS = m_TriTexFS;
|
||||
|
||||
m_TriTexProgram = _glCreateProgram();
|
||||
_glAttachShader(m_TriTexProgram, m_TriTexVS);
|
||||
_glAttachShader(m_TriTexProgram, m_TriTexFS);
|
||||
_glBindAttribLocation(m_TriTexProgram, 0, "vertex");
|
||||
_glBindAttribLocation(m_TriTexProgram, 1, "uv");
|
||||
_glBindAttribLocation(m_TriTexProgram, 2, "color");
|
||||
LinkProgram(m_TriTexProgram);
|
||||
m_TriTexLocationOffset = _glGetUniformLocation(m_TriTexProgram, "offset");
|
||||
m_TriTexLocationWndSize = _glGetUniformLocation(m_TriTexProgram, "wndSize");
|
||||
m_TriTexLocationTexture = _glGetUniformLocation(m_TriTexProgram, "tex");
|
||||
|
||||
m_TriTexUniProgram = _glCreateProgram();
|
||||
_glAttachShader(m_TriTexUniProgram, m_TriTexUniVS);
|
||||
_glAttachShader(m_TriTexUniProgram, m_TriTexUniFS);
|
||||
_glBindAttribLocation(m_TriTexUniProgram, 0, "vertex");
|
||||
_glBindAttribLocation(m_TriTexUniProgram, 1, "uv");
|
||||
_glBindAttribLocation(m_TriTexUniProgram, 2, "color");
|
||||
LinkProgram(m_TriTexUniProgram);
|
||||
m_TriTexUniLocationOffset = _glGetUniformLocation(m_TriTexUniProgram, "offset");
|
||||
m_TriTexUniLocationWndSize = _glGetUniformLocation(m_TriTexUniProgram, "wndSize");
|
||||
m_TriTexUniLocationColor = _glGetUniformLocation(m_TriTexUniProgram, "color");
|
||||
m_TriTexUniLocationTexture = _glGetUniformLocation(m_TriTexUniProgram, "tex");
|
||||
|
||||
// Create tri vertex buffer
|
||||
_glGenVertexArrays(1, &m_TriVArray);
|
||||
_glGenBuffers(1, &m_TriVertices);
|
||||
_glGenBuffers(1, &m_TriUVs);
|
||||
_glGenBuffers(1, &m_TriColors);
|
||||
ResizeTriBuffers(16384); // set initial size
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
return 1;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
int CTwGraphOpenGLCore::Shut()
|
||||
{
|
||||
assert(m_Drawing==false);
|
||||
|
||||
UnbindFont(m_FontTexID);
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
|
||||
_glDeleteProgram(m_LineRectProgram); m_LineRectProgram = 0;
|
||||
_glDeleteShader(m_LineRectVS); m_LineRectVS = 0;
|
||||
_glDeleteShader(m_LineRectFS); m_LineRectFS = 0;
|
||||
|
||||
_glDeleteProgram(m_TriProgram); m_TriProgram = 0;
|
||||
_glDeleteShader(m_TriVS); m_TriVS = 0;
|
||||
|
||||
_glDeleteProgram(m_TriUniProgram); m_TriUniProgram = 0;
|
||||
_glDeleteShader(m_TriUniVS); m_TriUniVS = 0;
|
||||
|
||||
_glDeleteProgram(m_TriTexProgram); m_TriTexProgram = 0;
|
||||
_glDeleteShader(m_TriTexVS); m_TriTexVS = 0;
|
||||
_glDeleteShader(m_TriTexFS); m_TriTexFS = 0;
|
||||
|
||||
_glDeleteProgram(m_TriTexUniProgram); m_TriTexUniProgram = 0;
|
||||
_glDeleteShader(m_TriTexUniVS); m_TriTexUniVS = 0;
|
||||
|
||||
_glDeleteBuffers(1, &m_LineRectVertices); m_LineRectVertices = 0;
|
||||
_glDeleteBuffers(1, &m_LineRectColors); m_LineRectColors = 0;
|
||||
_glDeleteVertexArrays(1, &m_LineRectVArray); m_LineRectVArray = 0;
|
||||
|
||||
_glDeleteBuffers(1, &m_TriVertices); m_TriVertices = 0;
|
||||
_glDeleteBuffers(1, &m_TriColors); m_TriColors = 0;
|
||||
_glDeleteBuffers(1, &m_TriUVs); m_TriUVs = 0;
|
||||
_glDeleteVertexArrays(1, &m_TriVArray); m_TriVArray = 0;
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
|
||||
int Res = 1;
|
||||
if( UnloadOpenGLCore()==0 )
|
||||
{
|
||||
g_TwMgr->SetLastError(g_ErrCantUnloadOGL);
|
||||
Res = 0;
|
||||
}
|
||||
|
||||
return Res;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::BeginDraw(int _WndWidth, int _WndHeight)
|
||||
{
|
||||
CHECK_GL_ERROR;
|
||||
assert(m_Drawing==false && _WndWidth>0 && _WndHeight>0);
|
||||
m_Drawing = true;
|
||||
m_WndWidth = _WndWidth;
|
||||
m_WndHeight = _WndHeight;
|
||||
m_OffsetX = 0;
|
||||
m_OffsetY = 0;
|
||||
|
||||
_glGetIntegerv(GL_VIEWPORT, m_PrevViewport); CHECK_GL_ERROR;
|
||||
if( _WndWidth>0 && _WndHeight>0 )
|
||||
{
|
||||
GLint Vp[4];
|
||||
Vp[0] = 0;
|
||||
Vp[1] = 0;
|
||||
Vp[2] = _WndWidth-1;
|
||||
Vp[3] = _WndHeight-1;
|
||||
_glViewport(Vp[0], Vp[1], Vp[2], Vp[3]);
|
||||
}
|
||||
|
||||
m_PrevVArray = 0;
|
||||
_glGetIntegerv(GL_VERTEX_ARRAY_BINDING, (GLint*)&m_PrevVArray); CHECK_GL_ERROR;
|
||||
_glBindVertexArray(0); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevLineWidth = 1;
|
||||
_glGetFloatv(GL_LINE_WIDTH, &m_PrevLineWidth); CHECK_GL_ERROR;
|
||||
_glLineWidth(1); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevLineSmooth = _glIsEnabled(GL_LINE_SMOOTH);
|
||||
_glDisable(GL_LINE_SMOOTH); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevCullFace = _glIsEnabled(GL_CULL_FACE);
|
||||
_glDisable(GL_CULL_FACE); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevDepthTest = _glIsEnabled(GL_DEPTH_TEST);
|
||||
_glDisable(GL_DEPTH_TEST); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevBlend = _glIsEnabled(GL_BLEND);
|
||||
_glEnable(GL_BLEND); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevScissorTest = _glIsEnabled(GL_SCISSOR_TEST);
|
||||
_glDisable(GL_SCISSOR_TEST); CHECK_GL_ERROR;
|
||||
|
||||
_glGetIntegerv(GL_SCISSOR_BOX, m_PrevScissorBox); CHECK_GL_ERROR;
|
||||
|
||||
_glGetIntegerv(GL_BLEND_SRC, &m_PrevSrcBlend); CHECK_GL_ERROR;
|
||||
_glGetIntegerv(GL_BLEND_DST, &m_PrevDstBlend); CHECK_GL_ERROR;
|
||||
_glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevTexture = 0;
|
||||
_glGetIntegerv(GL_TEXTURE_BINDING_2D, &m_PrevTexture); CHECK_GL_ERROR;
|
||||
_glBindTexture(GL_TEXTURE_2D, 0); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevProgramObject = 0;
|
||||
_glGetIntegerv(GL_CURRENT_PROGRAM, (GLint*)&m_PrevProgramObject); CHECK_GL_ERROR;
|
||||
_glBindVertexArray(0); CHECK_GL_ERROR;
|
||||
_glUseProgram(0); CHECK_GL_ERROR;
|
||||
|
||||
m_PrevActiveTexture = 0;
|
||||
_glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint*)&m_PrevActiveTexture); CHECK_GL_ERROR;
|
||||
_glActiveTexture(GL_TEXTURE0);
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::EndDraw()
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
m_Drawing = false;
|
||||
|
||||
_glLineWidth(m_PrevLineWidth); CHECK_GL_ERROR;
|
||||
|
||||
if( m_PrevLineSmooth )
|
||||
{
|
||||
_glEnable(GL_LINE_SMOOTH); CHECK_GL_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
_glDisable(GL_LINE_SMOOTH); CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
if( m_PrevCullFace )
|
||||
{
|
||||
_glEnable(GL_CULL_FACE); CHECK_GL_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
_glDisable(GL_CULL_FACE); CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
if( m_PrevDepthTest )
|
||||
{
|
||||
_glEnable(GL_DEPTH_TEST); CHECK_GL_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
_glDisable(GL_DEPTH_TEST); CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
if( m_PrevBlend )
|
||||
{
|
||||
_glEnable(GL_BLEND); CHECK_GL_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
_glDisable(GL_BLEND); CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
if( m_PrevScissorTest )
|
||||
{
|
||||
_glEnable(GL_SCISSOR_TEST); CHECK_GL_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
_glDisable(GL_SCISSOR_TEST); CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
_glScissor(m_PrevScissorBox[0], m_PrevScissorBox[1], m_PrevScissorBox[2], m_PrevScissorBox[3]); CHECK_GL_ERROR;
|
||||
|
||||
_glBlendFunc(m_PrevSrcBlend, m_PrevDstBlend); CHECK_GL_ERROR;
|
||||
|
||||
_glBindTexture(GL_TEXTURE_2D, m_PrevTexture); CHECK_GL_ERROR;
|
||||
|
||||
_glUseProgram(m_PrevProgramObject); CHECK_GL_ERROR;
|
||||
|
||||
_glBindVertexArray(m_PrevVArray); CHECK_GL_ERROR;
|
||||
|
||||
_glViewport(m_PrevViewport[0], m_PrevViewport[1], m_PrevViewport[2], m_PrevViewport[3]); CHECK_GL_ERROR;
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool CTwGraphOpenGLCore::IsDrawing()
|
||||
{
|
||||
return m_Drawing;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::Restore()
|
||||
{
|
||||
UnbindFont(m_FontTexID);
|
||||
m_FontTexID = 0;
|
||||
m_FontTex = NULL;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static inline float ToNormScreenX(float x, int wndWidth)
|
||||
{
|
||||
return 2.0f*((float)x-0.5f)/wndWidth - 1.0f;
|
||||
}
|
||||
|
||||
static inline float ToNormScreenY(float y, int wndHeight)
|
||||
{
|
||||
return 1.0f - 2.0f*((float)y-0.5f)/wndHeight;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased)
|
||||
{
|
||||
CHECK_GL_ERROR;
|
||||
assert(m_Drawing==true);
|
||||
|
||||
//const GLfloat dx = +0.0f;
|
||||
const GLfloat dx = 0;
|
||||
//GLfloat dy = -0.2f;
|
||||
const GLfloat dy = -0.5f;
|
||||
if( _AntiAliased )
|
||||
_glEnable(GL_LINE_SMOOTH);
|
||||
else
|
||||
_glDisable(GL_LINE_SMOOTH);
|
||||
|
||||
_glBindVertexArray(m_LineRectVArray);
|
||||
|
||||
GLfloat x0 = ToNormScreenX(_X0+dx + m_OffsetX, m_WndWidth);
|
||||
GLfloat y0 = ToNormScreenY(_Y0+dy + m_OffsetY, m_WndHeight);
|
||||
GLfloat x1 = ToNormScreenX(_X1+dx + m_OffsetX, m_WndWidth);
|
||||
GLfloat y1 = ToNormScreenY(_Y1+dy + m_OffsetY, m_WndHeight);
|
||||
GLfloat vertices[] = { x0,y0,0, x1,y1,0 };
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_LineRectVertices);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vertices), vertices);
|
||||
_glVertexAttribPointer(0, 3, GL_FLOAT, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(0);
|
||||
|
||||
color32 colors[] = { _Color0, _Color1 };
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_LineRectColors);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(colors), colors);
|
||||
_glVertexAttribPointer(1, GL_BGRA, GL_UNSIGNED_BYTE, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(1);
|
||||
|
||||
_glUseProgram(m_LineRectProgram);
|
||||
_glDrawArrays(GL_LINES, 0, 2);
|
||||
|
||||
if( _AntiAliased )
|
||||
_glDisable(GL_LINE_SMOOTH);
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11)
|
||||
{
|
||||
CHECK_GL_ERROR;
|
||||
assert(m_Drawing==true);
|
||||
|
||||
// border adjustment
|
||||
if(_X0<_X1)
|
||||
++_X1;
|
||||
else if(_X0>_X1)
|
||||
++_X0;
|
||||
if(_Y0<_Y1)
|
||||
--_Y0;
|
||||
else if(_Y0>_Y1)
|
||||
--_Y1;
|
||||
|
||||
_glBindVertexArray(m_LineRectVArray);
|
||||
|
||||
GLfloat x0 = ToNormScreenX((float)_X0 + m_OffsetX, m_WndWidth);
|
||||
GLfloat y0 = ToNormScreenY((float)_Y0 + m_OffsetY, m_WndHeight);
|
||||
GLfloat x1 = ToNormScreenX((float)_X1 + m_OffsetX, m_WndWidth);
|
||||
GLfloat y1 = ToNormScreenY((float)_Y1 + m_OffsetY, m_WndHeight);
|
||||
GLfloat vertices[] = { x0,y0,0, x1,y0,0, x0,y1,0, x1,y1,0 };
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_LineRectVertices);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vertices), vertices);
|
||||
_glVertexAttribPointer(0, 3, GL_FLOAT, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(0);
|
||||
|
||||
GLuint colors[] = { _Color00, _Color10, _Color01, _Color11 };
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_LineRectColors);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(colors), colors);
|
||||
_glVertexAttribPointer(1, GL_BGRA, GL_UNSIGNED_BYTE, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(1);
|
||||
|
||||
_glUseProgram(m_LineRectProgram);
|
||||
_glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void *CTwGraphOpenGLCore::NewTextObj()
|
||||
{
|
||||
return new CTextObj;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::DeleteTextObj(void *_TextObj)
|
||||
{
|
||||
assert(_TextObj!=NULL);
|
||||
delete static_cast<CTextObj *>(_TextObj);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
assert(_TextObj!=NULL);
|
||||
assert(_Font!=NULL);
|
||||
|
||||
if( _Font != m_FontTex )
|
||||
{
|
||||
UnbindFont(m_FontTexID);
|
||||
m_FontTexID = BindFont(_Font);
|
||||
m_FontTex = _Font;
|
||||
}
|
||||
CTextObj *TextObj = static_cast<CTextObj *>(_TextObj);
|
||||
TextObj->m_TextVerts.resize(0);
|
||||
TextObj->m_TextUVs.resize(0);
|
||||
TextObj->m_BgVerts.resize(0);
|
||||
TextObj->m_Colors.resize(0);
|
||||
TextObj->m_BgColors.resize(0);
|
||||
|
||||
int x, x1, y, y1, i, Len;
|
||||
unsigned char ch;
|
||||
const unsigned char *Text;
|
||||
color32 LineColor = COLOR32_RED;
|
||||
for( int Line=0; Line<_NbLines; ++Line )
|
||||
{
|
||||
x = 0;
|
||||
y = Line * (_Font->m_CharHeight+_Sep);
|
||||
y1 = y+_Font->m_CharHeight;
|
||||
Len = (int)_TextLines[Line].length();
|
||||
Text = (const unsigned char *)(_TextLines[Line].c_str());
|
||||
if( _LineColors!=NULL )
|
||||
LineColor = (_LineColors[Line]&0xff00ff00) | GLubyte(_LineColors[Line]>>16) | (GLubyte(_LineColors[Line])<<16);
|
||||
|
||||
for( i=0; i<Len; ++i )
|
||||
{
|
||||
ch = Text[i];
|
||||
x1 = x + _Font->m_CharWidth[ch];
|
||||
|
||||
TextObj->m_TextVerts.push_back(Vec2(x , y ));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x1, y ));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x , y1));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x1, y ));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x1, y1));
|
||||
TextObj->m_TextVerts.push_back(Vec2(x , y1));
|
||||
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU0[ch], _Font->m_CharV0[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU1[ch], _Font->m_CharV0[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU0[ch], _Font->m_CharV1[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU1[ch], _Font->m_CharV0[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU1[ch], _Font->m_CharV1[ch]));
|
||||
TextObj->m_TextUVs.push_back(Vec2(_Font->m_CharU0[ch], _Font->m_CharV1[ch]));
|
||||
|
||||
if( _LineColors!=NULL )
|
||||
{
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
TextObj->m_Colors.push_back(LineColor);
|
||||
}
|
||||
|
||||
x = x1;
|
||||
}
|
||||
if( _BgWidth>0 )
|
||||
{
|
||||
TextObj->m_BgVerts.push_back(Vec2(-1 , y ));
|
||||
TextObj->m_BgVerts.push_back(Vec2(_BgWidth+1, y ));
|
||||
TextObj->m_BgVerts.push_back(Vec2(-1 , y1));
|
||||
TextObj->m_BgVerts.push_back(Vec2(_BgWidth+1, y ));
|
||||
TextObj->m_BgVerts.push_back(Vec2(_BgWidth+1, y1));
|
||||
TextObj->m_BgVerts.push_back(Vec2(-1 , y1));
|
||||
|
||||
if( _LineBgColors!=NULL )
|
||||
{
|
||||
color32 LineBgColor = (_LineBgColors[Line]&0xff00ff00) | GLubyte(_LineBgColors[Line]>>16) | (GLubyte(_LineBgColors[Line])<<16);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
TextObj->m_BgColors.push_back(LineBgColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor)
|
||||
{
|
||||
CHECK_GL_ERROR;
|
||||
assert(m_Drawing==true);
|
||||
assert(_TextObj!=NULL);
|
||||
CTextObj *TextObj = static_cast<CTextObj *>(_TextObj);
|
||||
|
||||
if( TextObj->m_TextVerts.size()<4 && TextObj->m_BgVerts.size()<4 )
|
||||
return; // nothing to draw
|
||||
|
||||
// draw character background triangles
|
||||
if( (_BgColor!=0 || TextObj->m_BgColors.size()==TextObj->m_BgVerts.size()) && TextObj->m_BgVerts.size()>=4 )
|
||||
{
|
||||
size_t numBgVerts = TextObj->m_BgVerts.size();
|
||||
if( numBgVerts > m_TriBufferSize )
|
||||
ResizeTriBuffers(numBgVerts + 2048);
|
||||
|
||||
_glBindVertexArray(m_TriVArray);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriVertices);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, numBgVerts*sizeof(Vec2), &(TextObj->m_BgVerts[0]));
|
||||
_glVertexAttribPointer(0, 2, GL_FLOAT, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(0);
|
||||
_glDisableVertexAttribArray(1);
|
||||
_glDisableVertexAttribArray(2);
|
||||
|
||||
if( TextObj->m_BgColors.size()==TextObj->m_BgVerts.size() && _BgColor==0 )
|
||||
{
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriColors);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, numBgVerts*sizeof(color32), &(TextObj->m_BgColors[0]));
|
||||
_glVertexAttribPointer(1, GL_BGRA, GL_UNSIGNED_BYTE, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(1);
|
||||
|
||||
_glUseProgram(m_TriProgram);
|
||||
_glUniform2f(m_TriLocationOffset, (float)_X, (float)_Y);
|
||||
_glUniform2f(m_TriLocationWndSize, (float)m_WndWidth, (float)m_WndHeight);
|
||||
}
|
||||
else
|
||||
{
|
||||
_glUseProgram(m_TriUniProgram);
|
||||
_glUniform4f(m_TriUniLocationColor, GLfloat((_BgColor>>16)&0xff)/256.0f, GLfloat((_BgColor>>8)&0xff)/256.0f, GLfloat(_BgColor&0xff)/256.0f, GLfloat((_BgColor>>24)&0xff)/256.0f);
|
||||
_glUniform2f(m_TriUniLocationOffset, (float)_X, (float)_Y);
|
||||
_glUniform2f(m_TriUniLocationWndSize, (float)m_WndWidth, (float)m_WndHeight);
|
||||
}
|
||||
|
||||
_glDrawArrays(GL_TRIANGLES, 0, (GLsizei)TextObj->m_BgVerts.size());
|
||||
}
|
||||
|
||||
// draw character triangles
|
||||
if( TextObj->m_TextVerts.size()>=4 )
|
||||
{
|
||||
_glActiveTexture(GL_TEXTURE0);
|
||||
_glBindTexture(GL_TEXTURE_2D, m_FontTexID);
|
||||
size_t numTextVerts = TextObj->m_TextVerts.size();
|
||||
if( numTextVerts > m_TriBufferSize )
|
||||
ResizeTriBuffers(numTextVerts + 2048);
|
||||
|
||||
_glBindVertexArray(m_TriVArray);
|
||||
_glDisableVertexAttribArray(2);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriVertices);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, numTextVerts*sizeof(Vec2), &(TextObj->m_TextVerts[0]));
|
||||
_glVertexAttribPointer(0, 2, GL_FLOAT, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(0);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriUVs);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, numTextVerts*sizeof(Vec2), &(TextObj->m_TextUVs[0]));
|
||||
_glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 0, NULL);
|
||||
_glEnableVertexAttribArray(1);
|
||||
|
||||
if( TextObj->m_Colors.size()==TextObj->m_TextVerts.size() && _Color==0 )
|
||||
{
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriColors);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, numTextVerts*sizeof(color32), &(TextObj->m_Colors[0]));
|
||||
_glVertexAttribPointer(2, GL_BGRA, GL_UNSIGNED_BYTE, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(2);
|
||||
|
||||
_glUseProgram(m_TriTexProgram);
|
||||
_glUniform2f(m_TriTexLocationOffset, (float)_X, (float)_Y);
|
||||
_glUniform2f(m_TriTexLocationWndSize, (float)m_WndWidth, (float)m_WndHeight);
|
||||
_glUniform1i(m_TriTexLocationTexture, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
_glUseProgram(m_TriTexUniProgram);
|
||||
_glUniform4f(m_TriTexUniLocationColor, GLfloat((_Color>>16)&0xff)/256.0f, GLfloat((_Color>>8)&0xff)/256.0f, GLfloat(_Color&0xff)/256.0f, GLfloat((_Color>>24)&0xff)/256.0f);
|
||||
_glUniform2f(m_TriTexUniLocationOffset, (float)_X, (float)_Y);
|
||||
_glUniform2f(m_TriTexUniLocationWndSize, (float)m_WndWidth, (float)m_WndHeight);
|
||||
_glUniform1i(m_TriTexUniLocationTexture, 0);
|
||||
}
|
||||
|
||||
_glDrawArrays(GL_TRIANGLES, 0, (GLsizei)TextObj->m_TextVerts.size());
|
||||
}
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY)
|
||||
{
|
||||
// glViewport impacts the NDC; use glScissor instead
|
||||
m_OffsetX = _X0 + _OffsetX;
|
||||
m_OffsetY = _Y0 + _OffsetY;
|
||||
SetScissor(_X0, _Y0, _Width, _Height);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::RestoreViewport()
|
||||
{
|
||||
m_OffsetX = m_OffsetY = 0;
|
||||
SetScissor(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::SetScissor(int _X0, int _Y0, int _Width, int _Height)
|
||||
{
|
||||
if( _Width>0 && _Height>0 )
|
||||
{
|
||||
_glScissor(_X0-1, m_WndHeight-_Y0-_Height, _Width-1, _Height);
|
||||
_glEnable(GL_SCISSOR_TEST);
|
||||
}
|
||||
else
|
||||
_glDisable(GL_SCISSOR_TEST);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void CTwGraphOpenGLCore::DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode)
|
||||
{
|
||||
assert(m_Drawing==true);
|
||||
|
||||
const GLfloat dx = +0.0f;
|
||||
const GLfloat dy = +0.0f;
|
||||
|
||||
// Backup states
|
||||
GLint prevCullFaceMode, prevFrontFace;
|
||||
_glGetIntegerv(GL_CULL_FACE_MODE, &prevCullFaceMode);
|
||||
_glGetIntegerv(GL_FRONT_FACE, &prevFrontFace);
|
||||
GLboolean prevCullEnable = _glIsEnabled(GL_CULL_FACE);
|
||||
_glCullFace(GL_BACK);
|
||||
_glEnable(GL_CULL_FACE);
|
||||
if( _CullMode==CULL_CW )
|
||||
_glFrontFace(GL_CCW);
|
||||
else if( _CullMode==CULL_CCW )
|
||||
_glFrontFace(GL_CW);
|
||||
else
|
||||
_glDisable(GL_CULL_FACE);
|
||||
|
||||
_glUseProgram(m_TriProgram);
|
||||
_glBindVertexArray(m_TriVArray);
|
||||
_glUniform2f(m_TriLocationOffset, (float)m_OffsetX+dx, (float)m_OffsetY+dy);
|
||||
_glUniform2f(m_TriLocationWndSize, (float)m_WndWidth, (float)m_WndHeight);
|
||||
_glDisableVertexAttribArray(2);
|
||||
|
||||
size_t numVerts = 3*_NumTriangles;
|
||||
if( numVerts > m_TriBufferSize )
|
||||
ResizeTriBuffers(numVerts + 2048);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriVertices);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, numVerts*2*sizeof(int), _Vertices);
|
||||
_glVertexAttribPointer(0, 2, GL_INT, GL_FALSE, 0, NULL);
|
||||
_glEnableVertexAttribArray(0);
|
||||
|
||||
_glBindBuffer(GL_ARRAY_BUFFER, m_TriColors);
|
||||
_glBufferSubData(GL_ARRAY_BUFFER, 0, numVerts*sizeof(color32), _Colors);
|
||||
_glVertexAttribPointer(1, GL_BGRA, GL_UNSIGNED_BYTE, GL_TRUE, 0, NULL);
|
||||
_glEnableVertexAttribArray(1);
|
||||
|
||||
_glDrawArrays(GL_TRIANGLES, 0, (GLsizei)numVerts);
|
||||
|
||||
// Reset states
|
||||
_glCullFace(prevCullFaceMode);
|
||||
_glFrontFace(prevFrontFace);
|
||||
if( prevCullEnable )
|
||||
_glEnable(GL_CULL_FACE);
|
||||
else
|
||||
_glDisable(GL_CULL_FACE);
|
||||
|
||||
CHECK_GL_ERROR;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
121
AntTweakBar/src/TwOpenGLCore.h
Normal file
@@ -0,0 +1,121 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwOpenGLCore.h
|
||||
// @brief OpenGL Core graph functions
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_OPENGL_CORE_INCLUDED
|
||||
#define ANT_TW_OPENGL_CORE_INCLUDED
|
||||
|
||||
#include "TwGraph.h"
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class CTwGraphOpenGLCore : public ITwGraph
|
||||
{
|
||||
public:
|
||||
virtual int Init();
|
||||
virtual int Shut();
|
||||
virtual void BeginDraw(int _WndWidth, int _WndHeight);
|
||||
virtual void EndDraw();
|
||||
virtual bool IsDrawing();
|
||||
virtual void Restore();
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color0, color32 _Color1, bool _AntiAliased=false);
|
||||
virtual void DrawLine(int _X0, int _Y0, int _X1, int _Y1, color32 _Color, bool _AntiAliased=false) { DrawLine(_X0, _Y0, _X1, _Y1, _Color, _Color, _AntiAliased); }
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color00, color32 _Color10, color32 _Color01, color32 _Color11);
|
||||
virtual void DrawRect(int _X0, int _Y0, int _X1, int _Y1, color32 _Color) { DrawRect(_X0, _Y0, _X1, _Y1, _Color, _Color, _Color, _Color); }
|
||||
virtual void DrawTriangles(int _NumTriangles, int *_Vertices, color32 *_Colors, Cull _CullMode);
|
||||
|
||||
virtual void * NewTextObj();
|
||||
virtual void DeleteTextObj(void *_TextObj);
|
||||
virtual void BuildText(void *_TextObj, const std::string *_TextLines, color32 *_LineColors, color32 *_LineBgColors, int _NbLines, const CTexFont *_Font, int _Sep, int _BgWidth);
|
||||
virtual void DrawText(void *_TextObj, int _X, int _Y, color32 _Color, color32 _BgColor);
|
||||
|
||||
virtual void ChangeViewport(int _X0, int _Y0, int _Width, int _Height, int _OffsetX, int _OffsetY);
|
||||
virtual void RestoreViewport();
|
||||
virtual void SetScissor(int _X0, int _Y0, int _Width, int _Height);
|
||||
|
||||
protected:
|
||||
bool m_Drawing;
|
||||
GLuint m_FontTexID;
|
||||
const CTexFont * m_FontTex;
|
||||
|
||||
GLfloat m_PrevLineWidth;
|
||||
GLint m_PrevActiveTexture;
|
||||
GLint m_PrevTexture;
|
||||
GLint m_PrevVArray;
|
||||
GLboolean m_PrevLineSmooth;
|
||||
GLboolean m_PrevCullFace;
|
||||
GLboolean m_PrevDepthTest;
|
||||
GLboolean m_PrevBlend;
|
||||
GLint m_PrevSrcBlend;
|
||||
GLint m_PrevDstBlend;
|
||||
GLboolean m_PrevScissorTest;
|
||||
GLint m_PrevScissorBox[4];
|
||||
GLint m_PrevViewport[4];
|
||||
GLuint m_PrevProgramObject;
|
||||
|
||||
GLuint m_LineRectVS;
|
||||
GLuint m_LineRectFS;
|
||||
GLuint m_LineRectProgram;
|
||||
GLuint m_LineRectVArray;
|
||||
GLuint m_LineRectVertices;
|
||||
GLuint m_LineRectColors;
|
||||
GLuint m_TriVS;
|
||||
GLuint m_TriFS;
|
||||
GLuint m_TriProgram;
|
||||
GLuint m_TriUniVS;
|
||||
GLuint m_TriUniFS;
|
||||
GLuint m_TriUniProgram;
|
||||
GLuint m_TriTexVS;
|
||||
GLuint m_TriTexFS;
|
||||
GLuint m_TriTexProgram;
|
||||
GLuint m_TriTexUniVS;
|
||||
GLuint m_TriTexUniFS;
|
||||
GLuint m_TriTexUniProgram;
|
||||
GLuint m_TriVArray;
|
||||
GLuint m_TriVertices;
|
||||
GLuint m_TriUVs;
|
||||
GLuint m_TriColors;
|
||||
GLint m_TriLocationOffset;
|
||||
GLint m_TriLocationWndSize;
|
||||
GLint m_TriUniLocationOffset;
|
||||
GLint m_TriUniLocationWndSize;
|
||||
GLint m_TriUniLocationColor;
|
||||
GLint m_TriTexLocationOffset;
|
||||
GLint m_TriTexLocationWndSize;
|
||||
GLint m_TriTexLocationTexture;
|
||||
GLint m_TriTexUniLocationOffset;
|
||||
GLint m_TriTexUniLocationWndSize;
|
||||
GLint m_TriTexUniLocationColor;
|
||||
GLint m_TriTexUniLocationTexture;
|
||||
size_t m_TriBufferSize;
|
||||
|
||||
int m_WndWidth;
|
||||
int m_WndHeight;
|
||||
int m_OffsetX;
|
||||
int m_OffsetY;
|
||||
|
||||
struct Vec2 { GLfloat x, y; Vec2(){} Vec2(GLfloat _X, GLfloat _Y):x(_X),y(_Y){} Vec2(int _X, int _Y):x(GLfloat(_X)),y(GLfloat(_Y)){} };
|
||||
struct CTextObj
|
||||
{
|
||||
std::vector<Vec2> m_TextVerts;
|
||||
std::vector<Vec2> m_TextUVs;
|
||||
std::vector<Vec2> m_BgVerts;
|
||||
std::vector<color32>m_Colors;
|
||||
std::vector<color32>m_BgColors;
|
||||
};
|
||||
void ResizeTriBuffers(size_t _NewSize);
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#endif // !defined ANT_TW_OPENGL_CORE_INCLUDED
|
||||
1
AntTweakBar/src/TwPrecomp.cpp
Normal file
@@ -0,0 +1 @@
|
||||
#include "TwPrecomp.h"
|
||||
93
AntTweakBar/src/TwPrecomp.h
Normal file
@@ -0,0 +1,93 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwPrecomp.h
|
||||
// @brief Precompiled header
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#if !defined ANT_TW_PRECOMP_INCLUDED
|
||||
#define ANT_TW_PRECOMP_INCLUDED
|
||||
|
||||
|
||||
#if defined _MSC_VER
|
||||
# pragma warning(disable: 4514) // unreferenced inline function has been removed
|
||||
# pragma warning(disable: 4710) // function not inlined
|
||||
# pragma warning(disable: 4786) // template name truncated
|
||||
# pragma warning(disable: 4530) // exceptions not handled
|
||||
# define _CRT_SECURE_NO_DEPRECATE // visual 8 secure crt warning
|
||||
#endif
|
||||
|
||||
#include <cstdio>
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
#include <cfloat>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include <memory.h>
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER<=1200
|
||||
# pragma warning(push, 3)
|
||||
#endif
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <list>
|
||||
#include <set>
|
||||
#if defined(_MSC_VER) && _MSC_VER<=1200
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#if defined(_UNIX)
|
||||
# define ANT_UNIX
|
||||
# include <X11/cursorfont.h>
|
||||
# define GLX_GLXEXT_LEGACY
|
||||
# include <GL/glx.h>
|
||||
# include <X11/Xatom.h>
|
||||
# include <unistd.h>
|
||||
# include <malloc.h>
|
||||
# undef _WIN32
|
||||
# undef WIN32
|
||||
# undef _WIN64
|
||||
# undef WIN64
|
||||
# undef _WINDOWS
|
||||
# undef ANT_WINDOWS
|
||||
# undef ANT_OSX
|
||||
#elif defined(_MACOSX)
|
||||
# define ANT_OSX
|
||||
# include <unistd.h>
|
||||
# include <Foundation/Foundation.h>
|
||||
# include <AppKit/NSImage.h>
|
||||
# include <AppKit/NSCursor.h>
|
||||
# undef _WIN32
|
||||
# undef WIN32
|
||||
# undef _WIN64
|
||||
# undef WIN64
|
||||
# undef _WINDOWS
|
||||
# undef ANT_WINDOWS
|
||||
# undef ANT_UNIX
|
||||
#elif defined(_WINDOWS) || defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64)
|
||||
# define ANT_WINDOWS
|
||||
# ifndef WIN32_LEAN_AND_MEAN
|
||||
# define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# include <shellapi.h>
|
||||
#endif
|
||||
|
||||
#if !defined(ANT_OGL_HEADER_INCLUDED)
|
||||
# if defined(ANT_OSX)
|
||||
# include <OpenGL/gl.h>
|
||||
# else
|
||||
# include <GL/gl.h> // must be included after windows.h
|
||||
# endif
|
||||
# define ANT_OGL_HEADER_INCLUDED
|
||||
#endif
|
||||
|
||||
#endif // !defined ANT_TW_PRECOMP_INCLUDED
|
||||
46
AntTweakBar/src/d3d10vs2003.h
Normal file
@@ -0,0 +1,46 @@
|
||||
// Workaround to include D3D10.h with VS2003
|
||||
#ifndef __out
|
||||
#define __out
|
||||
#endif
|
||||
#ifndef __in
|
||||
#define __in
|
||||
#endif
|
||||
#ifndef __inout
|
||||
#define __inout
|
||||
#endif
|
||||
#ifndef __in_opt
|
||||
#define __in_opt
|
||||
#endif
|
||||
#ifndef __out_opt
|
||||
#define __out_opt
|
||||
#endif
|
||||
#ifndef __inout_opt
|
||||
#define __inout_opt
|
||||
#endif
|
||||
#ifndef __in_ecount
|
||||
#define __in_ecount(x)
|
||||
#endif
|
||||
#ifndef __in_ecount_opt
|
||||
#define __in_ecount_opt(x)
|
||||
#endif
|
||||
#ifndef __out_ecount
|
||||
#define __out_ecount(x)
|
||||
#endif
|
||||
#ifndef __out_ecount_opt
|
||||
#define __out_ecount_opt(x)
|
||||
#endif
|
||||
#ifndef __inout_ecount
|
||||
#define __inout_ecount(x)
|
||||
#endif
|
||||
#ifndef __inout_ecount_opt
|
||||
#define __inout_ecount_opt(x)
|
||||
#endif
|
||||
#ifndef __in_bcount_opt
|
||||
#define __in_bcount_opt(x)
|
||||
#endif
|
||||
#ifndef __out_bcount_opt
|
||||
#define __out_bcount_opt(x)
|
||||
#endif
|
||||
#ifndef __inout_bcount_opt
|
||||
#define __inout_bcount_opt(x)
|
||||
#endif
|
||||
232
AntTweakBar/src/res/FontChars.txt
Normal file
@@ -0,0 +1,232 @@
|
||||
!"#$%&'()*+,-./0123456789:;<=>?
|
||||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||||
`abcdefghijklmnopqrstuvwxyz{|}~√
|
||||
€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ
|
||||
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿
|
||||
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß
|
||||
àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
|
||||
|
||||
032
|
||||
033 !
|
||||
034 "
|
||||
035 #
|
||||
036 $
|
||||
037 %
|
||||
038 &
|
||||
039 '
|
||||
040 (
|
||||
041 )
|
||||
042 *
|
||||
043 +
|
||||
044 ,
|
||||
045 -
|
||||
046 .
|
||||
047 /
|
||||
048 0
|
||||
049 1
|
||||
050 2
|
||||
051 3
|
||||
052 4
|
||||
053 5
|
||||
054 6
|
||||
055 7
|
||||
056 8
|
||||
057 9
|
||||
058 :
|
||||
059 ;
|
||||
060 <
|
||||
061 =
|
||||
062 >
|
||||
063 ?
|
||||
064 @
|
||||
065 A
|
||||
066 B
|
||||
067 C
|
||||
068 D
|
||||
069 E
|
||||
070 F
|
||||
071 G
|
||||
072 H
|
||||
073 I
|
||||
074 J
|
||||
075 K
|
||||
076 L
|
||||
077 M
|
||||
078 N
|
||||
079 O
|
||||
080 P
|
||||
081 Q
|
||||
082 R
|
||||
083 S
|
||||
084 T
|
||||
085 U
|
||||
086 V
|
||||
087 W
|
||||
088 X
|
||||
089 Y
|
||||
090 Z
|
||||
091 [
|
||||
092 \
|
||||
093 ]
|
||||
094 ^
|
||||
095 _
|
||||
096 `
|
||||
097 a
|
||||
098 b
|
||||
099 c
|
||||
100 d
|
||||
101 e
|
||||
102 f
|
||||
103 g
|
||||
104 h
|
||||
105 i
|
||||
106 j
|
||||
107 k
|
||||
108 l
|
||||
109 m
|
||||
110 n
|
||||
111 o
|
||||
112 p
|
||||
113 q
|
||||
114 r
|
||||
115 s
|
||||
116 t
|
||||
117 u
|
||||
118 v
|
||||
119 w
|
||||
120 x
|
||||
121 y
|
||||
122 z
|
||||
123 {
|
||||
124 |
|
||||
125 }
|
||||
126 ~
|
||||
127 √
|
||||
128 €
|
||||
129
|
||||
130 ‚
|
||||
131 ƒ
|
||||
132 „
|
||||
133 …
|
||||
134 †
|
||||
135 ‡
|
||||
136 ˆ
|
||||
137 ‰
|
||||
138 Š
|
||||
139 ‹
|
||||
140 Œ
|
||||
141
|
||||
142 Ž
|
||||
143
|
||||
144
|
||||
145 ‘
|
||||
146 ’
|
||||
147 “
|
||||
148 ”
|
||||
149 •
|
||||
150 –
|
||||
151 —
|
||||
152 ˜
|
||||
153 ™
|
||||
154 š
|
||||
155 ›
|
||||
156 œ
|
||||
157
|
||||
158 ž
|
||||
159 Ÿ
|
||||
160
|
||||
161 ¡
|
||||
162 ¢
|
||||
163 £
|
||||
164 ¤
|
||||
165 ¥
|
||||
166 ¦
|
||||
167 §
|
||||
168 ¨
|
||||
169 ©
|
||||
170 ª
|
||||
171 «
|
||||
172 ¬
|
||||
173
|
||||
174 ®
|
||||
175 ¯
|
||||
176 °
|
||||
177 ±
|
||||
178 ²
|
||||
179 ³
|
||||
180 ´
|
||||
181 µ
|
||||
182 ¶
|
||||
183 ·
|
||||
184 ¸
|
||||
185 ¹
|
||||
186 º
|
||||
187 »
|
||||
188 ¼
|
||||
189 ½
|
||||
190 ¾
|
||||
191 ¿
|
||||
192 À
|
||||
193 Á
|
||||
194 Â
|
||||
195 Ã
|
||||
196 Ä
|
||||
197 Å
|
||||
198 Æ
|
||||
199 Ç
|
||||
200 È
|
||||
201 É
|
||||
202 Ê
|
||||
203 Ë
|
||||
204 Ì
|
||||
205 Í
|
||||
206 Î
|
||||
207 Ï
|
||||
208 Ð
|
||||
209 Ñ
|
||||
210 Ò
|
||||
211 Ó
|
||||
212 Ô
|
||||
213 Õ
|
||||
214 Ö
|
||||
215 ×
|
||||
216 Ø
|
||||
217 Ù
|
||||
218 Ú
|
||||
219 Û
|
||||
220 Ü
|
||||
221 Ý
|
||||
222 Þ
|
||||
223 ß
|
||||
224 à
|
||||
225 á
|
||||
226 â
|
||||
227 ã
|
||||
228 ä
|
||||
229 å
|
||||
230 æ
|
||||
231 ç
|
||||
232 è
|
||||
233 é
|
||||
234 ê
|
||||
235 ë
|
||||
236 ì
|
||||
237 í
|
||||
238 î
|
||||
239 ï
|
||||
240 ð
|
||||
241 ñ
|
||||
242 ò
|
||||
243 ó
|
||||
244 ô
|
||||
245 õ
|
||||
246 ö
|
||||
247 ÷
|
||||
248 ø
|
||||
249 ù
|
||||
250 ú
|
||||
251 û
|
||||
252 ü
|
||||
253 ý
|
||||
254 þ
|
||||
255 ÿ
|
||||
28788
AntTweakBar/src/res/FontFixed1.pgm
Normal file
1197
AntTweakBar/src/res/FontLargeAA.pgm
Normal file
895
AntTweakBar/src/res/FontNormal.pgm
Normal file
@@ -0,0 +1,895 @@
|
||||
P2
|
||||
# Created by Paint Shop Pro
|
||||
253 106
|
||||
255
|
||||
127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 255
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0
|
||||
0 255 0 255 0 0 0 0 0 255 0 0 0 0 255 255 0 0 0 0 255 0 0 0 0 0 255 255
|
||||
255 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255 0 255 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 0 0 0 0 0
|
||||
255 0 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0 255 0 0 255
|
||||
255 255 255 255 255 0 0 0 255 255 255 0 0 255 255 255 255 255 255 0 0 255
|
||||
255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 127 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 255 255
|
||||
255 0 0 255 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 255 255 255 0 0 0 255 0 0 0 0 255 0
|
||||
255 0 0 0 0 255 0 0 0 0 255 255 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255
|
||||
0 0 255 0 255 0 255 0 255 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 255 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 255 0 0 255 0 255 0 255 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 255 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 255 0 0 255 0 0 255 0 0 255 255 255 255 255 0 0 255 255
|
||||
255 255 255 0 0 0 0 0 0 255 0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255
|
||||
0 0 0 255 0 0 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 0 0 0 0 255
|
||||
255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 0 255 255 0 0 0 0 255 255 0 0 255 0 0
|
||||
255 255 0 0 0 255 255 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0
|
||||
255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 255 255 0 0 255 0 0 0 255
|
||||
0 0 0 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 255 255 255
|
||||
0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 255 255 0
|
||||
0 0 0 0 0 0 255 0 255 0 0 255 0 255 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 255 255
|
||||
255 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 255
|
||||
0 0 0 0 0 0 0 0 255 0 255 255 255 255 255 255 0 0 0 0 0 0 255 0 255 0 0
|
||||
0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 255 255 255 255 255 0 0 0
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0
|
||||
0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 255 0 0 255
|
||||
0 255 0 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0
|
||||
0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0
|
||||
0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 255 0 255 0 0 0 0 0 255 0 255 0 255 0 0 0 0 0 255 0 0 255 0 0 255 0 255
|
||||
0 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 0
|
||||
255 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0
|
||||
255 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0
|
||||
0 0 255 0 0 0 255 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 0 255 0 255 0 0 0 0 0 0 255 255 255 0 0 0 0 0 255 0 0 0 0 255 255
|
||||
0 0 0 255 255 255 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 255 255
|
||||
255 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255
|
||||
255 0 0 0 0 0 0 255 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 255
|
||||
0 0 0 0 0 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 255 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 127 127 0
|
||||
127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 127 0 127 127 127 0 127 127 127 0 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 0 127 127 127
|
||||
127 0 127 127 127 0 127 127 127 127 0 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 0 127 127 0 127 127 127 127 0 127 127 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 0 0 0 0 0 255 255 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 255
|
||||
255 255 255 0 0 0 0 0 0 0 255 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255
|
||||
255 255 0 255 255 255 255 255 0 0 0 255 255 255 255 255 255 0 255 255 255
|
||||
255 255 0 0 0 255 255 255 255 0 0 255 0 0 0 0 0 255 0 255 255 255 0 0 255
|
||||
255 255 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 255 0 0 0 0 255 255 0 255
|
||||
255 0 0 0 0 255 0 0 0 255 255 255 255 0 0 0 255 255 255 255 255 0 0 0 0
|
||||
255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 0 0 255 255
|
||||
255 255 255 255 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 255 255 255
|
||||
255 255 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 255 255 0 0 0 0 255 255 0 0
|
||||
0 0 255 0 255 0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0
|
||||
0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 0
|
||||
0 255 0 0 0 0 0 255 0 255 0 0 0 255 0 0 255 0 0 0 0 0 255 255 0 0 0 0 255
|
||||
255 0 255 255 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 255
|
||||
0 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 255 0 0 255
|
||||
0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0
|
||||
0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 127 0 255 0 255 255 255 255 0 255 0 0 0 0 255 0 255 0 0 0 255 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 255 0 0
|
||||
255 0 0 0 255 0 0 0 0 0 255 0 255 0 0 255 0 255 0 255 0 255 0 0 0 255 0
|
||||
255 0 0 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0
|
||||
255 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0
|
||||
0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 0
|
||||
255 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 255 0 0
|
||||
0 255 0 0 255 0 0 0 255 0 255 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 255 0 0 255 0 0 0 0 0 255 0 255 0 255 0 0 0 0 255 0 0 0 0 0 255 0
|
||||
255 0 0 255 0 255 0 255 0 255 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0
|
||||
255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 255 0 0 0 255 0 0 255 0 255
|
||||
0 0 255 0 0 0 0 255 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 255 0 0 0 255 0 0 255 0 0 255 0 0 0 255
|
||||
0 0 255 255 255 255 255 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 255 255
|
||||
255 255 255 255 0 255 255 255 255 255 0 255 0 0 0 255 255 255 0 255 255
|
||||
255 255 255 255 255 0 0 255 0 0 0 0 0 255 0 255 255 0 0 0 0 0 255 0 0 0
|
||||
0 0 255 0 255 0 0 255 0 255 0 255 0 0 255 0 0 255 0 255 0 0 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 255 255 255 0 0 0 0 255 255
|
||||
255 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 255 0 0 0
|
||||
255 0 0 255 0 255 0 0 255 0 0 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 255 0 0 0 255 0 0 255 0 0 255
|
||||
0 0 0 255 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 255
|
||||
0 0 0 0 0 255 0 255 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 255 0 0 255
|
||||
0 255 0 0 0 255 0 255 0 255 0 0 0 0 0 0 255 0 255 255 255 255 255 0 0 255
|
||||
0 0 0 0 0 0 255 0 255 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 0
|
||||
255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0
|
||||
0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 127 255 0 255 0 0 0 255 0 0 255 0 0 255 255 255 255 255 0 0 255 0 0 0
|
||||
0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 255 0 0
|
||||
255 0 0 0 255 0 0 0 0 0 255 0 0 255 255 0 0 255 0 255 0 0 0 255 0 255 0
|
||||
255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 255 0 0 0 255
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 255 0 0 0 255 255 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 255 0 255 255 255 255
|
||||
255 255 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0
|
||||
0 0 0 255 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0
|
||||
0 0 0 255 0 0 255 0 0 0 0 0 255 0 255 0 0 0 255 0 0 255 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 255 255 0 0 255 0 0 0 0 255 0 0 255 0 0 0 0
|
||||
0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0
|
||||
0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 0 255 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 255 255 255
|
||||
255 255 0 0 0 0 255 255 255 255 0 255 255 255 255 255 0 0 0 255 255 255
|
||||
255 255 255 0 255 0 0 0 0 0 0 0 255 255 255 255 255 0 255 0 0 0 0 0 255
|
||||
0 255 255 255 0 255 255 255 0 0 255 0 0 0 0 255 0 255 255 255 255 255 0
|
||||
255 0 0 0 0 0 0 255 0 255 0 0 0 0 255 255 0 0 0 255 255 255 255 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 255 0 0 0 0 255 0 0 255 255 255 255
|
||||
0 0 0 0 0 255 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 255 255 255 255
|
||||
255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 255 255 255 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 255 0 0
|
||||
255 255 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 127 127 127 127 127 127 127 127 127 127 0 127 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127
|
||||
0 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
127 0 127 127 127 127 127 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127
|
||||
127 0 127 127 127 127 0 127 127 127 127 0 127 127 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 255
|
||||
0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 127 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 255 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 255 255 255 0 0 255 0 255 255
|
||||
255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0
|
||||
0 255 255 255 255 0 255 255 255 255 255 0 255 0 255 255 255 0 0 255 0 255
|
||||
255 0 255 0 0 0 255 0 255 0 255 255 255 255 0 255 255 255 0 0 255 0 255
|
||||
255 255 0 0 0 255 255 255 255 0 0 255 0 255 255 255 0 0 0 255 255 255 255
|
||||
255 0 255 0 255 0 0 255 255 255 0 255 255 255 255 0 255 0 0 0 0 255 0 255
|
||||
0 0 0 255 0 255 0 0 0 255 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 255
|
||||
255 255 255 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 255 255 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 0 255 0 0 255 0 0 0 0 255 0 255 255 0 0 0 255 0 255 0 0 255
|
||||
0 255 0 0 255 0 0 255 0 255 0 0 0 255 0 0 0 255 0 255 255 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 255 255 0 0 0 255 0 255 0 0 0 0 255 0 255 255 0 0 255 0 0
|
||||
0 0 0 255 0 0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 0 0 255
|
||||
0 0 255 0 255 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 0 255 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 255 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 0 255 0 0 255 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0
|
||||
0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0
|
||||
0 0 255 0 255 0 0 0 255 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 255 0 255
|
||||
0 0 0 255 0 255 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 255 0 0 0 255 0 0 0
|
||||
255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0
|
||||
0 255 255 255 255 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 255 0 255
|
||||
255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255
|
||||
0 0 255 0 255 255 0 0 0 0 255 0 255 0 0 0 255 0 0 0 255 0 255 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255
|
||||
255 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 255 0 255 0 0 0 255 0 255 0 255
|
||||
0 255 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 0 0 255 255 0 0 0 0 0 0
|
||||
255 0 0 0 0 0 255 255 0 0 255 0 0 255 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 255 0 0 0 255 0 255 0
|
||||
0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 0 255 0 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 255 0 255 0 255 0 0 0 255 0 255
|
||||
0 0 0 255 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 255 0 0 0 255 0 0 0 0 255 0
|
||||
0 255 0 255 0 0 0 255 0 255 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 255
|
||||
0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 255
|
||||
255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 255
|
||||
255 0 255 0 0 0 0 255 0 0 255 0 0 255 0 0 0 255 255 0 255 0 0 0 0 255 0
|
||||
255 0 0 255 0 255 0 0 255 0 0 255 0 255 0 0 0 255 0 0 0 255 0 255 0 0 0
|
||||
0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 255 255 0 255 0 0
|
||||
0 0 0 0 255 0 0 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 0 0 255 0 0
|
||||
0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 255 255 255 255 0 255 255
|
||||
255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 0 255 0 0 255 255 255
|
||||
255 0 0 0 255 0 0 0 255 255 255 0 255 0 255 0 0 0 0 255 0 255 0 0 255 0
|
||||
255 0 0 0 255 0 255 0 255 0 0 0 255 0 0 0 255 0 255 0 0 0 0 255 0 0 255
|
||||
255 255 255 0 0 255 255 255 255 255 0 0 0 255 255 255 0 255 0 255 0 0 0
|
||||
255 255 255 0 0 0 0 255 255 0 0 255 255 255 0 255 0 0 0 255 0 0 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 255 255 255 0 0 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255
|
||||
255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0
|
||||
255 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 127 127 127 0 127 127 127 127 127 0
|
||||
127 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 0 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 0 127 127 0 127 127 127 127 127 0 127 0 127 127
|
||||
127 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127
|
||||
0 127 127 127 127 0 127 127 127 127 0 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 0 127 127 127 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
0 127 127 127 127 127 0 127 127 127 127 0 127 127 127 127 127 0 127 127
|
||||
127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 255 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 255 0 255
|
||||
0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 127 0 0 255
|
||||
255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 255
|
||||
255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0
|
||||
255 0 0 255 0 0 0 255 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255
|
||||
0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255
|
||||
255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 255 255 255 255
|
||||
255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 255 0 0
|
||||
0 255 0 255 0 255 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 255 255 0 0 0 255 255 255 0 255 0 0 0 255 0 0 255 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255
|
||||
255 0 0 255 255 0 0 255 0 0 0 0 0 255 0 127 0 255 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 255 0 0 255 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0
|
||||
0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 255 0 255 0 0 0 255 0 255 0 255 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 0 0 255 255 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 127 255 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255
|
||||
0 255 0 255 0 0 255 255 255 0 0 255 0 0 0 0 255 255 255 255 0 255 255 255
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 255 0 255 255 255 255 0 0 255 0 0 0 255 0 0 127
|
||||
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255
|
||||
0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 255 0 0
|
||||
0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 255 0 255
|
||||
0 0 0 127 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 255
|
||||
255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 255 255 0 0 255 0 0 255 255 0 0 0 255 255 0 0 0 255 255
|
||||
255 255 0 0 0 255 0 0 0 255 0 0 0 0 0 255 255 255 255 255 0 0 0 255 0 0
|
||||
0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0
|
||||
0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255
|
||||
0 0 0 255 0 0 0 0 0 255 0 0 0 0 127 255 255 255 255 255 255 0 0 0 255 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255
|
||||
0 0 255 0 255 0 0 255 0 0 0 0 0 0 255 0 0 255 0 0 0 255 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 255 255 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255
|
||||
255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 255 255 255 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 255 0
|
||||
0 0 0 0 0 255 0 0 0 0 127 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 255 0 0 255 0 0 0
|
||||
0 0 0 255 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 255 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255
|
||||
0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0
|
||||
0 0 255 0 0 0 0 127 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 255 0
|
||||
0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 255 0 0 255 0 255
|
||||
0 0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0
|
||||
0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 255 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 127 0 0 255 255 255 255 0 0 0 255 255 255 255 255 255 255
|
||||
255 255 0 0 255 0 0 0 255 0 0 0 0 0 255 0 255 0 0 255 0 0 255 0 0 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 255 0
|
||||
0 0 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 255 255 255 255 255
|
||||
255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 255 255 255
|
||||
255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255
|
||||
255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 255 0 0 0 0 0 0 0 0 255 255 255 255 0 255 255 255 255 0 0 0 255 255
|
||||
255 255 255 255 255 255 255 0 255 255 255 255 0 0 0 0 255 0 0 0 0 127 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127
|
||||
127 127 127 0 127 127 0 127 127 127 127 127 127 0 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127
|
||||
127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 127 127 127
|
||||
127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127
|
||||
127 0 127 127 127 127 127 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 127 127 127 127 0 127 127 127 127 127 127 127 127 127 127 127 0
|
||||
127 127 0 127 127 0 127 127 127 127 0 127 127 127 127 0 127 127 127 127
|
||||
0 127 127 127 127 127 0 127 127 127 127 127 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 127 127 127 127 0 127 127
|
||||
127 127 0 127 127 127 127 0 127 127 127 127 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 127 127 127 127 0 127 127 127 127 0 127 127 127
|
||||
127 127 127 127 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 255 0 0 0
|
||||
0 0 255 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0
|
||||
255 0 0 0 0 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 255 255 255 255 0
|
||||
0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 255 0 0 0 255 255 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255
|
||||
255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 255 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 255
|
||||
255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
|
||||
0 0 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
|
||||
255 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 255 255 0 0 0 255 0 0 0 0 0 0 255 255 0 0 0 0 255 0 0 0 0
|
||||
0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 127 0 0 0 0 0 255 0 0 0 0 255 255 255 255 0 0 255 0 0 0 0
|
||||
0 255 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 0 255 255 0 0 255 0 0 0 0 255 255 255 0 0 0 255 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 0 0 255 0 0 0 0 0 0 0 0
|
||||
0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 255 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 255 0 255 255 255 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 0 0 255 0 0 0 255 0 255 0 0 255 0 0 0 0 0 255 0 0 0 255 0 0 0
|
||||
0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 255 0 0 0 255 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 255 0 0
|
||||
0 255 0 255 0 0 0 0 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 255 0 255 0
|
||||
0 0 0 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 0 255
|
||||
0 0 255 0 0 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255
|
||||
0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 255 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 255 255 255 255 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 255 0 0
|
||||
0 0 255 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 255 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0
|
||||
0 0 0 255 0 0 255 0 0 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 0 0 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255
|
||||
255 255 255 0 0 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 255 0
|
||||
0 0 0 255 0 0 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255
|
||||
0 255 0 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 255 255 0 0 0 0
|
||||
255 0 0 255 0 255 255 255 0 0 0 0 0 0 255 0 255 0 0 255 255 0 0 0 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 255 0 0
|
||||
0 255 0 255 0 0 0 255 255 255 255 255 0 0 0 255 0 0 255 0 0 0 255 255 255
|
||||
255 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0
|
||||
0 255 0 0 0 255 255 255 0 255 0 0 255 0 0 0 0 255 255 255 255 255 255 255
|
||||
0 255 255 255 0 255 0 0 255 255 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0
|
||||
0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 255 0 0 0 0
|
||||
255 0 0 255 255 255 0 255 0 0 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0
|
||||
255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 255 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 255
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 255 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 255 0 0 255 0 0 0 0 0
|
||||
0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 255 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0
|
||||
0 255 255 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 255 0 0 0 0 0 0 0 0 0
|
||||
0 255 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 255 0 0 0 255 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 255 0 0 0 0 255 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 255 0 0 255
|
||||
255 255 255 255 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 255 255 255
|
||||
255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 0 255 0 0 0 0 255 255 255 255 0 255 255 255 255 255 255 0 0 0 0
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255
|
||||
255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 255 0 0 0
|
||||
0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 255 255 255 255 0 0 0 0 255
|
||||
0 0 0 0 0 0 255 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255
|
||||
255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 255 255
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
127 127 0 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 0
|
||||
127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 127 0 127 127 127 0 127 127 127 127 127 127 127
|
||||
127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127
|
||||
127 0 127 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 127 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 255
|
||||
0 0 0 0 0 255 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 255 255 0
|
||||
0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 255 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255
|
||||
255 0 0 0 0 0 0 0 255 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 255 0 0 0
|
||||
255 0 255 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 255 0
|
||||
0 0 255 0 0 255 0 0 0 255 0 0 0 255 0 0 255 0 0 255 255 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 255 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 255 0 0 255 0 0 0 0 0 255 0 255 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255
|
||||
0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 255 0 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 255 255
|
||||
255 255 255 255 0 255 255 255 255 255 255 0 255 255 255 255 255 255 0 255
|
||||
255 255 255 255 255 0 255 255 255 0 255 255 255 0 255 255 255 0 255 255
|
||||
255 0 0 255 255 255 255 0 0 0 255 255 0 0 0 0 255 0 0 0 255 255 255 255
|
||||
0 0 0 0 0 255 255 255 255 0 0 0 0 0 255 255 255 255 0 0 0 0 0 255 255 255
|
||||
255 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255
|
||||
0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 127 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0
|
||||
255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
0 0 0 255 0 0 255 255 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0
|
||||
255 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 255 0 0 0 255 0 0 255
|
||||
0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 127 0 0 255 0 255 0 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0
|
||||
255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 255 0 255 0 255 0 0 0 255 0 255
|
||||
0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 255
|
||||
0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 255 0 0 255 0 0 0 255 0 0 255 255 255 255 255 0 0 255 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 127 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0
|
||||
255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0
|
||||
0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0
|
||||
0 255 0 0 0 0 255 0 255 0 255 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0
|
||||
0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0
|
||||
0 255 0 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 255 0 0 0 0 0 255
|
||||
0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 255 0
|
||||
255 0 0 0 255 0 0 0 0 255 0 255 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 127 0
|
||||
255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 255 255 255 255
|
||||
255 0 255 0 0 0 0 0 0 255 255 255 255 255 255 0 255 255 255 255 255 255
|
||||
0 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 0 0 0 255 0
|
||||
0 0 255 0 0 0 255 0 0 255 255 255 255 0 0 255 0 255 0 0 255 0 0 255 0 255
|
||||
0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 0 255 0 0
|
||||
0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 127 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0
|
||||
255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
255 255 255 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0
|
||||
0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 255 0 255 0 0 0 0 0 0 255 0 255 0
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 255 0 255 0 0 0 0 0 255
|
||||
0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 127 0 255
|
||||
255 255 255 255 0 0 0 255 255 255 255 255 0 0 0 255 255 255 255 255 0 0
|
||||
0 255 255 255 255 255 0 0 0 255 255 255 255 255 0 0 0 255 255 255 255 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
0 0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 255 0 255 0 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 0
|
||||
255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0
|
||||
255 0 0 0 0 255 255 255 255 255 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
127 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0
|
||||
0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 255 0 0 0 255 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0
|
||||
255 0 0 0 0 255 255 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0
|
||||
0 255 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0
|
||||
0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0
|
||||
0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 127 255 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 255 0
|
||||
255 255 255 255 255 255 0 255 255 255 255 255 255 0 255 255 255 255 255
|
||||
255 0 255 255 255 255 255 255 0 255 255 255 0 255 255 255 0 255 255 255
|
||||
0 255 255 255 0 0 255 255 255 255 0 0 0 255 0 0 0 0 255 255 0 0 0 255 255
|
||||
255 255 0 0 0 0 0 255 255 255 255 0 0 0 0 0 255 255 255 255 0 0 0 0 0 255
|
||||
255 255 255 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
|
||||
255 255 255 0 0 0 0 0 255 255 255 0 0 0 0 0 255 255 255 0 0 0 0 0 255 255
|
||||
255 0 0 0 0 0 255 255 255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0
|
||||
255 255 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 127 127 127 127
|
||||
127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 0 127 127 127 0 127 127 127 0 127 127
|
||||
127 0 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
127 0 127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127
|
||||
127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127
|
||||
127 127 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 255 0 0 0 0 0 0 255 0 0
|
||||
0 0 255 255 0 0 0 255 255 0 255 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 255 255 0 0
|
||||
0 0 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0
|
||||
255 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 255 0 0 0 0 0 255 255 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 255 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 255 0 255 0 255 255 0 0 0 255 0 0 255 0 0 255 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0
|
||||
0 255 0 0 255 0 0 0 255 0 255 0 255 0 255 255 0 255 0 0 255 0 255 0 0 0
|
||||
255 0 255 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 255
|
||||
0 255 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 0 0 0 0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 255 0
|
||||
0 0 255 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
127 0 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255
|
||||
0 0 0 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 0 0 255 255 0 0 0
|
||||
0 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 255 255
|
||||
255 255 0 0 0 255 255 255 255 0 0 0 255 0 255 0 0 255 0 0 255 0 0 255 255
|
||||
0 255 0 0 255 0 255 255 255 0 0 0 255 255 255 255 0 0 0 255 255 255 255
|
||||
0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0
|
||||
0 0 0 255 0 0 0 0 0 0 255 255 255 255 0 0 255 0 0 0 0 255 0 255 0 0 0 0
|
||||
255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 255 0 255 0 255 255
|
||||
255 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 255 0 0 0 0 0
|
||||
255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255
|
||||
255 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0
|
||||
0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 255 0 0 255 0 0 255 0 0 0 0 0 0 255
|
||||
0 255 255 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 255
|
||||
0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255
|
||||
0 255 0 0 0 255 0 255 255 0 0 0 255 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 127 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0
|
||||
255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0
|
||||
255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 255
|
||||
0 0 255 0 0 255 0 0 255 255 255 255 255 0 255 0 0 0 0 255 0 255 0 0 0 0
|
||||
255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 255 0 255 0 0 0 0 255 0 255 0 0
|
||||
0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0
|
||||
0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 255 255 255 255 0 0
|
||||
255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255
|
||||
255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 255 0
|
||||
0 0 0 0 255 255 255 255 255 255 0 255 255 255 255 255 255 0 255 255 255
|
||||
255 255 255 0 255 255 255 255 255 255 0 0 255 0 255 0 0 255 0 0 255 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 255 255 255 255
|
||||
255 255 0 255 0 0 255 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 0 255 0 0 255
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 0 0 255 0 255 0 0 0 255 0 255
|
||||
0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 255 0 255 0 0 255 0 0 255 0 255 0 0 0 0 255 0 255 0
|
||||
0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0
|
||||
0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255
|
||||
0 255 0 0 255 0 0 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255
|
||||
0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255
|
||||
0 255 0 0 0 255 0 255 0 0 0 255 255 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0
|
||||
0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 255
|
||||
0 0 255 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0
|
||||
255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0
|
||||
0 0 0 0 255 0 0 0 0 0 255 0 0 0 255 0 0 255 0 0 0 255 255 0 255 0 0 0 255
|
||||
255 0 255 0 0 0 255 255 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 0 0 0 0
|
||||
255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 255 255 255 255 0 0 255
|
||||
255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255
|
||||
0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0 0 0 255 255 255 255
|
||||
0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 255
|
||||
255 255 255 0 0 0 255 0 255 0 0 255 0 0 255 0 0 255 255 255 255 0 0 255
|
||||
0 0 0 0 255 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 255 255 255
|
||||
255 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 255 255 255 255 0 0 0 0 255 255 255 0 255 0 0 255 255 255 0 255 0 0 255
|
||||
255 255 0 255 0 0 255 255 255 0 255 0 0 0 255 0 0 0 255 255 255 255 255
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127
|
||||
127 127 0 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
0 127 127 0 127 0 127 127 0 127 127 0 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1012
AntTweakBar/src/res/FontNormalAA.pgm
Normal file
603
AntTweakBar/src/res/FontSmall.pgm
Normal file
@@ -0,0 +1,603 @@
|
||||
P2
|
||||
# Created by Paint Shop Pro
|
||||
211 84
|
||||
255
|
||||
127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0
|
||||
0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 0 0 0 255 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 255 0 255 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 0 0 255 255 0 0
|
||||
0 255 0 0 0 0 255 255 0 0 0 255 0 0 255 0 0 255 0 0 255 0 255 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 255 0 0 255 255
|
||||
255 0 0 255 255 255 0 0 0 0 0 255 0 255 255 255 255 0 0 255 255 0 0 255
|
||||
255 255 255 0 0 255 255 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 127 0 0 0 0 255 0 255 0 255 0 0 0 255 0 0 255 0 0 255 255 255 255
|
||||
0 255 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 255 0 255 0 0 0 0 255 0 0 255
|
||||
255 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 255
|
||||
255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 255 255 0 255 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 255 0 255 0 0 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 255 0 0 0 0 0 0 255 255 255 255 255 255 255 0 255 0 0 0 255 0 0
|
||||
255 0 255 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 255 0 255 0 255 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 0 255 0 0 0
|
||||
0 0 255 0 0 0 0 255 0 0 255 0 255 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0
|
||||
255 0 0 255 0 255 0 0 255 0 0 255 0 0 255 0 0 0 0 0 255 255 0 0 0 0 0 0
|
||||
0 0 0 255 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
127 0 0 0 0 255 0 0 0 0 0 0 0 255 0 255 0 0 0 255 255 0 0 0 0 255 255 0
|
||||
255 0 255 255 0 0 0 255 255 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0
|
||||
0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 0 255
|
||||
0 0 0 0 255 0 0 0 255 255 0 0 255 0 0 255 0 255 255 255 0 0 255 255 255
|
||||
0 0 0 0 255 0 0 0 255 255 0 0 0 255 255 255 0 0 255 0 0 255 0 0 0 255 255
|
||||
0 0 0 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 255 0 0 0 0 0 255 255 255 255 255
|
||||
255 0 0 0 255 255 0 0 0 0 0 255 0 255 0 0 255 0 255 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 255 0 0 0 0 0 255 0
|
||||
0 255 0 0 255 0 0 255 0 0 0 255 0 0 0 0 0 0 255 0 255 255 255 255 255 0
|
||||
0 0 255 0 255 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0
|
||||
255 0 255 0 0 0 0 255 0 255 0 0 255 0 255 0 0 255 255 0 0 0 255 0 0 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 255 0
|
||||
0 255 0 0 255 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 255 0
|
||||
0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 255 0 0 255 0 0 255 0 0 0 255 255
|
||||
0 0 0 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 255 0 0 0 0 0 0 255 0 0 255 0 0 255
|
||||
255 255 255 0 0 0 0 255 0 0 0 255 255 0 0 0 255 255 0 0 255 0 0 255 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 255
|
||||
255 0 0 255 255 255 0 255 255 255 255 0 255 255 255 0 0 0 0 0 255 0 255
|
||||
255 255 0 0 0 255 255 0 0 255 0 0 0 0 0 255 255 0 0 0 255 255 0 0 0 255
|
||||
0 0 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 127 0 127 0 127 127 127
|
||||
0 127 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
127 127 127 0 127 127 127 127 127 0 127 0 127 127 0 127 127 127 0 127 127
|
||||
127 127 127 0 127 127 127 127 127 127 0 127 127 0 127 127 127 0 127 0 127
|
||||
127 127 0 127 127 127 127 0 127 127 127 0 127 127 127 127 0 127 127 127
|
||||
127 0 127 127 127 127 0 127 127 127 127 0 127 127 127 127 0 127 127 127
|
||||
127 0 127 127 127 127 0 127 127 127 127 0 127 127 0 127 127 0 127 127 127
|
||||
127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127
|
||||
127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 0 0 0 255 255 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 255 255 255 0 0 0 0 0
|
||||
255 255 0 0 0 255 255 255 0 0 0 0 0 255 255 255 0 0 255 255 255 255 0 0
|
||||
0 255 255 255 255 255 0 255 255 255 255 255 0 0 0 255 255 255 0 0 255 0
|
||||
0 0 0 255 0 255 255 255 0 0 255 255 0 255 0 0 0 255 0 255 0 0 0 255 255
|
||||
0 0 0 255 255 0 255 0 0 0 0 255 0 0 0 255 255 255 0 0 0 255 255 255 255
|
||||
0 0 0 0 255 255 255 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 255 255
|
||||
255 255 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 255 0 0 255 0
|
||||
255 0 0 255 0 255 0 0 0 255 0 255 255 255 255 0 255 0 0 255 0 0 0 0 255
|
||||
0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 255 0
|
||||
0 0 255 0 0 0 0 255 255 0 0 0 255 0 0 255 0 0 0 255 0 0 0 255 0 255 0 0
|
||||
0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 255
|
||||
0 0 255 0 0 0 0 255 0 255 0 0 255 0 0 255 0 0 0 255 255 0 0 0 255 255 0
|
||||
255 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255
|
||||
0 0 255 0 0 0 255 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 255 0
|
||||
0 0 0 255 0 255 0 0 255 0 0 255 0 255 0 0 255 0 0 255 0 255 0 0 0 0 0 255
|
||||
0 255 0 0 0 255 0 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 127 255 0 0 255 255 0 255 0 0 255 0 0 255 0 0 255 0 0 255
|
||||
0 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 255 0 0 0 0 255 0 0 255 0 0 0 0 255 0 255 0 255 0 0 0 255 0 0
|
||||
0 255 0 255 0 255 0 255 0 255 0 255 0 0 255 0 255 0 0 0 0 0 255 0 255 0
|
||||
0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 0 0 0 0 255 0 0
|
||||
0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 255 0 255 0 255 0 0 255 255
|
||||
0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 0 255 0 0 0 255 0 255 0 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 255 0 255 0 255
|
||||
0 0 255 0 0 255 0 0 255 255 255 255 0 0 255 0 0 0 0 0 0 255 0 0 0 0 255
|
||||
0 255 255 255 255 0 0 255 255 255 255 0 0 255 0 0 255 255 255 0 255 255
|
||||
255 255 255 255 0 0 255 0 0 0 0 255 0 255 255 0 0 0 0 255 0 0 0 255 0 255
|
||||
0 255 0 255 0 255 0 0 255 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 255 0 0 0 255
|
||||
0 0 0 0 255 0 0 255 0 0 255 0 0 255 0 255 0 255 0 255 0 0 255 255 0 0 0
|
||||
0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 255 0 255 0 255 0 255 255 255
|
||||
255 255 255 0 255 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0
|
||||
0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 0 0 255
|
||||
0 255 0 255 0 0 0 255 0 0 0 255 0 0 255 0 0 255 0 255 0 0 0 255 255 0 255
|
||||
0 0 0 0 0 255 0 255 255 255 255 0 0 255 0 0 0 0 0 255 0 255 0 255 0 0 0
|
||||
0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 255 0 0 255 0 0 255 0 255
|
||||
0 255 0 255 0 0 255 255 0 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255
|
||||
0 0 255 255 255 0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 0 255 0 0 0 255 0
|
||||
255 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0
|
||||
0 0 255 0 0 255 0 0 0 0 255 0 255 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0
|
||||
255 0 255 0 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 0 0 255 0 0 0 255
|
||||
0 0 255 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0 255
|
||||
255 0 0 0 0 255 0 0 0 255 0 0 255 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 127 0 255 0 0 0 0 0 0 255 0 0 0 0 255 0 255 255 255 255 0 0 0 0 255
|
||||
255 255 0 0 255 255 255 255 0 0 0 255 255 255 255 255 0 255 0 0 0 0 0 0
|
||||
0 255 255 255 255 0 255 0 0 0 0 255 0 255 255 255 0 255 255 0 0 255 0 0
|
||||
0 255 0 255 255 255 255 255 0 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 255 255
|
||||
255 0 0 0 255 0 0 0 0 0 0 0 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255
|
||||
255 0 0 0 0 255 0 0 0 0 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 0 0
|
||||
0 255 0 0 255 0 0 255 0 0 0 255 0 0 0 255 255 255 255 0 255 0 0 0 0 255
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0
|
||||
0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0
|
||||
0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
|
||||
0 0 0 0 0 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127
|
||||
0 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 0
|
||||
127 127 127 127 127 127 0 127 127 127 0 127 127 127 0 127 127 127 127 127
|
||||
0 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 0
|
||||
127 127 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127
|
||||
0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 0 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 0 127
|
||||
127 0 127 127 127 0 127 127 0 127 127 127 127 127 0 127 127 127 127 127
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 255 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 255 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0
|
||||
255 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 4 4
|
||||
4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0
|
||||
0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 4 4 4 4 12 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
127 0 0 0 0 0 255 255 0 0 255 255 255 0 0 0 255 255 0 0 255 255 255 0 0
|
||||
255 255 0 0 255 255 255 0 255 255 255 0 255 255 255 0 0 255 0 255 255 0
|
||||
255 0 0 255 0 255 0 255 255 255 0 255 255 0 0 255 255 255 0 0 0 255 255
|
||||
0 0 255 255 255 0 0 0 255 255 255 0 255 0 255 255 255 255 0 255 255 0 255
|
||||
0 0 255 0 255 0 0 0 255 0 255 0 0 255 0 0 255 0 255 0 255 0 255 0 0 0 255
|
||||
0 255 255 255 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 4 4 4 4 0
|
||||
255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0
|
||||
255 0 255 0 0 255 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0
|
||||
0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 255 0 0 255 0 255 0 0 255 0 0
|
||||
255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 255 0
|
||||
255 0 0 0 255 0 0 255 0 0 255 0 0 255 0 255 0 0 255 0 0 255 0 0 255 0 0
|
||||
255 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 255
|
||||
0 0 255 0 0 255 4 4 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 127 0 0 0 0 0 255 255 255 0 255 0 0 255 0 255 0 0 0 255 0 0 255 0
|
||||
255 255 255 255 0 255 0 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255
|
||||
255 0 0 0 255 0 255 0 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0
|
||||
0 255 0 255 0 0 255 0 255 0 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255
|
||||
0 0 255 0 255 0 255 0 255 0 0 255 0 0 0 255 0 255 0 0 0 255 0 0 255 0 0
|
||||
0 0 255 0 0 0 0 255 0 255 0 0 255 255 0 0 0 255 255 4 255 255 0 4 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 255 0 0 255 0 255 0
|
||||
0 255 0 255 0 0 0 255 0 0 255 0 255 0 0 0 0 255 0 0 255 0 0 255 0 255 0
|
||||
0 255 0 255 0 0 255 0 255 0 255 0 0 255 0 255 0 0 255 0 0 255 0 255 0 0
|
||||
255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 0 0 255 0 255 0
|
||||
0 255 0 0 255 0 0 255 0 255 0 0 0 255 255 0 255 255 0 0 0 255 0 0 0 255
|
||||
0 255 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 255 0 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0
|
||||
0 255 255 255 0 255 255 255 0 0 0 255 255 0 0 255 255 255 0 0 255 255 255
|
||||
0 255 0 0 0 255 255 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255
|
||||
0 255 0 0 255 0 0 255 0 255 0 0 255 0 0 255 255 0 0 255 255 255 0 0 0 255
|
||||
255 255 0 255 0 0 255 255 255 0 0 255 0 0 255 255 255 0 0 0 255 0 0 0 0
|
||||
255 0 0 0 255 0 0 255 0 255 0 0 0 255 0 0 0 255 255 255 0 0 255 0 0 0 255
|
||||
0 0 0 255 0 0 0 0 0 0 0 0 0 0 20 0 255 0 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 127 0 127 127 127 127 0
|
||||
127 127 127 127 0 127 127 127 0 127 127 127 127 0 127 127 127 127 0 127
|
||||
127 0 127 127 127 127 0 127 127 127 127 0 127 0 127 127 0 127 127 127 127
|
||||
0 127 0 127 127 127 127 127 127 127 0 127 127 127 127 0 127 127 127 127
|
||||
0 127 127 127 127 0 127 127 127 127 0 127 127 0 127 127 127 0 127 127 0
|
||||
127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127
|
||||
127 127 0 127 127 127 127 127 0 127 127 127 0 127 127 127 0 127 127 127
|
||||
0 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0
|
||||
255 255 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
|
||||
0 255 0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 255 255 0 0
|
||||
0 255 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255
|
||||
0 0 255 255 255 255 255 255 255 0 255 255 255 255 0 0 255 255 255 255 255
|
||||
255 255 0 0 255 255 255 255 255 255 255 0 255 0 0 255 255 0 255 0 0 255
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 255 255 0 255
|
||||
0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0
|
||||
0 255 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 255 255 255 255 0 255 255 255 255 255 0 0 0 0 0 0 255 0 0 255 0 255
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0
|
||||
255 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 255 255
|
||||
0 0 255 0 255 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255
|
||||
0 0 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
255 255 255 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 255 0 255 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 255 0 255 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0
|
||||
0 255 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 255 0
|
||||
255 255 255 0 255 0 0 0 255 255 0 255 255 0 0 0 255 0 0 0 0 0 255 0 255
|
||||
255 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 255 255 0 255 0 255
|
||||
255 0 255 255 0 0 0 255 255 255 0 0 255 0 0 255 0 0 0 255 255 255 255 0
|
||||
0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 255 0 0 255 0 0 255 0 0 255 0
|
||||
0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 255 255 255 255 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 255
|
||||
0 0 255 0 0 255 0 0 0 0 0 255 0 255 0 0 255 0 0 0 255 0 0 0 0 0 255 0 0
|
||||
0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 0 255 255 255 255 255
|
||||
255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 255 255
|
||||
255 255 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 255
|
||||
0 0 255 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 255 0 0 255 0 0 255 0 0 0 0 0 255 0 0 255 0 255 0 0 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 255 0 0 255 0 0 0 0 0
|
||||
255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 127 0 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255
|
||||
0 255 0 0 0 0 255 0 255 0 255 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 255 0 0 0 255 255 0 255 255 0 0 255 255 255 255 0 0 0 0 0 0 255
|
||||
255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 255 255 255 255
|
||||
0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 255 255 255 0 0 0 0 0 255 255 0 255 255 255 0 0 255 255 255 255 255
|
||||
255 255 0 255 255 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 0 0 0 255 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 127 127 127 127 0 127 127 127 127 127 127 127 127 0 127 0 127 127
|
||||
127 127 0 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 0
|
||||
127 127 127 127 127 0 127 127 127 127 0 127 127 127 127 127 127 127 127
|
||||
127 127 127 127 0 127 127 127 127 127 0 127 127 0 127 127 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 127 127 0 127 127 127 127 0 127 127 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 127 127 0 127 0 127 0 127
|
||||
127 127 0 127 127 127 0 127 127 127 0 127 127 127 127 0 127 127 127 127
|
||||
127 127 127 0 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127
|
||||
0 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127
|
||||
0 127 127 127 0 127 127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 127 0 0 0 0 0 255 0 0 0 255 0 0 0 0 255 255 0 0 0 0 0 0 0 255 0
|
||||
0 0 255 0 255 0 0 255 255 255 0 0 255 0 255 0 0 0 255 255 255 255 0 0 255
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 0 0 255 0 0 0 0 0 0
|
||||
0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 0 0 0 255
|
||||
0 0 255 0 0 0 0 0 255 0 0 0 255 0 0 0 255 255 255 0 0 255 0 0 0 0 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0
|
||||
0 255 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 255 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 255 255 0 255 0 0 255 0 0 0 0 0 0 255 255 0 255 0 0
|
||||
0 0 0 255 255 0 0 255 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
127 0 0 0 0 0 255 0 0 255 255 255 0 0 255 0 0 0 0 255 255 255 0 0 0 255
|
||||
0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 255 255 0 255
|
||||
0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 0 0 255 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 255 0 255
|
||||
255 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 255 0 255 0 255 0 0 0 255
|
||||
0 255 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 127 0 0 0 0 0 255 0 255 0 255 0 0 255 255 255 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 255 0 255 0 0 0 0 255 0
|
||||
255 255 0 255 0 255 0 0 0 255 255 255 255 255 0 0 0 0 255 0 255 0 0 255
|
||||
0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 0 255 255
|
||||
0 0 0 0 0 0 255 0 0 255 0 255 255 0 255 0 0 255 0 0 0 0 0 0 0 255 255 255
|
||||
0 255 255 0 0 0 255 0 255 0 0 255 255 0 0 255 255 0 0 0 255 0 255 0 255
|
||||
255 0 0 255 255 0 255 0 255 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0
|
||||
255 0 255 0 255 0 0 0 255 0 0 0 0 255 255 255 0 0 0 255 255 255 0 0 0 0
|
||||
255 0 0 255 0 0 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 0 255 0 255 0 0 0 0
|
||||
0 0 0 255 0 255 255 0 255 0 255 255 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 255 0 0 255 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 255 0 255 0 255 0 0 0 0 255
|
||||
0 0 0 0 255 0 0 0 255 0 255 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0
|
||||
0 255 0 255 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0
|
||||
255 255 255 0 0 0 0 0 0 255 0 0 255 255 0 0 255 0 0 0 0 0 255 0 255 0 0
|
||||
0 0 0 0 255 0 0 0 0 255 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 127
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 255 0 255 255 255 255 0 0 0 255
|
||||
0 0 0 255 0 0 0 0 255 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0
|
||||
0 0 0 255 0 0 255 255 255 0 255 255 255 255 0 0 0 0 0 0 0 0 0 255 0 0 0
|
||||
255 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 0 255 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 255
|
||||
255 0 0 255 0 0 0 0 255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 127 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 127 127 127 127 0 127 0 127 127 127 127 0 127 127 127
|
||||
127 0 127 127 127 127 127 0 127 127 127 127 127 0 127 0 127 127 127 127
|
||||
0 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 0 127 127
|
||||
127 127 0 127 127 127 127 127 127 0 127 127 0 127 127 127 127 127 127 127
|
||||
0 127 127 127 127 0 127 127 127 127 0 127 127 127 127 127 0 127 127 127
|
||||
127 0 127 127 127 0 127 127 127 0 127 127 127 127 0 127 127 127 127 0 127
|
||||
127 127 0 127 127 127 0 127 127 127 0 127 127 127 127 0 127 127 127 127
|
||||
0 127 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 0 127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 255 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 255 0 255 0 0 0 255 0 255 255 0 0 0 255 0 0 255
|
||||
0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 255 0 0 0 255 0 0 255 0 255 0 255
|
||||
0 255 0 0 0 0 0 0 0 0 0 255 0 255 255 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 255 0 0 0 0 255 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 255
|
||||
0 0 0 255 0 0 255 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 127 0 0 255 255
|
||||
0 0 0 0 0 255 255 0 0 0 0 0 255 255 0 0 0 0 0 255 255 0 0 0 0 0 255 255
|
||||
0 0 0 0 0 255 255 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 255
|
||||
255 255 255 255 0 255 255 255 255 255 0 255 255 255 255 255 0 255 255 255
|
||||
255 255 0 255 255 255 0 255 255 255 0 255 255 255 0 255 255 255 0 255 255
|
||||
255 255 0 0 0 255 0 0 0 0 255 0 0 0 255 255 255 0 0 0 0 0 255 255 255 0
|
||||
0 0 0 0 255 255 255 0 0 0 0 0 255 255 255 0 0 0 0 0 255 255 255 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 255 255 255 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0
|
||||
255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 255 0 255 0 0 0 0 255 0 0
|
||||
255 0 127 0 0 255 255 0 0 0 0 0 255 255 0 0 0 0 0 255 255 0 0 0 0 0 255
|
||||
255 0 0 0 0 0 255 255 0 0 0 0 0 255 255 0 0 0 0 255 0 255 0 0 0 0 0 255
|
||||
0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 255 0 0 0 255 0
|
||||
0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0
|
||||
255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 255 0 0 0
|
||||
0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 255 0 255
|
||||
0 0 255 255 255 0 0 255 0 0 255 0 127 0 255 0 0 255 0 0 0 255 0 0 255 0
|
||||
0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0
|
||||
0 0 255 0 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0
|
||||
0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 255 0 0 0
|
||||
0 255 0 255 0 255 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 255 0 0 0 255
|
||||
0 255 0 0 0 255 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0
|
||||
255 0 255 0 0 0 0 255 0 0 255 0 255 0 0 255 0 0 255 0 255 0 255 0 0 127
|
||||
0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0
|
||||
0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 0 0
|
||||
0 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255
|
||||
255 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 255 255 255 0 0 255
|
||||
0 255 0 0 255 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0
|
||||
0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 255 0 255 0 0 255
|
||||
0 0 255 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0
|
||||
255 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 127 255 255
|
||||
255 255 255 255 0 255 255 255 255 255 255 0 255 255 255 255 255 255 0 255
|
||||
255 255 255 255 255 0 255 255 255 255 255 255 0 255 255 255 255 255 255
|
||||
0 0 255 255 255 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 255 0 0
|
||||
0 0 255 0 255 0 0 0 255 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 255 0 0 0 0 255 0 0 0
|
||||
255 0 255 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255
|
||||
0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 127 255 0
|
||||
0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0
|
||||
0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 255 0 0 0 0 0 255 0 0 0 255 0 255
|
||||
0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0
|
||||
0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 255 0 0 255 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0
|
||||
0 0 255 0 0 0 0 255 0 255 0 0 0 255 0 0 0 255 0 0 255 0 0 0 0 255 0 255
|
||||
0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 0 0 255 0 0 0 255 255
|
||||
255 0 0 255 0 0 255 0 127 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0
|
||||
0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 0 0 255 0 255 0 0 255
|
||||
255 255 255 0 0 0 255 255 255 0 0 255 255 255 255 255 0 255 255 255 255
|
||||
255 0 255 255 255 255 255 0 255 255 255 255 255 0 255 255 255 0 255 255
|
||||
255 0 255 255 255 0 255 255 255 0 255 255 255 255 0 0 0 255 0 0 0 0 255
|
||||
0 0 0 255 255 255 0 0 0 0 0 255 255 255 0 0 0 0 0 255 255 255 0 0 0 0 0
|
||||
255 255 255 0 0 0 0 0 255 255 255 0 0 0 0 255 0 0 0 255 0 255 0 255 255
|
||||
255 0 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 0 255 255 255 255
|
||||
0 0 0 255 255 255 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 255 0 0 127 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127
|
||||
127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 0 127
|
||||
127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127
|
||||
0 127 127 127 0 127 127 127 0 127 127 127 0 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 127 0 127 127 127 127 127 127 127 0 127
|
||||
127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127
|
||||
127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 127 0 127 127 127
|
||||
127 127 127 0 127 127 127 127 127 127 0 127 127 127 127 127 0 127 127 127
|
||||
127 0 127 127 127 127 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 127 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 255 255 0 255 0
|
||||
0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0
|
||||
0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 255 255 0 255
|
||||
0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 255 255 0 255 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255
|
||||
0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 255
|
||||
0 0 0 0 255 0 0 0 255 0 255 0 255 0 255 255 0 0 255 0 255 0 0 255 0 255
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 255 0 255 0 0 255 0
|
||||
255 0 0 255 0 255 0 255 0 255 255 0 255 0 0 255 255 0 255 0 255 255 0 0
|
||||
0 255 0 0 0 0 255 0 0 0 255 0 255 0 255 0 255 255 0 255 0 0 255 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 255 0 255 0 0 255 0 255 0
|
||||
0 0 255 0 0 0 255 0 0 0 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 127 0 255 255 0 0 0 255 255 0 0 0 255 255 0 0 0 255 255 0 0 0 255
|
||||
255 0 0 0 255 255 0 0 255 255 255 0 255 255 0 0 0 255 255 0 0 255 255 0
|
||||
0 0 255 255 0 0 0 255 255 0 0 0 255 255 0 0 0 255 0 255 0 0 255 0 0 255
|
||||
0 0 0 0 255 0 255 255 255 0 0 0 255 255 0 0 0 255 255 0 0 0 255 255 0 0
|
||||
0 255 255 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 0 0 255
|
||||
0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 0 255 0 255 255 255
|
||||
0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 255 0 0 0
|
||||
0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 0 0 255 0 0 255
|
||||
0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 0 255
|
||||
0 255 0 0 255 0 0 255 0 0 255 255 255 0 255 0 0 255 0 255 0 0 255 0 255
|
||||
0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 0 255 255 255 255 255
|
||||
0 255 0 0 255 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255
|
||||
0 0 255 0 255 0 0 255 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 127 0 255 255 255 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255
|
||||
0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 0 255 0 0 0
|
||||
255 255 255 255 0 255 255 255 255 0 255 255 255 255 0 255 255 255 255 0
|
||||
0 255 0 255 0 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0
|
||||
255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 0 0 0 0 0 0 0 255
|
||||
0 255 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 0
|
||||
255 0 255 0 0 255 0 0 255 0 0 255 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 127 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0
|
||||
255 0 255 0 0 255 0 255 0 0 255 0 0 0 0 255 0 0 0 255 0 0 0 0 255 0 0 0
|
||||
0 255 0 0 0 0 255 0 0 0 0 0 255 0 255 0 0 255 0 0 255 0 255 0 0 255 0 255
|
||||
0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255 0
|
||||
0 255 0 0 0 0 255 0 0 0 255 255 0 0 255 0 255 0 0 255 0 255 0 0 255 0 255
|
||||
0 0 255 0 255 0 0 255 0 0 255 0 255 0 0 255 0 0 255 0 0 255 0 255 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 255 255 255 0 0 255 255 255 0 0 255
|
||||
255 255 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 0 0 255 255 0 255
|
||||
255 255 0 0 255 255 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 0 0
|
||||
255 255 255 0 0 255 0 255 0 0 255 0 0 255 0 0 255 255 0 0 255 0 0 255 0
|
||||
0 255 255 0 0 0 255 255 0 0 0 255 255 0 0 0 255 255 0 0 0 255 255 0 0 0
|
||||
0 0 0 0 0 0 0 255 255 255 0 0 0 255 255 255 0 0 255 255 255 0 0 255 255
|
||||
255 0 0 255 255 255 0 0 0 255 0 0 0 255 255 255 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 255 0 0 0 0 0 255 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 127 127 127 0 127 127 127 127 0 127 127
|
||||
127 127 0 127 127 127 127 0 127 127 127 127 0 127 127 127 127 0 127 127
|
||||
127 127 127 127 127 0 127 127 127 0 127 127 127 127 0 127 127 127 127 0
|
||||
127 127 127 127 0 127 127 127 127 0 127 127 0 127 0 127 127 0 127 127 0
|
||||
127 127 127 127 0 127 127 127 127 0 127 127 127 127 0 127 127 127 127 0
|
||||
127 127 127 127 0 127 127 127 127 0 127 127 127 127 0 127 127 127 127 127
|
||||
127 0 127 127 127 127 127 0 127 127 127 127 0 127 127 127 127 0 127 127
|
||||
127 127 0 127 127 127 127 0 127 127 127 127 127 0 127 127 127 127 0 127
|
||||
127 127 127 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
908
AntTweakBar/src/res/TwXCursors.h
Normal file
@@ -0,0 +1,908 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// @file TwXCursors.h
|
||||
// @brief Bitmaps data for cursors
|
||||
// @author Philippe Decaudin
|
||||
// @license This file is part of the AntTweakBar library.
|
||||
// For conditions of distribution and use, see License.txt
|
||||
//
|
||||
// note: Private header
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
static int g_CurHot[][2] =
|
||||
{
|
||||
{16, 15}, // curs00
|
||||
{16, 15}, // curs01
|
||||
{16, 15}, // curs02
|
||||
{16, 15}, // curs03
|
||||
{16, 15}, // curs04
|
||||
{16, 15}, // curs05
|
||||
{16, 15}, // curs06
|
||||
{16, 15}, // curs07
|
||||
{16, 15}, // curs08
|
||||
{16, 15}, // curs09
|
||||
{16, 15}, // curs10
|
||||
{16, 15}, // curs11
|
||||
{16, 15}, // curs12
|
||||
{16, 15} // curs13
|
||||
};
|
||||
|
||||
|
||||
static bool g_CurPict[][32*32] =
|
||||
{
|
||||
{ // curs00
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs01
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
|
||||
0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs02
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs03
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs04
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs05
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
|
||||
0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs06
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs07
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs08
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs09
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs10
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs11
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs12
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // curs13
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
static bool g_CurMask[][32*32] =
|
||||
{
|
||||
{ // mask00
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask01
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask02
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0,
|
||||
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask03
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask04
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask05
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0,
|
||||
0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask06
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask07
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
|
||||
0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask08
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask09
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
|
||||
0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
},
|
||||
{ // mask10
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask11
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask12
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
},
|
||||
{ // mask13
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
|
||||
0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
}
|
||||
};
|
||||
BIN
AntTweakBar/src/res/cur00000.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00001.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00002.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00003.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00004.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00005.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00006.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00007.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00008.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00009.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00010.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00011.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00012.cur
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
AntTweakBar/src/res/cur00013.cur
Normal file
|
After Width: | Height: | Size: 326 B |
32
AntTweakBar/src/res/curs00.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs01.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
|
||||
0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs02.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
|
||||
0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs03.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1
|
||||
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs04.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs05.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
|
||||
0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0
|
||||
0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0
|
||||
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs06.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs07.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0
|
||||
0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
|
||||
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs08.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
|
||||
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs09.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
|
||||
0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
|
||||
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs10.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs11.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
|
||||
0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs12.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1
|
||||
1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/curs13.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
|
||||
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask00.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask01.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
|
||||
0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
|
||||
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask02.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
|
||||
1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0
|
||||
0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1
|
||||
1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask03.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
|
||||
0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1
|
||||
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask04.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1
|
||||
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask05.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
|
||||
1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0
|
||||
0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask06.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1
|
||||
1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1
|
||||
1 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask07.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
|
||||
1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0
|
||||
0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
|
||||
0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask08.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
|
||||
0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1
|
||||
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0
|
||||
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask09.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
|
||||
1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
|
||||
0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
|
||||
0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask10.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
|
||||
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
|
||||
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
|
||||
32
AntTweakBar/src/res/mask11.pbm
Normal file
@@ -0,0 +1,32 @@
|
||||
P1
|
||||
# Created by Paint Shop Pro
|
||||
32 32
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1
|
||||
1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
|
||||
1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
|
||||
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||