123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #include "Karte.h"
- #include <Punkt.h>
- #include <Rahmen.h>
- #include "..\Kamera\Kamera.h"
- // Inhalt der Karte Klasse aus Karte.h
- // Konstruktor
- Karte::Karte()
- {
- karteId = 0;
- map = new Bild();
- rahmen = new LRahmen();
- rahmen->setFarbe( 0xFFFFFFFF );
- rahmen->setRamenBreite( 2 );
- ref = 1;
- }
- // Destruktor
- Karte::~Karte()
- {
- map->release();
- rahmen->release();
- }
- // nicht constant
- void Karte::setSize( int br, int hö )
- {
- map->neuBild( br, hö, 0xFF000000 );
- rahmen->setSize( br, hö );
- }
- void Karte::setId( int id )
- {
- karteId = id;
- }
- void Karte::render( Kamera *zKam, Bild &zRObj )
- {
- rahmen->setPosition( zKam->getRX( 0 ), zKam->getRY( 0 ) );
- zRObj.drawBild( rahmen->getX(), rahmen->getY(), map->getBreite(), map->getHeight(), *map );
- rahmen->render( zRObj );
- }
- // constant
- int Karte::getId() const
- {
- return karteId;
- }
- int Karte::getBreite() const
- {
- return map->getBreite();
- }
- int Karte::getHeight() const
- {
- return map->getHeight();
- }
- Bild *Karte::zMap() const
- {
- return ( map->getBreite() != 0 && map->getHeight() != 0 ) ? map : 0;
- }
- // Reference Counting
- Karte *Karte::getThis()
- {
- ref++;
- return this;
- }
- Karte *Karte::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
|