VideoChat.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #include "VideoChat.h"
  2. #include <Rahmen.h>
  3. #include <MausEreignis.h>
  4. #include <TastaturEreignis.h>
  5. #include <Text.h>
  6. #include <Schrift.h>
  7. #include <Punkt.h>
  8. #include <Bild.h>
  9. // Inhalt der VideoChat Klasse aus VideoChat.h
  10. // Konstruktor
  11. VideoChat::VideoChat( UIInit &uiFactory )
  12. : ReferenceCounter()
  13. {
  14. verlauf = uiFactory.createTextFeld( uiFactory.initParam );
  15. verlauf->setStyle( TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt );
  16. verlauf->setRahmenFarbe( 0xFF909090 );
  17. verlauf->setText( "" );
  18. verlauf->setPosition( 20, BildschirmGröße().y - 210 );
  19. verlauf->setSize( 450, 200 );
  20. }
  21. // Destruktor
  22. VideoChat::~VideoChat()
  23. {
  24. verlauf->release();
  25. }
  26. // nicht constant
  27. void VideoChat::addNachricht( char *nachricht )
  28. {
  29. verlauf->addZeile( nachricht, 0xFFFFFFFF );
  30. verlauf->updateVScroll();
  31. }
  32. void VideoChat::addNachricht( char *nachricht, int farbe )
  33. {
  34. verlauf->addZeile( nachricht, farbe );
  35. verlauf->updateVScroll();
  36. }
  37. void VideoChat::removeNachricht( char *nachricht )
  38. {
  39. Text *txt = new Text( nachricht );
  40. txt->append( "\n" );
  41. TextRenderer *textRd = verlauf->zTextRenderer();
  42. if( textRd )
  43. {
  44. textRd->setSchriftSize( 12 );
  45. textRd->textFormatieren( txt, verlauf->getBreite() - 15 - 2 );
  46. }
  47. int n = txt->anzahlVon( '\n' );
  48. int n2 = verlauf->zText()->anzahlVon( '\n' );
  49. if( n2 > n )
  50. verlauf->zText()->remove( verlauf->zText()->positionVon( '\n', n2 - n - 1 ) + 1 );
  51. else
  52. verlauf->setText( "" );
  53. verlauf->updateVScroll();
  54. }
  55. void VideoChat::doPublicMausEreignis( MausEreignis &me )
  56. {
  57. bool vera = me.verarbeitet;
  58. verlauf->doPublicMausEreignis( me );
  59. if( !vera && me.verarbeitet )
  60. {
  61. verlauf->setRahmenFarbe( 0xFFFFFFFF );
  62. verlauf->setVertikalScrollFarbe( 0xFF808080, 0 );
  63. }
  64. else
  65. {
  66. verlauf->setRahmenFarbe( 0xFF909090 );
  67. verlauf->setVertikalScrollFarbe( 0xFF404040, 0 );
  68. }
  69. }
  70. void VideoChat::tick( double z )
  71. {
  72. verlauf->tick( z );
  73. }
  74. void VideoChat::render( Bild &zRObj )
  75. {
  76. verlauf->render( zRObj );
  77. }