|
@@ -0,0 +1,884 @@
|
|
|
|
+#include <main.h>
|
|
|
|
+#include <Fenster.h>
|
|
|
|
+#include <Punkt.h>
|
|
|
|
+#include <Bildschirm.h>
|
|
|
|
+#include <RenderThread.h>
|
|
|
|
+#include <Knopf.h>
|
|
|
|
+#include <DateiSystem.h>
|
|
|
|
+#include <AuswahlBox.h>
|
|
|
|
+#include <Liste.h>
|
|
|
|
+#include <Schrift.h>
|
|
|
|
+#include <Bild.h>
|
|
|
|
+#include <Text.h>
|
|
|
|
+#include "Initialisierung.h"
|
|
|
|
+#include <MausEreignis.h>
|
|
|
|
+#include <TastaturEreignis.h>
|
|
|
|
+#include <Scroll.h>
|
|
|
|
+#include <AlphaFeld.h>
|
|
|
|
+#include <Rahmen.h>
|
|
|
|
+#include <Datei.h>
|
|
|
|
+#include <DateiDialog.h>
|
|
|
|
+#include <AsynchronCall.h>
|
|
|
|
+#include <Dialog.h>
|
|
|
|
+
|
|
|
|
+using namespace Framework;
|
|
|
|
+
|
|
|
|
+struct Variablen
|
|
|
|
+{
|
|
|
|
+ // Normale Schrift
|
|
|
|
+ Schrift *nSchrift;
|
|
|
|
+ // Schrift zum Bearbeiten laden
|
|
|
|
+ TextFeld *sPfad;
|
|
|
|
+ Knopf *sLaden;
|
|
|
|
+ Schrift *schrift;
|
|
|
|
+ LTDSDatei *sDatei;
|
|
|
|
+ // Auswählen der zu Bearbeitenden Zeichen und Größen
|
|
|
|
+ AuswahlListe *größe;
|
|
|
|
+ AuswahlListe *zeichen;
|
|
|
|
+ // Löschen
|
|
|
|
+ Knopf *gLöschen;
|
|
|
|
+ Knopf *zLöschen;
|
|
|
|
+ // Hinzufügen
|
|
|
|
+ Knopf *neuGröße;
|
|
|
|
+ Knopf *neuZeichen;
|
|
|
|
+ // Bearbeiten
|
|
|
|
+ Knopf *editZeichen;
|
|
|
|
+ // Schrift Vorschau
|
|
|
|
+ TextFeld *vorschau;
|
|
|
|
+ TextFeld *vFgT;
|
|
|
|
+ TextFeld *vFg;
|
|
|
|
+ TextFeld *vBgT;
|
|
|
|
+ TextFeld *vBg;
|
|
|
|
+ Knopf *vBgB;
|
|
|
|
+ TextFeld *vGrößeT;
|
|
|
|
+ TextFeld *vGröße;
|
|
|
|
+ AuswahlBox *vStyle;
|
|
|
|
+ // Neue Größe erstellen
|
|
|
|
+ Fenster *neuGrößeF;
|
|
|
|
+ TextFeld *nGGrößeT;
|
|
|
|
+ TextFeld *nGGröße;
|
|
|
|
+ Knopf *nGOk;
|
|
|
|
+ // Neues Zeichen erstellen
|
|
|
|
+ Fenster *neuZeichenF;
|
|
|
|
+ TextFeld *nZZeichenT;
|
|
|
|
+ TextFeld *nZZeichen;
|
|
|
|
+ TextFeld *nZVorschau;
|
|
|
|
+ TextFeld *nZBreiteT;
|
|
|
|
+ TextFeld *nZBreite;
|
|
|
|
+ TextFeld *nZHöheT;
|
|
|
|
+ TextFeld *nZHöhe;
|
|
|
|
+ Knopf *nZOk;
|
|
|
|
+ // Zeichen Editor
|
|
|
|
+ Fenster *editF;
|
|
|
|
+ TextFeld *editFgT;
|
|
|
|
+ TextFeld *editFg;
|
|
|
|
+ TextFeld *editBgT;
|
|
|
|
+ TextFeld *editBg;
|
|
|
|
+ TextFeld *editAlphaT;
|
|
|
|
+ TextFeld *editAlpha;
|
|
|
|
+ BildZ *editObj;
|
|
|
|
+ Knopf *editSpeichern;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+void beenden( void *p, void *obj )
|
|
|
|
+{
|
|
|
|
+ StopNachrichtenSchleife( ( (WFenster*)obj )->getFensterHandle() );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void SetErlaubt( bool e, Variablen *var )
|
|
|
|
+{
|
|
|
|
+ if( !e )
|
|
|
|
+ {
|
|
|
|
+ var->sLaden->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->größe->removeStyle( AuswahlListe::Style::Erlaubt );
|
|
|
|
+ var->zeichen->removeStyle( AuswahlListe::Style::Erlaubt );
|
|
|
|
+ var->neuGröße->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->gLöschen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->editZeichen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->zLöschen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->neuZeichen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ var->sLaden->addStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->größe->addStyle( AuswahlListe::Style::Erlaubt );
|
|
|
|
+ var->zeichen->setStyle( AuswahlListe::Style::Erlaubt, var->größe->getAuswahl() >= 0 );
|
|
|
|
+ var->neuGröße->addStyle( AuswahlListe::Style::Erlaubt );
|
|
|
|
+ var->gLöschen->setStyle( Knopf::Style::Erlaubt, var->größe->getAuswahl() >= 0 );
|
|
|
|
+ var->editZeichen->setStyle( Knopf::Style::Erlaubt, var->zeichen->getAuswahl() >= 0 );
|
|
|
|
+ var->zLöschen->setStyle( Knopf::Style::Erlaubt, var->zeichen->getAuswahl() >= 0 );
|
|
|
|
+ var->neuZeichen->setStyle( Knopf::Style::Erlaubt, var->größe->getAuswahl() >= 0 );
|
|
|
|
+ }
|
|
|
|
+ var->vorschau->addStyle( TextFeld::Style::Erlaubt );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void SchriftLaden( Variablen *var )
|
|
|
|
+{
|
|
|
|
+ if( var->schrift )
|
|
|
|
+ var->schrift->release();
|
|
|
|
+ var->schrift = var->sDatei->ladeSchrift();
|
|
|
|
+ if( !var->schrift )
|
|
|
|
+ var->schrift = new Schrift();
|
|
|
|
+ var->vorschau->setSchriftZ( var->schrift->getThis() );
|
|
|
|
+ int anz = var->zeichen->getEintragAnzahl();
|
|
|
|
+ for( int i = 0; i < anz; i++ )
|
|
|
|
+ var->zeichen->removeEintrag( 0 );
|
|
|
|
+ var->zeichen->deSelect();
|
|
|
|
+ anz = var->größe->getEintragAnzahl();
|
|
|
|
+ for( int i = 0; i < anz; i++ )
|
|
|
|
+ var->größe->removeEintrag( 0 );
|
|
|
|
+ var->größe->deSelect();
|
|
|
|
+ anz = var->schrift->getAlphabetAnzahl();
|
|
|
|
+ for( int i = 0; i < anz; i++ )
|
|
|
|
+ {
|
|
|
|
+ Text n = "";
|
|
|
|
+ n += var->schrift->zAlphabetI( i )->getSchriftSize();
|
|
|
|
+ var->größe->addEintrag( n );
|
|
|
|
+ var->größe->zEintrag( i )->setSchriftZ( var->nSchrift->getThis() );
|
|
|
|
+ var->größe->zEintrag( i )->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
|
+ var->größe->zEintrag( i )->setSize( 0, 20 );
|
|
|
|
+ }
|
|
|
|
+ SetErlaubt( 1, var );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool SLadenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( !DateiExistiert( var->sPfad->getText() ) )
|
|
|
|
+ DateiPfadErstellen( var->sPfad->getText() );
|
|
|
|
+ var->sDatei->setPfad( var->sPfad->getText() );
|
|
|
|
+ var->sDatei->leseDaten();
|
|
|
|
+ SchriftLaden( var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool GrößeME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ int anz = var->zeichen->getEintragAnzahl();
|
|
|
|
+ for( int i = 0; i < anz; i++ )
|
|
|
|
+ var->zeichen->removeEintrag( 0 );
|
|
|
|
+ var->zeichen->deSelect();
|
|
|
|
+ var->editZeichen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->zLöschen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ if( var->größe->getKlickEintrag( me.my ) < 0 )
|
|
|
|
+ {
|
|
|
|
+ var->zeichen->removeStyle( AuswahlListe::Style::Erlaubt );
|
|
|
|
+ var->neuZeichen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->gLöschen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ Alphabet *tmp = var->schrift->zAlphabet( (int)*var->größe->zEintrag( var->größe->getKlickEintrag( me.my ) )->zText() );
|
|
|
|
+ for( int c = 1; c < 256; c++ )
|
|
|
|
+ {
|
|
|
|
+ if( !tmp->hatBuchstabe( (unsigned char)c ) )
|
|
|
|
+ continue;
|
|
|
|
+ Text n = "";
|
|
|
|
+ n.append( (char)c );
|
|
|
|
+ n += " (";
|
|
|
|
+ n += (int)c;
|
|
|
|
+ n += ")";
|
|
|
|
+ var->zeichen->addEintrag( n );
|
|
|
|
+ var->zeichen->zEintrag( var->zeichen->getEintragAnzahl() - 1 )->setSchriftZ( var->nSchrift->getThis() );
|
|
|
|
+ var->zeichen->zEintrag( var->zeichen->getEintragAnzahl() - 1 )->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
|
+ var->zeichen->zEintrag( var->zeichen->getEintragAnzahl() - 1 )->setSize( 0, 20 );
|
|
|
|
+ }
|
|
|
|
+ var->zeichen->addStyle( AuswahlListe::Style::Erlaubt );
|
|
|
|
+ var->neuZeichen->addStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->gLöschen->addStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool ZeichenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( var->zeichen->getKlickEintrag( me.my ) < 0 )
|
|
|
|
+ {
|
|
|
|
+ var->editZeichen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->zLöschen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ var->editZeichen->addStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var->zLöschen->addStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool GLöschenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( var->größe->getAuswahl() < 0 )
|
|
|
|
+ return 1;
|
|
|
|
+ var->sDatei->löscheSchrifrGröße( (int)*var->größe->zEintrag( var->größe->getAuswahl() )->zText() );
|
|
|
|
+ SchriftLaden( var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool NeuGrößeME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ var->neuGrößeF->addStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ SetErlaubt( 0, var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool NeuGrößeFME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ var->neuGrößeF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ SetErlaubt( 1, var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool NGOkME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( (int)*var->nGGröße->zText() <= 0 )
|
|
|
|
+ return 1;
|
|
|
|
+ Alphabet *a = new Alphabet();
|
|
|
|
+ a->setSchriftSize( (int)*var->nGGröße->zText() );
|
|
|
|
+ var->sDatei->addSchriftgröße( a );
|
|
|
|
+ var->neuGrößeF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ SchriftLaden( var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool VFgTE( void *p, void *obj, TastaturEreignis te )
|
|
|
|
+{
|
|
|
|
+ bool ret = te.taste == T_Enter;
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( te.taste >= '0' && te.taste <= '9' && var->vFg->zText()->getLength() < 6 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste >= 'A' && te.taste <= 'F' && var->vFg->zText()->getLength() < 6 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste >= 'a' && te.taste <= 'f' && var->vFg->zText()->getLength() < 6 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste == T_Links || te.taste == T_Rechts || te.taste == T_BackSpace || te.taste == T_Entf )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( !ret )
|
|
|
|
+ return 0;
|
|
|
|
+ Text fgT = "0xFF";
|
|
|
|
+ fgT += var->vFg->zText()->getText();
|
|
|
|
+ for( int i = fgT.getLength(); i < 10; i++ )
|
|
|
|
+ fgT += "0";
|
|
|
|
+ var->vorschau->setSchriftFarbe( 0xFF000000 | (int)fgT );
|
|
|
|
+ return ret;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool VBgTE( void *p, void *obj, TastaturEreignis te )
|
|
|
|
+{
|
|
|
|
+ bool ret = te.taste == T_Enter;
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( te.taste >= '0' && te.taste <= '9' && var->vBg->zText()->getLength() < 6 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste >= 'A' && te.taste <= 'F' && var->vBg->zText()->getLength() < 6 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste >= 'a' && te.taste <= 'f' && var->vBg->zText()->getLength() < 6 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste == T_Links || te.taste == T_Rechts || te.taste == T_BackSpace || te.taste == T_Entf )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( !ret )
|
|
|
|
+ return 0;
|
|
|
|
+ Text bgT = "0xFF";
|
|
|
|
+ bgT += var->vBg->zText()->getText();
|
|
|
|
+ for( int i = bgT.getLength(); i < 10; i++ )
|
|
|
|
+ bgT += "0";
|
|
|
|
+ var->vorschau->setHintergrundFarbe( 0xFF000000 | (int)bgT );
|
|
|
|
+ return ret;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool VBgBME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ if( ( (Variablen *)p )->vorschau->hatStyle( TextFeld::Style::HBild ) )
|
|
|
|
+ ( (Variablen *)p )->vorschau->removeStyle( TextFeld::Style::HBild );
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ ( (Variablen *)p )->vorschau->addStyle( TextFeld::Style::HBild );
|
|
|
|
+ new AsynchronCall( [ p ]()
|
|
|
|
+ {
|
|
|
|
+ DateiDialog *dialog = new DateiDialog();
|
|
|
|
+ dialog->addDateiTyp( "Bild Datei", "*.ltdb" );
|
|
|
|
+ Text *path = dialog->anzeigen( 1 );
|
|
|
|
+ if( path )
|
|
|
|
+ {
|
|
|
|
+ LTDBDatei dat;
|
|
|
|
+ dat.setDatei( path );
|
|
|
|
+ dat.leseDaten( 0 );
|
|
|
|
+ if( dat.getBildAnzahl() )
|
|
|
|
+ {
|
|
|
|
+ MultiplChoiceDialog *choice = new MultiplChoiceDialog();
|
|
|
|
+ for( auto i = dat.zBildListe()->getIterator(); i; i++ )
|
|
|
|
+ {
|
|
|
|
+ choice->addChoice( i->getText(), i._ );
|
|
|
|
+ }
|
|
|
|
+ Text *zBild = (Text*)choice->anzeigen( ( (Variablen *)p )->nSchrift );
|
|
|
|
+ if( zBild )
|
|
|
|
+ {
|
|
|
|
+ Bild *b = dat.laden( 0, zBild->getThis() );
|
|
|
|
+ ( (Variablen *)p )->vorschau->setHintergrundBildZ( b );
|
|
|
|
+ }
|
|
|
|
+ choice->release();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ dialog->release();
|
|
|
|
+ } );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool VGrößeTE( void *p, void *obj, TastaturEreignis te )
|
|
|
|
+{
|
|
|
|
+ bool ret = te.taste == T_Enter;
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( te.taste >= '0' && te.taste <= '9' && var->vGröße->zText()->getLength() < 3 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste == T_Links || te.taste == T_Rechts || te.taste == T_BackSpace || te.taste == T_Entf )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( !ret )
|
|
|
|
+ return 0;
|
|
|
|
+ var->vorschau->setSchriftSize( (unsigned char)(int)*var->vGröße->zText() );
|
|
|
|
+ var->vorschau->updateVScroll();
|
|
|
|
+ return ret;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool NeuZeichenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( var->größe->getAuswahl() < 0 )
|
|
|
|
+ return 1;
|
|
|
|
+ var->neuZeichenF->addStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ SetErlaubt( 0, var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool NeuZeichenFME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ var->neuZeichenF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ SetErlaubt( 1, var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool NZZeichenTE( void *p, void *obj, TastaturEreignis te )
|
|
|
|
+{
|
|
|
|
+ bool ret = te.taste == T_Enter;
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( te.taste >= '0' && te.taste <= '9' && var->nZZeichen->zText()->getLength() < 3 )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( te.taste == T_Links || te.taste == T_Rechts || te.taste == T_BackSpace || te.taste == T_Entf )
|
|
|
|
+ ret = 1;
|
|
|
|
+ if( !ret )
|
|
|
|
+ return 0;
|
|
|
|
+ Text v;
|
|
|
|
+ v.append( (char)(int)*var->nZZeichen->zText() );
|
|
|
|
+ var->nZVorschau->setText( v );
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool NZOkME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( (int)*var->nZBreite->zText() <= 0 || (int)*var->nZHöhe->zText() <= 0 || (int)*var->nZZeichen->zText() <= 0 || (int)*var->nZZeichen->zText() > 255 )
|
|
|
|
+ return 1;
|
|
|
|
+ Buchstabe *b = new Buchstabe();
|
|
|
|
+ b->NeuBuchstabe( Punkt( (int)*var->nZBreite->zText(), (int)*var->nZHöhe->zText() ) );
|
|
|
|
+ var->sDatei->addBuchstabe( *var->größe->zEintrag( var->größe->getAuswahl() )->zText(), b, (unsigned char)(int)*var->nZZeichen->zText() );
|
|
|
|
+ var->neuZeichenF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ int ausw = var->größe->getAuswahl();
|
|
|
|
+ SchriftLaden( var );
|
|
|
|
+ MausEreignis me;
|
|
|
|
+ me.id = ME_RLinks;
|
|
|
|
+ me.mx = 20;
|
|
|
|
+ me.my = 50 + ausw * 20 - var->größe->getVertikalScrollPos();
|
|
|
|
+ me.verarbeitet = 0;
|
|
|
|
+ var->größe->doMausEreignis( me );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool ZLöschenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( var->größe->getAuswahl() < 0 || var->zeichen->getAuswahl() < 0 )
|
|
|
|
+ return 1;
|
|
|
|
+ var->sDatei->löscheBuchstabe( *var->größe->zEintrag( var->größe->getAuswahl() )->zText(),
|
|
|
|
+ (unsigned char)var->zeichen->zEintrag( var->zeichen->getAuswahl() )->zText()->getText()[ 0 ] );
|
|
|
|
+ int ausw = var->größe->getAuswahl();
|
|
|
|
+ SchriftLaden( var );
|
|
|
|
+ MausEreignis me;
|
|
|
|
+ me.id = ME_RLinks;
|
|
|
|
+ me.mx = 20;
|
|
|
|
+ me.my = 50 + ausw * 20 - var->größe->getVertikalScrollPos();
|
|
|
|
+ me.verarbeitet = 0;
|
|
|
|
+ var->größe->doMausEreignis( me );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool EditZeichenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( var->größe->getAuswahl() < 0 || var->zeichen->getAuswahl() < 0 )
|
|
|
|
+ return 1;
|
|
|
|
+ unsigned char zeichen = (unsigned char)var->zeichen->zEintrag( var->zeichen->getAuswahl() )->zText()->getText()[ 0 ];
|
|
|
|
+ int größe = *var->größe->zEintrag( var->größe->getAuswahl() )->zText();
|
|
|
|
+ Alphabet *a = var->schrift->zAlphabet( größe );
|
|
|
|
+ if( !a || !a->hatBuchstabe( zeichen ) )
|
|
|
|
+ return 1;
|
|
|
|
+ Bild *editB = new Bild();
|
|
|
|
+ editB->neuBild( a->zBuchstabe( zeichen )->getSize().x * 10, a->zBuchstabe( zeichen )->getSize().y * 10, 0 );
|
|
|
|
+ var->editObj->setSize( 440 < editB->getBreite() + 2 ? 440 : editB->getBreite() + 2, 390 < editB->getHeight() + 2 ? 390 : editB->getHeight() + 2 );
|
|
|
|
+ var->editObj->setStyle( BildZ::Style::HScroll, 440 < editB->getBreite() + 2 );
|
|
|
|
+ var->editObj->setStyle( BildZ::Style::VScroll, 390 < editB->getHeight() + 2 );
|
|
|
|
+ var->editObj->setBildZ( editB );
|
|
|
|
+ var->editF->addStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ SetErlaubt( 0, var );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool EditFME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ var->editF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ int gAusw = var->größe->getAuswahl();
|
|
|
|
+ int zAusw = var->zeichen->getAuswahl();
|
|
|
|
+ SchriftLaden( var );
|
|
|
|
+ MausEreignis me;
|
|
|
|
+ me.id = ME_RLinks;
|
|
|
|
+ me.mx = 20;
|
|
|
|
+ me.my = 50 + gAusw * 20 - var->größe->getVertikalScrollPos();
|
|
|
|
+ me.verarbeitet = 0;
|
|
|
|
+ var->größe->doMausEreignis( me );
|
|
|
|
+ me.id = ME_RLinks;
|
|
|
|
+ me.mx = 140;
|
|
|
|
+ me.my = 50 + zAusw * 20 - var->zeichen->getVertikalScrollPos();
|
|
|
|
+ me.verarbeitet = 0;
|
|
|
|
+ var->zeichen->doMausEreignis( me );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool EditObjME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_PLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( var->editObj->hatStyle( BildZ::Style::VScroll ) && me.mx >= 425 )
|
|
|
|
+ return 1;
|
|
|
|
+ if( var->editObj->hatStyle( BildZ::Style::HScroll ) && me.my >= 375 )
|
|
|
|
+ return 1;
|
|
|
|
+ Text aT = "0x";
|
|
|
|
+ aT += var->editAlpha->zText()->getText();
|
|
|
|
+ for( int i = aT.getLength(); i < 4; i++ )
|
|
|
|
+ aT += "0";
|
|
|
|
+ int a = aT;
|
|
|
|
+ if( a < 0 || a > 255 )
|
|
|
|
+ return 1;
|
|
|
|
+ int px = ( me.mx + var->editObj->getHorizontalScrollPos() ) / 10;
|
|
|
|
+ int py = ( me.my + var->editObj->getVertikalScrollPos() ) / 10;
|
|
|
|
+ Buchstabe *zeichen = var->schrift->zAlphabet( *var->größe->zEintrag( var->größe->getAuswahl() )->zText() )->zBuchstabe(
|
|
|
|
+ (unsigned char)var->zeichen->zEintrag( var->zeichen->getAuswahl() )->zText()->getText()[ 0 ] );
|
|
|
|
+ zeichen->getBuff()[ px + py * zeichen->getSize().x ] = (unsigned char)a;
|
|
|
|
+ var->editObj->setRender();
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool EditSpeichernME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ int gr = *var->größe->zEintrag( var->größe->getAuswahl() )->zText();
|
|
|
|
+ unsigned char z = (unsigned char)var->zeichen->zEintrag( var->zeichen->getAuswahl() )->zText()->getText()[ 0 ];
|
|
|
|
+ Buchstabe *zeichen = var->schrift->zAlphabet( gr )->getBuchstabe( z );
|
|
|
|
+ var->sDatei->löscheBuchstabe( gr, z );
|
|
|
|
+ var->sDatei->addBuchstabe( gr, zeichen, z );
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void renderE( void *p, void *obj, Bild *zRObj )
|
|
|
|
+{
|
|
|
|
+ Variablen *var = (Variablen*)p;
|
|
|
|
+ if( var->editF->hatStyle( Fenster::Style::Sichtbar ) )
|
|
|
|
+ {
|
|
|
|
+ Buchstabe *zeichen = var->schrift->zAlphabet( *var->größe->zEintrag( var->größe->getAuswahl() )->zText() )->zBuchstabe(
|
|
|
|
+ (unsigned char)var->zeichen->zEintrag( var->zeichen->getAuswahl() )->zText()->getText()[ 0 ] );
|
|
|
|
+ Text fgT = "0x00";
|
|
|
|
+ fgT += var->editFg->zText()->getText();
|
|
|
|
+ for( int i = fgT.getLength(); i < 10; i++ )
|
|
|
|
+ fgT += "0";
|
|
|
|
+ int fg = fgT;
|
|
|
|
+ Text bgT = "0xFF";
|
|
|
|
+ bgT += var->editBg->zText()->getText();
|
|
|
|
+ for( int i = bgT.getLength(); i < 10; i++ )
|
|
|
|
+ bgT += "0";
|
|
|
|
+ var->editObj->zBild()->fillRegion( 0, 0, var->editObj->zBild()->getBreite(), var->editObj->zBild()->getHeight(), bgT );
|
|
|
|
+ for( int i = 0; i < zeichen->getSize().x; i++ )
|
|
|
|
+ {
|
|
|
|
+ for( int j = 0; j < zeichen->getSize().y; j++ )
|
|
|
|
+ var->editObj->zBild()->alphaRegion( i * 10, j * 10, 10, 10, ( zeichen->getBuff()[ i + j * zeichen->getSize().x ] << 24 ) | fg );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+int KSGStart Framework::Start( Startparam p )
|
|
|
|
+{
|
|
|
|
+ Variablen var;
|
|
|
|
+
|
|
|
|
+ WNDCLASS wc = F_Normal( p.hinst );
|
|
|
|
+ wc.lpszClassName = "Schrift Editor 2.0";
|
|
|
|
+ WFenster *f = new WFenster();
|
|
|
|
+ f->setVSchließAktion( beenden );
|
|
|
|
+ f->setMausAktion( _ret1ME );
|
|
|
|
+ f->setTastaturAktion( _ret1TE );
|
|
|
|
+ f->erstellen( WS_OVERLAPPEDWINDOW, wc );
|
|
|
|
+ f->setSize( 750, 730 );
|
|
|
|
+ f->setPosition( Bildschirmmitte( f->getThis() ) );
|
|
|
|
+ f->setVerschiebbar( 1 );
|
|
|
|
+ f->setAnzeigeModus( 1 );
|
|
|
|
+
|
|
|
|
+ Bildschirm *b = new Bildschirm3D( f->getThis() );
|
|
|
|
+ f->setBildschirm( b->getThis() );
|
|
|
|
+ b->update();
|
|
|
|
+
|
|
|
|
+ RenderTh *r = new RenderTh();
|
|
|
|
+ r->setBildschirm( b->getThis() );
|
|
|
|
+ r->beginn();
|
|
|
|
+
|
|
|
|
+ LTDSDatei *sND = new LTDSDatei();
|
|
|
|
+ sND->setPfad( new Text( "../data/normal.ltds" ) );
|
|
|
|
+ sND->leseDaten();
|
|
|
|
+ var.nSchrift = sND->ladeSchrift();
|
|
|
|
+ sND->release();
|
|
|
|
+
|
|
|
|
+ var.schrift = 0;
|
|
|
|
+ var.sDatei = new LTDSDatei();
|
|
|
|
+
|
|
|
|
+ var.sPfad = initTextFeld( 10, 10, 620, 20, var.nSchrift, TextFeld::Style::TextFeld | TextFeld::Style::VCenter, "LTDS Datei Pfad" );
|
|
|
|
+ b->addMember( var.sPfad );
|
|
|
|
+
|
|
|
|
+ var.sLaden = initKnopf( 640, 10, 100, 20, var.nSchrift, Knopf::Style::Sichtbar, "LTDS Laden" );
|
|
|
|
+ var.sLaden->setMausEreignis( SLadenME );
|
|
|
|
+ var.sLaden->setMausEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.sLaden );
|
|
|
|
+
|
|
|
|
+ var.größe = new AuswahlListe();
|
|
|
|
+ var.größe->setStyle( AuswahlListe::Style::Sichtbar | AuswahlListe::Style::Rahmen | AuswahlListe::Style::AuswahlBuffer | AuswahlListe::Style::AuswahlRahmen | AuswahlListe::Style::VScroll );
|
|
|
|
+ var.größe->setPosition( 10, 40 );
|
|
|
|
+ var.größe->setSize( 100, 590 );
|
|
|
|
+ var.größe->setAlphaFeldFarbe( 0x7500FF00 );
|
|
|
|
+ var.größe->setAlphaFeldStrength( 8 );
|
|
|
|
+ var.größe->setRahmenFarbe( 0xFFFFFFFF );
|
|
|
|
+ var.größe->setRahmenBreite( 2 );
|
|
|
|
+ var.größe->setALRZ( new LRahmen() );
|
|
|
|
+ var.größe->zARahmen()->setFarbe( 0xFF00FF00 );
|
|
|
|
+ var.größe->setVertikalKlickScroll( 10 );
|
|
|
|
+ var.größe->setMausEreignis( GrößeME );
|
|
|
|
+ var.größe->setMausEreignisParameter( &var );
|
|
|
|
+ var.größe->update();
|
|
|
|
+ b->addMember( var.größe );
|
|
|
|
+
|
|
|
|
+ var.zeichen = new AuswahlListe();
|
|
|
|
+ var.zeichen->setStyle( AuswahlListe::Style::Sichtbar | AuswahlListe::Style::Rahmen | AuswahlListe::Style::AuswahlBuffer | AuswahlListe::Style::AuswahlRahmen | AuswahlListe::Style::VScroll );
|
|
|
|
+ var.zeichen->setPosition( 120, 40 );
|
|
|
|
+ var.zeichen->setSize( 105, 560 );
|
|
|
|
+ var.zeichen->setAlphaFeldFarbe( 0x7500FF00 );
|
|
|
|
+ var.zeichen->setAlphaFeldStrength( 8 );
|
|
|
|
+ var.zeichen->setRahmenFarbe( 0xFFFFFFFF );
|
|
|
|
+ var.zeichen->setRahmenBreite( 2 );
|
|
|
|
+ var.zeichen->setALRZ( new LRahmen() );
|
|
|
|
+ var.zeichen->zARahmen()->setFarbe( 0xFF00FF00 );
|
|
|
|
+ var.zeichen->setVertikalKlickScroll( 10 );
|
|
|
|
+ var.zeichen->setMausEreignis( ZeichenME );
|
|
|
|
+ var.zeichen->setMausEreignisParameter( &var );
|
|
|
|
+ var.zeichen->update();
|
|
|
|
+ b->addMember( var.zeichen );
|
|
|
|
+
|
|
|
|
+ var.gLöschen = initKnopf( 10, 640, 100, 20, var.nSchrift, Knopf::Style::Sichtbar, "Größe Löschen" );
|
|
|
|
+ var.gLöschen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var.gLöschen->setMausEreignis( GLöschenME );
|
|
|
|
+ var.gLöschen->setMausEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.gLöschen );
|
|
|
|
+
|
|
|
|
+ var.neuGröße = initKnopf( 10, 670, 100, 20, var.nSchrift, Knopf::Style::Sichtbar, "Neue Größe" );
|
|
|
|
+ var.neuGröße->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var.neuGröße->setMausEreignis( NeuGrößeME );
|
|
|
|
+ var.neuGröße->setMausEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.neuGröße );
|
|
|
|
+
|
|
|
|
+ var.editZeichen = initKnopf( 120, 610, 105, 20, var.nSchrift, Knopf::Style::Sichtbar, "Zeichen ändern" );
|
|
|
|
+ var.editZeichen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var.editZeichen->setMausEreignis( EditZeichenME );
|
|
|
|
+ var.editZeichen->setMausEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.editZeichen );
|
|
|
|
+
|
|
|
|
+ var.zLöschen = initKnopf( 120, 640, 105, 20, var.nSchrift, Knopf::Style::Sichtbar, "Zeichen Löschen" );
|
|
|
|
+ var.zLöschen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var.zLöschen->setMausEreignis( ZLöschenME );
|
|
|
|
+ var.zLöschen->setMausEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.zLöschen );
|
|
|
|
+
|
|
|
|
+ var.neuZeichen = initKnopf( 120, 670, 105, 20, var.nSchrift, Knopf::Style::Sichtbar, "Neues Zeichen" );
|
|
|
|
+ var.neuZeichen->removeStyle( Knopf::Style::Erlaubt );
|
|
|
|
+ var.neuZeichen->setMausEreignis( NeuZeichenME );
|
|
|
|
+ var.neuZeichen->setMausEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.neuZeichen );
|
|
|
|
+
|
|
|
|
+ var.vorschau = initTextFeld( 230, 40, 510, 150, 0, TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt, "Vorschau" );
|
|
|
|
+ b->addMember( var.vorschau );
|
|
|
|
+
|
|
|
|
+ var.vFgT = initTextFeld( 230, 200, 40, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Farbe:" );
|
|
|
|
+ b->addMember( var.vFgT );
|
|
|
|
+
|
|
|
|
+ var.vFg = initTextFeld( 270, 200, 60, 20, var.nSchrift, TextFeld::Style::TextFeld, "FFFFFF" );
|
|
|
|
+ var.vFg->setTastaturEreignis( VFgTE );
|
|
|
|
+ var.vFg->setTastaturEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.vFg );
|
|
|
|
+
|
|
|
|
+ var.vBgT = initTextFeld( 340, 200, 80, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Hintergrund:" );
|
|
|
|
+ b->addMember( var.vBgT );
|
|
|
|
+
|
|
|
|
+ var.vBg = initTextFeld( 415, 200, 60, 20, var.nSchrift, TextFeld::Style::TextFeld, "000000" );
|
|
|
|
+ var.vBg->setTastaturEreignis( VBgTE );
|
|
|
|
+ var.vBg->setTastaturEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.vBg );
|
|
|
|
+
|
|
|
|
+ var.vBgB = initKnopf( 485, 200, 50, 20, var.nSchrift, Knopf::Style::Normal, "Bild" );
|
|
|
|
+ var.vBgB->setMausEreignis( VBgBME );
|
|
|
|
+ var.vBgB->setMausEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.vBgB );
|
|
|
|
+
|
|
|
|
+ var.vGrößeT = initTextFeld( 550, 200, 50, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Größe:" );
|
|
|
|
+ b->addMember( var.vGrößeT );
|
|
|
|
+
|
|
|
|
+ var.vGröße = initTextFeld( 600, 200, 60, 20, var.nSchrift, TextFeld::Style::TextFeld, "12" );
|
|
|
|
+ var.vGröße->setTastaturEreignis( VGrößeTE );
|
|
|
|
+ var.vGröße->setTastaturEreignisParameter( &var );
|
|
|
|
+ b->addMember( var.vGröße );
|
|
|
|
+
|
|
|
|
+ var.vStyle = new AuswahlBox();
|
|
|
|
+ var.vStyle->setPosition( 670, 200 );
|
|
|
|
+ var.vStyle->setSize( 70, 20 );
|
|
|
|
+ var.vStyle->setHintergrundFarbe( 0xFF000000 );
|
|
|
|
+ var.vStyle->setRahmenBreite( 1 );
|
|
|
|
+ var.vStyle->setRahmenFarbe( 0xFFFFFFFF );
|
|
|
|
+ var.vStyle->setMaxAuskappHeight( 120 );
|
|
|
|
+ var.vStyle->setMausRahmenBreite( 1 );
|
|
|
|
+ var.vStyle->setMausRahmenFarbe( 0xFF005500 );
|
|
|
|
+ var.vStyle->setMausAlphaFeldFarbe( 0x00008700 );
|
|
|
|
+ var.vStyle->setMausAlphaFeldStrength( -8 );
|
|
|
|
+ var.vStyle->setAuswRahmenBreite( 1 );
|
|
|
|
+ var.vStyle->setAuswRahmenFarbe( 0xFF00FF00 );
|
|
|
|
+ var.vStyle->setAuswAlphaFeldFarbe( 0x0000FF00 );
|
|
|
|
+ var.vStyle->setAuswAlphaFeldStrength( -8 );
|
|
|
|
+ var.vStyle->setStyle( AuswahlBox::Style::Normal );
|
|
|
|
+ var.vStyle->setSchriftZ( var.nSchrift->getThis() );
|
|
|
|
+ var.vStyle->addEintrag( "Normal" );
|
|
|
|
+ var.vStyle->addEintrag( "Gravur" );
|
|
|
|
+ var.vStyle->setMausEreignis( _ret1ME );
|
|
|
|
+ var.vStyle->setEventAktion( [ var ]( void *p, AuswahlBox *o, int alt, int neu )
|
|
|
|
+ {
|
|
|
|
+ switch( neu )
|
|
|
|
+ {
|
|
|
|
+ case 0:
|
|
|
|
+ var.vorschau->setTextRendererZ( new TextRenderer( var.schrift ) );
|
|
|
|
+ break;
|
|
|
|
+ case 1:
|
|
|
|
+ var.vorschau->setTextRendererZ( new GravurTextRenderer( var.schrift ) );
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ } );
|
|
|
|
+ b->addMember( var.vStyle );
|
|
|
|
+
|
|
|
|
+ var.editF = initFenster( 230, 230, 460, 460, var.nSchrift, Fenster::Style::normal | Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund | Fenster::Style::ClosingHintergrund, "Zeichen Editor" );
|
|
|
|
+ var.editF->setClosingMe( EditFME );
|
|
|
|
+ var.editF->setClosingMeParam( &var );
|
|
|
|
+ var.editF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ b->addMember( var.editF );
|
|
|
|
+
|
|
|
|
+ var.editObj = initBildZ( 10, 10, 440, 390, BildZ::Style::Sichtbar | BildZ::Style::HScroll | BildZ::Style::VScroll | BildZ::Style::Rahmen, 0 );
|
|
|
|
+ var.editObj->setMausEreignis( EditObjME );
|
|
|
|
+ var.editObj->setMausEreignisParameter( &var );
|
|
|
|
+ var.editF->addMember( var.editObj );
|
|
|
|
+
|
|
|
|
+ var.editFgT = initTextFeld( 10, 410, 80, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Vordergrund:" );
|
|
|
|
+ var.editF->addMember( var.editFgT );
|
|
|
|
+
|
|
|
|
+ var.editFg = initTextFeld( 90, 410, 60, 20, var.nSchrift, TextFeld::Style::TextFeld, "FFFFFF" );
|
|
|
|
+ var.editFg->setTastaturEreignis( _nurHexTE );
|
|
|
|
+ var.editF->addMember( var.editFg );
|
|
|
|
+
|
|
|
|
+ var.editBgT = initTextFeld( 160, 410, 80, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Hintergrund:" );
|
|
|
|
+ var.editF->addMember( var.editBgT );
|
|
|
|
+
|
|
|
|
+ var.editBg = initTextFeld( 240, 410, 60, 20, var.nSchrift, TextFeld::Style::TextFeld, "000000" );
|
|
|
|
+ var.editBg->setTastaturEreignis( _nurHexTE );
|
|
|
|
+ var.editF->addMember( var.editBg );
|
|
|
|
+
|
|
|
|
+ var.editAlphaT = initTextFeld( 310, 410, 40, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Alpha:" );
|
|
|
|
+ var.editF->addMember( var.editAlphaT );
|
|
|
|
+
|
|
|
|
+ var.editAlpha = initTextFeld( 350, 410, 30, 20, var.nSchrift, TextFeld::Style::TextFeld, "FF" );
|
|
|
|
+ var.editAlpha->setTastaturEreignis( _nurHexTE );
|
|
|
|
+ var.editF->addMember( var.editAlpha );
|
|
|
|
+
|
|
|
|
+ var.editSpeichern = initKnopf( 390, 410, 60, 20, var.nSchrift, Knopf::Style::Sichtbar, "Save" );
|
|
|
|
+ var.editSpeichern->setMausEreignis( EditSpeichernME );
|
|
|
|
+ var.editSpeichern->setMausEreignisParameter( &var );
|
|
|
|
+ var.editF->addMember( var.editSpeichern );
|
|
|
|
+
|
|
|
|
+ var.neuGrößeF = initFenster( 290, 305, 120, 90, var.nSchrift, Fenster::Style::normal | Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund | Fenster::Style::ClosingHintergrund, "Neue Größe" );
|
|
|
|
+ var.neuGrößeF->setClosingMe( NeuGrößeFME );
|
|
|
|
+ var.neuGrößeF->setClosingMeParam( &var );
|
|
|
|
+ var.neuGrößeF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ b->addMember( var.neuGrößeF );
|
|
|
|
+
|
|
|
|
+ var.nGGrößeT = initTextFeld( 10, 10, 50, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Größe:" );
|
|
|
|
+ var.neuGrößeF->addMember( var.nGGrößeT );
|
|
|
|
+
|
|
|
|
+ var.nGGröße = initTextFeld( 60, 10, 50, 20, var.nSchrift, TextFeld::Style::TextFeld, "12" );
|
|
|
|
+ var.nGGröße->setTastaturEreignis( _nurNummernTE );
|
|
|
|
+ var.neuGrößeF->addMember( var.nGGröße );
|
|
|
|
+
|
|
|
|
+ var.nGOk = initKnopf( 10, 40, 100, 20, var.nSchrift, Knopf::Style::Sichtbar, "Ok" );
|
|
|
|
+ var.nGOk->setMausEreignis( NGOkME );
|
|
|
|
+ var.nGOk->setMausEreignisParameter( &var );
|
|
|
|
+ var.neuGrößeF->addMember( var.nGOk );
|
|
|
|
+
|
|
|
|
+ var.neuZeichenF = initFenster( 290, 275, 120, 150, var.nSchrift, Fenster::Style::normal | Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund | Fenster::Style::ClosingHintergrund, "Neues Zeichen" );
|
|
|
|
+ var.neuZeichenF->setClosingMe( NeuZeichenFME );
|
|
|
|
+ var.neuZeichenF->setClosingMeParam( &var );
|
|
|
|
+ var.neuZeichenF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
|
+ b->addMember( var.neuZeichenF );
|
|
|
|
+
|
|
|
|
+ var.nZZeichenT = initTextFeld( 10, 10, 60, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Zeichen:" );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZZeichenT );
|
|
|
|
+
|
|
|
|
+ var.nZZeichen = initTextFeld( 70, 10, 30, 20, var.nSchrift, TextFeld::Style::TextFeld, "" );
|
|
|
|
+ var.nZZeichen->setTastaturEreignis( NZZeichenTE );
|
|
|
|
+ var.nZZeichen->setTastaturEreignisParameter( &var );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZZeichen );
|
|
|
|
+
|
|
|
|
+ var.nZVorschau = initTextFeld( 105, 10, 10, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "" );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZVorschau );
|
|
|
|
+
|
|
|
|
+ var.nZBreiteT = initTextFeld( 10, 40, 50, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Breite" );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZBreiteT );
|
|
|
|
+
|
|
|
|
+ var.nZBreite = initTextFeld( 60, 40, 50, 20, var.nSchrift, TextFeld::Style::TextFeld, "" );
|
|
|
|
+ var.nZBreite->setTastaturEreignis( _nurNummernTE );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZBreite );
|
|
|
|
+
|
|
|
|
+ var.nZHöheT = initTextFeld( 10, 70, 50, 20, var.nSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Höhe" );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZHöheT );
|
|
|
|
+
|
|
|
|
+ var.nZHöhe = initTextFeld( 60, 70, 50, 20, var.nSchrift, TextFeld::Style::TextFeld, "" );
|
|
|
|
+ var.nZHöhe->setTastaturEreignis( _nurNummernTE );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZHöhe );
|
|
|
|
+
|
|
|
|
+ var.nZOk = initKnopf( 10, 100, 100, 20, var.nSchrift, Knopf::Style::Sichtbar, "Ok" );
|
|
|
|
+ var.nZOk->setMausEreignis( NZOkME );
|
|
|
|
+ var.nZOk->setMausEreignisParameter( &var );
|
|
|
|
+ var.neuZeichenF->addMember( var.nZOk );
|
|
|
|
+
|
|
|
|
+ r->setRenderFunktionParameter( &var );
|
|
|
|
+ r->setRenderFunktion( renderE );
|
|
|
|
+
|
|
|
|
+ StartNachrichtenSchleife();
|
|
|
|
+
|
|
|
|
+ r->beenden();
|
|
|
|
+ r->release();
|
|
|
|
+
|
|
|
|
+ var.nSchrift->release();
|
|
|
|
+ var.sPfad->release();
|
|
|
|
+ var.sLaden->release();
|
|
|
|
+ if( var.schrift )
|
|
|
|
+ var.schrift->release();
|
|
|
|
+ var.sDatei->release();
|
|
|
|
+ var.größe->release();
|
|
|
|
+ var.zeichen->release();
|
|
|
|
+ var.gLöschen->release();
|
|
|
|
+ var.neuGröße->release();
|
|
|
|
+ var.editZeichen->release();
|
|
|
|
+ var.zLöschen->release();
|
|
|
|
+ var.neuZeichen->release();
|
|
|
|
+ var.vorschau->release();
|
|
|
|
+ var.vFgT->release();
|
|
|
|
+ var.vFg->release();
|
|
|
|
+ var.vBgT->release();
|
|
|
|
+ var.vBg->release();
|
|
|
|
+ var.vGrößeT->release();
|
|
|
|
+ var.vGröße->release();
|
|
|
|
+ var.editF->release();
|
|
|
|
+ var.editObj->release();
|
|
|
|
+ var.editFg->release();
|
|
|
|
+ var.editFgT->release();
|
|
|
|
+ var.editBg->release();
|
|
|
|
+ var.editBgT->release();
|
|
|
|
+ var.editAlpha->release();
|
|
|
|
+ var.editAlphaT->release();
|
|
|
|
+ var.editSpeichern->release();
|
|
|
|
+ var.neuGrößeF->release();
|
|
|
|
+ var.nGGrößeT->release();
|
|
|
|
+ var.nGGröße->release();
|
|
|
|
+ var.nGOk->release();
|
|
|
|
+ var.neuZeichenF->release();
|
|
|
|
+ var.nZZeichenT->release();
|
|
|
|
+ var.nZZeichen->release();
|
|
|
|
+ var.nZVorschau->release();
|
|
|
|
+ var.nZBreiteT->release();
|
|
|
|
+ var.nZBreite->release();
|
|
|
|
+ var.nZHöheT->release();
|
|
|
|
+ var.nZHöhe->release();
|
|
|
|
+ var.nZOk->release();
|
|
|
|
+
|
|
|
|
+ b->release();
|
|
|
|
+ f->setBildschirm( 0 );
|
|
|
|
+ f->setAnzeigeModus( 0 );
|
|
|
|
+ f->zerstören();
|
|
|
|
+ f->release();
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
|
|
+}
|