degate  0.1.2
SubProjectAnnotation.h
Go to the documentation of this file.
00001 /* -*-c++-*-
00002 
00003  This file is part of the IC reverse engineering tool degate.
00004 
00005  Copyright 2008, 2009, 2010 by Martin Schobert
00006 
00007  Degate is free software: you can redistribute it and/or modify
00008  it under the terms of the GNU General Public License as published by
00009  the Free Software Foundation, either version 3 of the License, or
00010  any later version.
00011 
00012  Degate is distributed in the hope that it will be useful,
00013  but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  GNU General Public License for more details.
00016 
00017  You should have received a copy of the GNU General Public License
00018  along with degate. If not, see <http://www.gnu.org/licenses/>.
00019 
00020 */
00021 
00022 #ifndef __SUBPROJECTANNOTATION_H__
00023 #define __SUBPROJECTANNOTATION_H__
00024 
00025 #include "globals.h"
00026 #include "LogicModelObjectBase.h"
00027 #include "Layer.h"
00028 #include "PlacedLogicModelObject.h"
00029 
00030 #include "Rectangle.h"
00031 #include "Annotation.h"
00032 
00033 #include <set>
00034 
00035 namespace degate {
00036 
00037   /**
00038    * An annotation for subprojects.
00039    */
00040 
00041   class SubProjectAnnotation : public Annotation {
00042 
00043 
00044   public:
00045 
00046     /**
00047      * Create a new annotation.
00048      */
00049 
00050     SubProjectAnnotation(int min_x, int max_x, int min_y, int max_y,
00051                          std::string const& subproject_path);
00052 
00053 
00054     /**
00055      * Create a new annotation.
00056      */
00057 
00058     SubProjectAnnotation(BoundingBox const& bbox, std::string const& subproject_path);
00059 
00060     void set_path(std::string const& subproject_path);
00061 
00062     std::string get_path() const;
00063 
00064   };
00065 
00066   typedef std::shared_ptr<SubProjectAnnotation> SubProjectAnnotation_shptr;
00067 }
00068 #endif