Patch: [#22524] Update Windows Recent Documents on Open/Save
[blender.git] / intern / ghost / intern / GHOST_System.h
index 85e7b2d6b44224ea9ffd404d5ad77aec0a0a8e76..d9b901235ca6e26114f8056361a1e875c1255126 100644 (file)
@@ -1,14 +1,11 @@
 /**
  * $Id$
 /**
  * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+ * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License.  See http://www.blender.org/BL/ for information
- * about this.
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
@@ -26,7 +23,7 @@
  *
  * Contributor(s): none yet.
  *
  *
  * Contributor(s): none yet.
  *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
+ * ***** END GPL LICENSE BLOCK *****
  */
 /**
  * @file       GHOST_System.h
  */
 /**
  * @file       GHOST_System.h
@@ -51,6 +48,7 @@ class GHOST_Event;
 class GHOST_TimerManager;
 class GHOST_Window;
 class GHOST_WindowManager;
 class GHOST_TimerManager;
 class GHOST_Window;
 class GHOST_WindowManager;
+class GHOST_NDOFManager;
 
 /**
  * Implementation of platform independent functionality of the GHOST_ISystem
 
 /**
  * Implementation of platform independent functionality of the GHOST_ISystem
@@ -184,6 +182,27 @@ public:
         */
        virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer* consumer);
 
         */
        virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer* consumer);
 
+
+
+       /***************************************************************************************
+        ** N-degree of freedom devcice management functionality
+        ***************************************************************************************/
+
+       /** Inherited from GHOST_ISystem
+     *  Opens the N-degree of freedom device manager
+        * return 0 if device found, 1 otherwise
+     */
+    virtual int openNDOF(GHOST_IWindow* w,        
+        GHOST_NDOFLibraryInit_fp setNdofLibraryInit, 
+        GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
+        GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen);
+        
+// original patch only        
+//        GHOST_NDOFEventHandler_fp setNdofEventHandler);
+
+
+
+
        /***************************************************************************************
         ** Cursor management functionality
         ***************************************************************************************/
        /***************************************************************************************
         ** Cursor management functionality
         ***************************************************************************************/
@@ -212,7 +231,7 @@ public:
         * @return                      Indication of success.
         */
        virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool& isDown) const;
         * @return                      Indication of success.
         */
        virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool& isDown) const;
-
+       
        /***************************************************************************************
         ** Other (internal) functionality.
         ***************************************************************************************/
        /***************************************************************************************
         ** Other (internal) functionality.
         ***************************************************************************************/
@@ -243,6 +262,12 @@ public:
         */
        virtual inline GHOST_WindowManager* getWindowManager() const;
 
         */
        virtual inline GHOST_WindowManager* getWindowManager() const;
 
+       /**
+        * Returns a pointer to our n-degree of freedeom manager.
+        * @return A pointer to our n-degree of freedeom manager.
+        */
+       virtual inline GHOST_NDOFManager* getNDOFManager() const;
+
        /**
         * Returns the state of all modifier keys.
         * @param keys  The state of all modifier keys (true == pressed).
        /**
         * Returns the state of all modifier keys.
         * @param keys  The state of all modifier keys (true == pressed).
@@ -257,6 +282,22 @@ public:
         */
        virtual GHOST_TSuccess getButtons(GHOST_Buttons& buttons) const = 0;
 
         */
        virtual GHOST_TSuccess getButtons(GHOST_Buttons& buttons) const = 0;
 
+       /**
+        * Returns the selection buffer
+        * @param selection             Only used on X11
+        * @return                              Returns the clipboard data
+        *
+        */
+        virtual GHOST_TUns8* getClipboard(bool selection) const = 0;
+         
+         /**
+          * Put data to the Clipboard
+          * @param buffer              The buffer to copy to the clipboard
+          * @param selection   The clipboard to copy too only used on X11
+          */
+         virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0;
+
+       
 protected:
        /**
         * Initialize the system.
 protected:
        /**
         * Initialize the system.
@@ -290,9 +331,12 @@ protected:
        /** The event manager. */
        GHOST_EventManager* m_eventManager;
 
        /** The event manager. */
        GHOST_EventManager* m_eventManager;
 
+    /** The N-degree of freedom device manager */
+    GHOST_NDOFManager* m_ndofManager;
+       
        /** Prints all the events. */
 #ifdef GHOST_DEBUG
        /** Prints all the events. */
 #ifdef GHOST_DEBUG
-       GHOST_EventPrinter m_eventPrinter;
+       GHOST_EventPrinter* m_eventPrinter;
 #endif // GHOST_DEBUG
 
        /** Settings of the display before the display went fullscreen. */
 #endif // GHOST_DEBUG
 
        /** Settings of the display before the display went fullscreen. */
@@ -314,5 +358,10 @@ inline GHOST_WindowManager* GHOST_System::getWindowManager() const
        return m_windowManager;
 }
 
        return m_windowManager;
 }
 
+inline GHOST_NDOFManager* GHOST_System::getNDOFManager() const
+{
+       return m_ndofManager;
+}
+
 #endif // _GHOST_SYSTEM_H_
 
 #endif // _GHOST_SYSTEM_H_