add the option of not installing to scons build system
[blender.git] / intern / ghost / GHOST_IWindow.h
index a3e5bd0e7880f5b0b79a81e9d592061086a2dcbd..5f6bbe553c60e244bf4c6ceeac36e48bbb8bfddd 100644 (file)
  *
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
-
 /**
-
- * $Id$
- * Copyright (C) 2001 NaN Technologies B.V.
- * @author     Maarten Gribnau
- * @date       May 31, 2001
+ * @file       GHOST_IWindow.h
+ * Declaration of GHOST_IWindow interface class.
  */
 
 #ifndef _GHOST_IWINDOW_H_
 #define _GHOST_IWINDOW_H_
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
 #include "STR_String.h"
 #include "GHOST_Rect.h"
 #include "GHOST_Types.h"
 
 /**
  * Interface for GHOST windows.
- * Dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. 
+ *
+ * You can create a window with the system's GHOST_ISystem::createWindow 
+ * method.
+ * @see GHOST_ISystem#createWindow
+ *
+ * There are two coordinate systems:
+ * <ul>
+ * <li>The screen coordinate system. The origin of the screen is located in the
+ * upper left corner of the screen.</li> 
+ * <li>The client rectangle coordinate system. The client rectangle of a window
+ * is the area that is drawable by the application (excluding title bars etc.).
+ * </li> 
+ * </ul>
  * @author     Maarten Gribnau
  * @date       May 31, 2001
  */
-
 class GHOST_IWindow
 {
 public:
@@ -76,7 +79,7 @@ public:
         * Returns the type of drawing context used in this window.
         * @return The current type of drawing context.
         */
-       inline virtual GHOST_TDrawingContextType getDrawingContextType() = 0;
+       virtual GHOST_TDrawingContextType getDrawingContextType() = 0;
 
        /**
         * Tries to install a rendering context in this window.
@@ -190,7 +193,7 @@ public:
         * Returns the window user data.
         * @return The window user data.
         */
-       inline virtual GHOST_TUserDataPtr getUserData() const = 0;
+       virtual GHOST_TUserDataPtr getUserData() const = 0;
        
        /**
         * Changes the window user data.
@@ -198,6 +201,12 @@ public:
         */
        virtual void setUserData(const GHOST_TUserDataPtr userData) = 0;
        
+       /**
+        * Returns the tablet data (pressure etc).
+        * @return The tablet data (pressure etc).
+        */
+       virtual const GHOST_TabletData* GetTabletData() = 0;
+       
        /***************************************************************************************
         ** Cursor management functionality
         ***************************************************************************************/
@@ -227,6 +236,12 @@ public:
                                                                                                GHOST_TUns8 mask[16][2], 
                                                                                                int hotX, 
                                                                                                int hotY) = 0;
+                                                                                               
+       virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 *bitmap, 
+                                                                                               GHOST_TUns8 *mask, 
+                                                                                               int sizex, int sizey, 
+                                                                                               int hotX, int hotY, 
+                                                                                               int fg_color, int bg_color) = 0;
 
        /**
         * Returns the visibility state of the cursor.