|
libsax 7.2
|
00001 /************** 00002 FILE : layout.h 00003 *************** 00004 PROJECT : SaX2 - library interface [header] 00005 : 00006 AUTHOR : Marcus Schäfer <ms@suse.de> 00007 : 00008 BELONGS TO : SaX2 - SuSE advanced X11 configuration 00009 : 00010 : 00011 DESCRIPTION : native C++ class library to access SaX2 00012 : functionality. Easy to use interface for 00013 : //.../ 00014 : - importing/exporting X11 configurations 00015 : - modifying/creating X11 configurations 00016 : --- 00017 : 00018 : 00019 STATUS : Status: Development 00020 **************/ 00021 #ifndef SAX_LAYOUT_H 00022 #define SAX_LAYOUT_H 1 00023 00024 //==================================== 00025 // Includes... 00026 //------------------------------------ 00027 #include "import.h" 00028 #include "card.h" 00029 00030 namespace SaX { 00031 //==================================== 00032 // Defines... 00033 //------------------------------------ 00034 #define SAX_SINGLE_HEAD 300 00035 #define SAX_XINERAMA 301 00036 #define SAX_TRADITIONAL 302 00037 #define SAX_CLONE 303 00038 #define SAX_MERGED_FB 304 00039 #define SAX_MERGED_FB_CLONE 305 00040 #define SAX_UNKNOWN_MODE 306 00041 00042 //==================================== 00043 // Interface class for dlopen ability 00044 //------------------------------------ 00052 class SaXManipulateLayoutIF : public SaXException { 00053 public: 00054 virtual void setXOrgMultiheadMode ( int ) = 0; 00055 virtual bool setXOrgLayout ( int, int, int, int, int ) = 0; 00056 virtual bool setRelative ( int, int, int, int ) = 0; 00057 virtual bool removeRelative ( int ) = 0; 00058 00059 public: 00060 virtual int getMultiheadMode ( void ) = 0; 00061 virtual QList<QString> getXOrgLayout ( int ) = 0; 00062 virtual QList<QString> getInputLayout ( void ) = 0; 00063 virtual void addInputLayout ( int ) = 0; 00064 virtual void removeInputLayout ( int ) = 0; 00065 00066 public: 00067 virtual ~SaXManipulateLayoutIF ( void ) { } 00068 }; 00069 //==================================== 00070 // Class SaXManipulateLayout... 00071 //------------------------------------ 00132 class SaXManipulateLayout : public SaXManipulateLayoutIF { 00133 private: 00134 SaXImport* mLayout; 00135 SaXImport* mCard; 00136 00137 public: 00138 void setXOrgMultiheadMode ( int ); 00139 bool setXOrgLayout ( int, int, int, int, int ); 00140 bool setRelative ( int, int, int, int ); 00141 bool removeRelative ( int ); 00142 00143 00144 public: 00145 int getMultiheadMode ( void ); 00146 QList<QString> getXOrgLayout ( int ); 00147 QList<QString> getInputLayout ( void ); 00148 void addInputLayout ( int ); 00149 void removeInputLayout ( int ); 00150 00151 public: 00152 SaXManipulateLayout ( SaXImport*,SaXImport* ); 00153 }; 00154 } // end namespace 00155 #endif
1.7.3