#ifndef ROOMMANAGER_H #define ROOMMANAGER_H #include #include #include #include #define SNAP_DIST 15 class QPainter; class Room; class ViewPort; class RoomManager { public: RoomManager(); void addpoint(int x, int y); void editpoint(int x, int y); void draw(QPainter *painter, int mousex, int mousey); void cancel(); QVector current(); Room *roomAt(int x, int y); Room *roomAt(QPoint p); void deleteRoom(Room*); QPoint snap(int x, int y); QPoint snap(QPoint point); friend QDataStream& operator<<(QDataStream&, const RoomManager&); friend QDataStream& operator>>(QDataStream&, RoomManager&); friend QTextStream& operator<<(QTextStream&, RoomManager&); private: void drawPoints(QPainter *painter, QVector points); QVector rooms; QVector current_room; bool holdingpoint; }; QDataStream& operator<<(QDataStream& stream, const RoomManager& manager); QDataStream& operator>>(QDataStream& stream, RoomManager& manager); QTextStream& operator<<(QTextStream& stream, const RoomManager& manager); #endif // ROOMMANAGER_H