12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #include "VideoChat.h"
- #include <Rahmen.h>
- #include <MausEreignis.h>
- #include <TastaturEreignis.h>
- #include <Text.h>
- #include <Schrift.h>
- #include <Punkt.h>
- #include <Bild.h>
- // Inhalt der VideoChat Klasse aus VideoChat.h
- // Konstruktor
- VideoChat::VideoChat( UIInit &uiFactory )
- : ReferenceCounter()
- {
- verlauf = uiFactory.createTextFeld( uiFactory.initParam );
- verlauf->setStyle( TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt );
- verlauf->setRahmenFarbe( 0xFF909090 );
- verlauf->setText( "" );
- verlauf->setPosition( 20, BildschirmGröße().y - 210 );
- verlauf->setSize( 450, 200 );
- }
- // Destruktor
- VideoChat::~VideoChat()
- {
- verlauf->release();
- }
- // nicht constant
- void VideoChat::addNachricht( char *nachricht )
- {
- verlauf->addZeile( nachricht, 0xFFFFFFFF );
- verlauf->updateVScroll();
- }
- void VideoChat::addNachricht( char *nachricht, int farbe )
- {
- verlauf->addZeile( nachricht, farbe );
- verlauf->updateVScroll();
- }
- void VideoChat::removeNachricht( char *nachricht )
- {
- Text *txt = new Text( nachricht );
- txt->append( "\n" );
- TextRenderer *textRd = verlauf->zTextRenderer();
- if( textRd )
- {
- textRd->setSchriftSize( 12 );
- textRd->textFormatieren( txt, verlauf->getBreite() - 15 - 2 );
- }
- int n = txt->anzahlVon( '\n' );
- int n2 = verlauf->zText()->anzahlVon( '\n' );
- if( n2 > n )
- verlauf->zText()->remove( verlauf->zText()->positionVon( '\n', n2 - n - 1 ) + 1 );
- else
- verlauf->setText( "" );
- verlauf->updateVScroll();
- }
- void VideoChat::doPublicMausEreignis( MausEreignis &me )
- {
- bool vera = me.verarbeitet;
- verlauf->doPublicMausEreignis( me );
- if( !vera && me.verarbeitet )
- {
- verlauf->setRahmenFarbe( 0xFFFFFFFF );
- verlauf->setVertikalScrollFarbe( 0xFF808080, 0 );
- }
- else
- {
- verlauf->setRahmenFarbe( 0xFF909090 );
- verlauf->setVertikalScrollFarbe( 0xFF404040, 0 );
- }
- }
- void VideoChat::tick( double z )
- {
- verlauf->tick( z );
- }
- void VideoChat::render( Bild &zRObj )
- {
- verlauf->render( zRObj );
- }
|