ソースを参照

Projektdateien hinzufügen.

Kolja Strohm 7 年 前
コミット
cd13451eef

+ 31 - 0
Animation Creator.sln

@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27004.2005
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Animation Creator", "Animation Creator\Animation Creator.vcxproj", "{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Debug|x64.ActiveCfg = Debug|x64
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Debug|x64.Build.0 = Debug|x64
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Debug|x86.ActiveCfg = Debug|Win32
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Debug|x86.Build.0 = Debug|Win32
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Release|x64.ActiveCfg = Release|x64
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Release|x64.Build.0 = Release|x64
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Release|x86.ActiveCfg = Release|Win32
+		{3573AC6A-B0E7-4DAE-AD6A-0503B06DA53D}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {37080F7E-BCB6-4574-95C5-0436CBB47EAB}
+	EndGlobalSection
+EndGlobal

+ 182 - 0
Animation Creator/Animation Creator.vcxproj

@@ -0,0 +1,182 @@
+<?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="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="main.cpp" />
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{3573ac6a-b0e7-4dae-ad6a-0503b06da53d}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Animation_Creator</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v141</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v141</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+    <IncludePath>..\..\Framework;$(IncludePath)</IncludePath>
+    <LibraryPath>..\..\Framework\x64\Debug;$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <IncludePath>..\..\Framework;$(IncludePath)</IncludePath>
+    <LibraryPath>..\..\Framework\Release;$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <IncludePath>..\..\Framework;$(IncludePath)</IncludePath>
+    <LibraryPath>..\..\Framework\x64\Release;$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>Framework.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>Framework.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <CustomBuildStep>
+      <Command>copy "..\..\Framework\x64\Debug\Framework.dll" "Framework.dll"</Command>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>kopieren...;%(Outputs)</Outputs>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>Framework.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <CustomBuildStep>
+      <Command>copy "..\..\Framework\Release\Framework.dll" "..\Fertig\x32\Framework.dll"
+copy "..\Release\LTDB Konverter.exe" "..\Fertig\x32\LTDB Konverter.exe"</Command>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>kopieren...;%(Outputs)</Outputs>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>Framework.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <CustomBuildStep>
+      <Command>copy "..\..\Framework\x64\Release\Framework.dll" "..\Fertig\x64\Framework.dll"
+copy "..\x64\Release\LTDB Konverter.exe" "..\Fertig\x64\LTDB Konverter.exe"</Command>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>kopieren...;%(Outputs)</Outputs>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 22 - 0
Animation Creator/Animation Creator.vcxproj.filters

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Quelldateien">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headerdateien">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Ressourcendateien">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="main.cpp">
+      <Filter>Quelldateien</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>

BIN
Animation Creator/Framework.dll


BIN
Animation Creator/f_burn.ltdb


BIN
Animation Creator/f_start.ltdb


+ 317 - 0
Animation Creator/main.cpp

@@ -0,0 +1,317 @@
+#include <main.h>
+#include <Fenster.h>
+#include <Bildschirm.h>
+#include <RenderThread.h>
+#include <DateiSystem.h>
+#include <Schrift.h>
+#include <Knopf.h>
+#include <DateiDialog.h>
+#include <Bild.h>
+#include <Datei.h>
+#include <AsynchronCall.h>
+#include <Fortschritt.h>
+
+using namespace Framework;
+
+Framework::Knopf *initKnopf( int x, int y, int width, int height, int style, const char *txt, Framework::Schrift *zSchrift )
+{
+    Framework::Knopf *ret = new Framework::Knopf();
+    ret->setPosition( x, y );
+    ret->setSize( width, height );
+    ret->setText( txt );
+    ret->setStyle( style );
+    ret->setMausEreignis( Framework::_ret1ME );
+    ret->setSchriftZ( zSchrift->getThis() );
+    return ret;
+}
+
+TextFeld *initTextFeld( int x, int y, int br, int hö, Schrift *zSchrift, __int64 style, char *txt )
+{
+    TextFeld *ret = new TextFeld();
+    ret->setStyle( style );
+    ret->setSchriftZ( zSchrift->getThis() );
+    ret->setText( txt );
+    ret->setSchriftFarbe( 0xFFFFFFFF );
+    ret->setSchriftSize( 12 );
+    if( ret->hatStyle( TextFeld::Style::Buffered ) )
+    {
+        ret->setAlphaFeldFarbe( 0x5500FF00 );
+        ret->setAlphaFeldStrength( -5 );
+    }
+    if( ret->hatStyle( TextFeld::Style::Rahmen ) )
+    {
+        ret->setLinienRahmenBreite( 1 );
+        ret->setLinienRahmenFarbe( 0xFF00FF00 );
+    }
+    ret->setPosition( x, y );
+    ret->setSize( br, hö );
+    return ret;
+}
+
+FBalken *initFortschritt( int x, int y, int width, int height, Schrift *zSchrift )
+{
+    FBalken *ret = new FBalken();
+    ret->setStyle( FBalken::Style::Sichtbar | FBalken::Style::Prozent | FBalken::Style::Rahmen | FBalken::Style::Hintergrund | FBalken::Style::FFarbe | FBalken::Style::L_R );
+    ret->setLinienRahmenFarbe( 0xFFFFFFFF );
+    ret->setHintergrundFarbe( 0xFF005000 );
+    ret->setFBgFarbe( 0xFF00FF00 );
+    ret->setAktionAnzahl( 100 );
+    ret->setSchriftZ( zSchrift->getThis() );
+    ret->setSFarbe( 0xFFFFFFFF );
+    ret->setSSize( 12 );
+    ret->setSize( width, height );
+    ret->setPosition( x, y );
+    return ret;
+}
+
+BildZ *initBild( int x, int y, int width, int height )
+{
+    BildZ *ret = new BildZ();
+    ret->setStyle( BildZ::Style::Sichtbar | BildZ::Style::Alpha );
+    ret->setPosition( x, y );
+    ret->setSize( width, height );
+    return ret;
+}
+
+TextFeld *_path;
+TextFeld *_start;
+TextFeld *_end;
+TextFeld *_width;
+TextFeld *_height;
+TextFeld *_targetWidth;
+TextFeld *_targetHeight;
+TextFeld *_transparent;
+TextFeld *_output;
+Knopf *_render;
+FBalken *_gesamtF;
+BildZ *_source;
+BildZ *_rendered;
+
+void setPath( Text *path )
+{
+    Text err;
+    Bild *img = Framework::ladeBild( path->getText(), &err );
+    if( !img )
+    {
+        path->release();
+        return;
+    }
+    path->ersetzen( "\\", "/" );
+    Text *p = path->getTeilText( 0, path->positionVon( "/", path->anzahlVon( "/" ) - 1 ) );
+
+    Datei d;
+    d.setDatei( p->getText() );
+    RCArray< Text > *list = d.getDateiListe();
+
+    p->insert( 0, "Pfad: " );
+    _path->setText( p );
+    _start->setText( path->getTeilText( path->positionVon( "/", path->anzahlVon( "/" ) - 1 ) + 1 ) );
+    _end->setText( list->get( list->getEintragAnzahl() - 1 ) );
+    _width->setText( Text( "Breite: " ) += img->getBreite() );
+    _height->setText( Text( "Höhe: " ) += img->getHeight() );
+    _targetWidth->setText( Text( img->getBreite() ) );
+    _targetHeight->setText( Text( img->getHeight() ) );
+
+    list->release();
+    img->release();
+    path->release();
+}
+
+void renderF()
+{
+    Text *type = _start->zText()->getTeilText( _start->zText()->positionVon( "." ) );
+    int length = _start->zText()->getLength() - type->getLength();
+    int startId = *_start->zText();
+    int endId = *_end->zText();
+    _gesamtF->setAktionAnzahl( endId - startId );
+    _gesamtF->reset();
+    LTDBDatei d;
+    d.setDatei( _output->getText() );
+    d.remove();
+    d.erstellen();
+    int bnLength = 0;
+    for( int i = endId - startId; i > 0; i /= 26, bnLength++ );
+    int bnIndex = 0;
+    for( int i = startId; i <= endId; i++ )
+    {
+        Text fileName = i;
+        while( fileName.getLength() < length )
+            fileName.insert( 0, "0" );
+        fileName.append( type->getText() );
+        fileName.insert( 0, "/" );
+        fileName.insert( 0, _path->zText()->getTeilText( 6 ) );
+        Text err;
+        Bild *source = ladeBild( fileName, &err );
+        if( source )
+        {
+            int alpfaCol = TextZuInt( *_transparent->zText(), 16 );
+            _source->setBildZ( source );
+            Bild *rendered = new Bild();
+            rendered->neuBild( *_targetWidth->zText(), *_targetHeight->zText(), 0 );
+            rendered->drawBildSkall( 0, 0, rendered->getBreite(), rendered->getHeight(), *source );
+            rendered->replaceColorWithAlpha( alpfaCol );
+            _rendered->setBildZ( rendered->getThis() );
+            Text bildName;
+            for( int j = 0, tmp = bnIndex; j < bnLength; j++ )
+            {
+                bildName.insert( 0, 'a' + ( tmp % 26 ) );
+                tmp /= 26;
+            }
+            if( d.speichern( 0, rendered, bildName.getThis() ) >= 0 )
+                bnIndex++;
+        }
+        _gesamtF->aktionPlus();
+    }
+    _source->setBildZ( 0 );
+    type->release();
+    _start->addStyle( TextFeld::Style::Erlaubt );
+    _end->addStyle( TextFeld::Style::Erlaubt );
+    _targetWidth->addStyle( TextFeld::Style::Erlaubt );
+    _targetHeight->addStyle( TextFeld::Style::Erlaubt );
+    _transparent->addStyle( TextFeld::Style::Erlaubt );
+    _output->addStyle( TextFeld::Style::Erlaubt );
+    _render->addStyle( Knopf::Style::Erlaubt );
+}
+
+int Framework::Start( Framework::Startparam p )
+{
+    auto fc = Framework::F_Normal( p.hinst );
+    fc.lpszClassName = "Animation Creator";
+    fc.lpszMenuName = "Animation Creator";
+    WFenster *f = new WFenster();
+    f->erstellen( WS_OVERLAPPEDWINDOW, fc );
+    f->setNSchließAktion( []( void *p, void *f )
+    {
+        Framework::StopNachrichtenSchleife( ( (WFenster*)f )->getFensterHandle() );
+    } );
+    f->setSize( 900, 900 );
+    f->setPosition( Punkt( 100, 100 ) );
+    f->setMausAktion( _ret1ME );
+    f->setTastaturAktion( _ret1TE );
+    f->setAnzeigeModus( SW_SHOW );
+
+    Bildschirm3D *screen = new Bildschirm3D( f->getThis() );
+    f->setBildschirm( screen->getThis() );
+    screen->update();
+
+    RenderTh *renderer = new RenderTh();
+    renderer->setBildschirm( screen->getThis() );
+    renderer->beginn();
+
+    LTDSDatei *sd = new LTDSDatei();
+    sd->setPfad( new Text( "../Data/normal.ltds" ) );
+    sd->leseDaten();
+    Schrift *schrift = sd->ladeSchrift();
+    sd->release();
+
+    Knopf *k = initKnopf( 10, 10, 100, 20, Knopf::Style::Normal, "Öffnen", schrift );
+    k->setMausEreignis( []( void *p, void *o, MausEreignis me )
+    {
+        if( me.id == ME_RLinks )
+        {
+            DateiDialog *t = new DateiDialog();
+            t->addDateiTyp( "Alle", "*.jpg;*.png;*.bmp" );
+            t->addDateiTyp( "Bild", "*.jpg" );
+            t->addDateiTyp( "Bild", "*.png" );
+            t->addDateiTyp( "Bild", "*.bmp" );
+            Text *path = t->anzeigen( 1 );
+            t->release();
+            if( path )
+                setPath( path );
+        }
+        return 1;
+    } );
+
+    _path = initTextFeld( 120, 10, 800, 20, schrift, TextFeld::Style::Text, "Pfad: " );
+    TextFeld *startT = initTextFeld( 10, 40, 80, 20, schrift, TextFeld::Style::Text, "Start Bild:" );
+    _start = initTextFeld( 90, 40, 100, 20, schrift, TextFeld::Style::TextFeld, "" );
+    TextFeld *endT = initTextFeld( 10, 70, 80, 20, schrift, TextFeld::Style::Text, "End Bild:" );
+    _end = initTextFeld( 90, 70, 100, 20, schrift, TextFeld::Style::TextFeld, "" );
+    _width = initTextFeld( 220, 40, 110, 20, schrift, TextFeld::Style::Text, "Breite:" );
+    _height = initTextFeld( 220, 70, 110, 20, schrift, TextFeld::Style::Text, "Höhe:" );
+    TextFeld *targetWidthT = initTextFeld( 360, 40, 80, 20, schrift, TextFeld::Style::Text, "Ziel Breite:" );
+    _targetWidth = initTextFeld( 440, 40, 60, 20, schrift, TextFeld::Style::TextFeld, "" );
+    _targetWidth->setTastaturEreignis( _nurNummernTE );
+    TextFeld *targetHeightT = initTextFeld( 360, 70, 80, 20, schrift, TextFeld::Style::Text, "Ziel Höhe:" );
+    _targetHeight = initTextFeld( 440, 70, 60, 20, schrift, TextFeld::Style::TextFeld, "" );
+    _targetHeight->setTastaturEreignis( _nurNummernTE );
+    TextFeld *transparentT = initTextFeld( 530, 40, 120, 20, schrift, TextFeld::Style::Text, "Transparente Farbe:" );
+    _transparent = initTextFeld( 650, 40, 80, 20, schrift, TextFeld::Style::TextFeld, "000000" );
+    _transparent->setTastaturEreignis( _nurHexTE );
+    TextFeld *outputT = initTextFeld( 530, 70, 120, 20, schrift, TextFeld::Style::Text, "Ausgabe Datei:" );
+    _output = initTextFeld( 650, 70, 150, 20, schrift, TextFeld::Style::TextFeld, "annimation.ltdb" );
+    _gesamtF = initFortschritt( 10, 100, 880, 30, schrift );
+    _source = initBild( 30, 150, 400, 400 );
+    _rendered = initBild( 470, 150, 400, 400 );
+
+    _render = initKnopf( 760, 40, 100, 20, Knopf::Style::Normal, "Render", schrift );
+    _render->setMausEreignis( []( void *p, void *o, MausEreignis me )
+    {
+        if( me.id == ME_RLinks )
+        {
+            _start->removeStyle( TextFeld::Style::Erlaubt );
+            _end->removeStyle( TextFeld::Style::Erlaubt );
+            _targetWidth->removeStyle( TextFeld::Style::Erlaubt );
+            _targetHeight->removeStyle( TextFeld::Style::Erlaubt );
+            _transparent->removeStyle( TextFeld::Style::Erlaubt );
+            _output->removeStyle( TextFeld::Style::Erlaubt );
+            _render->removeStyle( Knopf::Style::Erlaubt );
+            new AsynchronCall( renderF );
+        }
+        return 1;
+    } );
+
+    screen->addMember( k );
+    screen->addMember( _path );
+    screen->addMember( startT );
+    screen->addMember( _start );
+    screen->addMember( endT );
+    screen->addMember( _end );
+    screen->addMember( _width );
+    screen->addMember( _height );
+    screen->addMember( targetWidthT );
+    screen->addMember( _targetWidth );
+    screen->addMember( targetHeightT );
+    screen->addMember( _targetHeight );
+    screen->addMember( transparentT );
+    screen->addMember( _transparent );
+    screen->addMember( outputT );
+    screen->addMember( _output );
+    screen->addMember( _render );
+    screen->addMember( _gesamtF );
+    screen->addMember( _source );
+    screen->addMember( _rendered );
+
+    Framework::StartNachrichtenSchleife();
+
+    renderer->beenden();
+
+    k->release();
+    _path->release();
+    startT->release();
+    _start->release();
+    endT->release();
+    _end->release();
+    _width->release();
+    _height->release();
+    targetWidthT->release();
+    _targetWidth->release();
+    targetHeightT->release();
+    _targetHeight->release();
+    transparentT->release();
+    _transparent->release();
+    schrift->release();
+    outputT->release();
+    _output->release();
+    _render->release();
+    _gesamtF->release();
+    _source->release();
+    _rendered->release();
+
+    renderer->release();
+    f->setBildschirm( 0 );
+    f->release();
+    screen->release();
+
+    return 0;
+}

BIN
Data/normal.ltds