System dependent standard directory retrieval functions update : return const strings...
[blender.git] / intern / ghost / intern / GHOST_SystemCarbon.h
index 740006a..7f08706 100644 (file)
@@ -1,14 +1,11 @@
 /**
  * $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
- * 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
@@ -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,
- * 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.
@@ -26,7 +23,7 @@
  *
  * Contributor(s): none yet.
  *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
+ * ***** END GPL LICENSE BLOCK *****
  */
 /**
  * @file       GHOST_SystemCarbon.h
@@ -60,12 +57,12 @@ public:
     /**
      * Constructor.
      */
-    GHOST_SystemCarbon::GHOST_SystemCarbon();
+    GHOST_SystemCarbon();
     
     /** 
      * Destructor.
      */
-    GHOST_SystemCarbon::~GHOST_SystemCarbon();
+    ~GHOST_SystemCarbon();
     
        /***************************************************************************************
         ** Time(r) functionality
@@ -106,6 +103,7 @@ public:
         * @param       height  The height the window.
         * @param       state   The state of the window when opened.
         * @param       type    The type of drawing context installed in this window.
+        * @param       parentWindow    Parent (embedder) window
         * @return      The new window (or 0 if creation failed).
         */
        virtual GHOST_IWindow* createWindow(
@@ -116,9 +114,19 @@ public:
                GHOST_TUns32 height,
                GHOST_TWindowState state,
                GHOST_TDrawingContextType type,
+               const bool stereoVisual,
+               const GHOST_TUns16 numOfAASamples = 0,
+               const GHOST_TEmbedderWindowID parentWindow = 0 
+       );
+       
+       virtual GHOST_TSuccess beginFullScreen(
+               const GHOST_DisplaySetting& setting, 
+               GHOST_IWindow** window,
                const bool stereoVisual
        );
        
+       virtual GHOST_TSuccess endFullScreen( void );
+       
        /***************************************************************************************
         ** Event management functionality
         ***************************************************************************************/
@@ -168,6 +176,34 @@ public:
         */
        virtual GHOST_TSuccess getButtons(GHOST_Buttons& buttons) const;
 
+       /**
+        * Returns Clipboard data
+        * @param selection             Indicate which buffer to return
+        * @return                              Returns the selected buffer
+        */
+       virtual GHOST_TUns8* getClipboard(bool selection) const;
+       
+       /**
+        * Puts buffer to system clipboard
+        * @param buffer        The buffer to be copied
+        * @param selection     Indicates which buffer to copy too, only used on X11
+        */
+       virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const;
+
+       /**
+        * Determine the base dir in which shared resources are located. It will first try to use
+        * "unpack and run" path, then look for properly installed path, not including versioning.
+        * @return Unsigned char string pointing to system dir (eg /usr/share/blender/).
+        */
+       virtual const GHOST_TUns8* getSystemDir() const;
+
+       /**
+        * Determine the base dir in which user configuration is stored, not including versioning.
+        * If needed, it will create the base directory.
+        * @return Unsigned char string pointing to user dir (eg ~/.blender/).
+        */
+       virtual const GHOST_TUns8* getUserDir() const;
+
 protected:
        /**
         * Initializes the system.
@@ -182,6 +218,13 @@ protected:
         */
        virtual GHOST_TSuccess exit();
 
+       
+    /**
+     * Handles a tablet event.
+     * @param event    A Mac event.
+     * @return Indication whether the event was handled. 
+     */
+    OSStatus handleTabletEvent(EventRef event);
     /**
      * Handles a mouse event.
      * @param event    A Mac event.
@@ -217,6 +260,10 @@ protected:
      */
     bool handleMenuCommand(GHOST_TInt32 menuResult);
     
+    /* callback for blender generated events */
+//     static OSStatus blendEventHandlerProc(EventHandlerCallRef handler, EventRef event, void* userData);
+
+
     /**
      * Callback for Carbon when it has events.
      */