Added Copy and Paste functions to GHOST.
[blender-staging.git] / intern / ghost / intern / GHOST_System.h
index 52d90cab7a74d5b0428b7aa0e1b18087bc9a5b84..1ded6e77a36dc667b1c73d0ac4592ff622d6eb21 100644 (file)
  *
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
-
 /**
-
- * $Id$
- * Copyright (C) 2001 NaN Technologies B.V.
- * @author     Maarten Gribnau
- * @date       May 7, 2001
+ * @file       GHOST_System.h
+ * Declaration of GHOST_System class.
  */
 
 #ifndef _GHOST_SYSTEM_H_
@@ -57,21 +53,14 @@ class GHOST_Window;
 class GHOST_WindowManager;
 
 /**
- * Implementation of platform independent functionality of the GHOST_ISystem interface.
- * GHOST_System is an abstract base class because not all methods of GHOST_ISystem are implemented.
- * There should be only one system class in an application.
- * Therefore, the routines to create and dispose the system are static.
- * Provides:
- * 1. Time(r) management.
- * 2. Display/window management (windows are only created on the main display for now).
- * 3. Event management.
- * 4. Cursor shape management (no custom cursors for now).
- * 5. Access to the state of the mouse buttons and the keyboard.
+ * Implementation of platform independent functionality of the GHOST_ISystem
+ * interface.
+ * GHOST_System is an abstract class because not all methods of GHOST_ISystem
+ * are implemented.
  * @see GHOST_ISystem.
  * @author     Maarten Gribnau
  * @date       May 7, 2001
  */
-
 class GHOST_System : public GHOST_ISystem
 {
 protected:
@@ -268,6 +257,21 @@ public:
         */
        virtual GHOST_TSuccess getButtons(GHOST_Buttons& buttons) const = 0;
 
+       /**
+        * Returns the selection buffer
+        * @param flag          Only used on X11
+        * @return              Returns the clipboard data
+        *
+        */
+        virtual GHOST_TUns8* getClipboard(int flag) const = 0;
+         
+         /**
+          * Put data to the Clipboard
+          * @param buffer      The buffer to copy to the clipboard
+          * @param flag        The clipboard to copy too only used on X11
+          */
+         virtual void putClipboard(GHOST_TInt8 *buffer, int flag) const = 0;
+
 protected:
        /**
         * Initialize the system.
@@ -326,3 +330,4 @@ inline GHOST_WindowManager* GHOST_System::getWindowManager() const
 }
 
 #endif // _GHOST_SYSTEM_H_
+