00001 /* 00002 * Copyright © 2008 Dennis Kasprzyk 00003 * Copyright © 2007 Novell, Inc. 00004 * 00005 * Permission to use, copy, modify, distribute, and sell this software 00006 * and its documentation for any purpose is hereby granted without 00007 * fee, provided that the above copyright notice appear in all copies 00008 * and that both that copyright notice and this permission notice 00009 * appear in supporting documentation, and that the name of 00010 * Dennis Kasprzyk not be used in advertising or publicity pertaining to 00011 * distribution of the software without specific, written prior permission. 00012 * Dennis Kasprzyk makes no representations about the suitability of this 00013 * software for any purpose. It is provided "as is" without express or 00014 * implied warranty. 00015 * 00016 * DENNIS KASPRZYK DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 00017 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN 00018 * NO EVENT SHALL DENNIS KASPRZYK BE LIABLE FOR ANY SPECIAL, INDIRECT OR 00019 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00020 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 00021 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 00022 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00023 * 00024 * Authors: Dennis Kasprzyk <onestone@compiz-fusion.org> 00025 * David Reveman <davidr@novell.com> 00026 */ 00027 00028 #ifndef _COMPOUTPUT_H 00029 #define _COMPOUTPUT_H 00030 00031 #include <core/core.h> 00032 #include <core/rect.h> 00033 00039 class CompOutput : public CompRect { 00040 00041 public: 00042 CompOutput (); 00043 00044 CompString name () const; 00045 00046 unsigned int id () const; 00047 00052 const CompRect& workArea () const; 00053 00054 void setWorkArea (const CompRect&); 00055 void setGeometry (int x, int y, int width, int height); 00056 void setId (CompString, unsigned int); 00057 00058 typedef std::vector<CompOutput> vector; 00059 typedef std::vector<CompOutput *> ptrVector; 00060 typedef std::list<CompOutput *> ptrList; 00061 00062 private: 00063 00064 CompString mName; 00065 unsigned int mId; 00066 00067 CompRect mWorkArea; 00068 }; 00069 00070 #endif