[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29679] branches/soc-2010-merwin/intern/ ghost: hint for mouse/pen input fidelity

Mike Erwin significant.bit at gmail.com
Fri Jun 25 02:09:50 CEST 2010


Revision: 29679
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29679
Author:   merwin
Date:     2010-06-25 02:09:50 +0200 (Fri, 25 Jun 2010)

Log Message:
-----------
hint for mouse/pen input fidelity

Modified Paths:
--------------
    branches/soc-2010-merwin/intern/ghost/GHOST_ISystem.h
    branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.cpp
    branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.h

Modified: branches/soc-2010-merwin/intern/ghost/GHOST_ISystem.h
===================================================================
--- branches/soc-2010-merwin/intern/ghost/GHOST_ISystem.h	2010-06-25 00:07:03 UTC (rev 29678)
+++ branches/soc-2010-merwin/intern/ghost/GHOST_ISystem.h	2010-06-25 00:09:50 UTC (rev 29679)
@@ -353,7 +353,15 @@
 	 */
 	virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool& isDown) const = 0;
 
-	
+	/** Fidelity of mouse and pen input (this definition will probably live somewhere else)*/
+	typedef enum { LO_FI, NORMAL_FI, HI_FI } InputFidelity;
+
+	/**
+	 * Requests input at a certain fidelity. Certain tools want very smooth input, others don't care.
+	 * @param hint		Desired fidelity of mouse and pen events.
+	 */
+	virtual void setInputFidelity(InputFidelity hint) = 0;
+
 	/***************************************************************************************
 	 ** Access to clipboard.
 	 ***************************************************************************************/

Modified: branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.cpp
===================================================================
--- branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.cpp	2010-06-25 00:07:03 UTC (rev 29678)
+++ branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.cpp	2010-06-25 00:09:50 UTC (rev 29679)
@@ -48,7 +48,7 @@
 
 
 GHOST_System::GHOST_System()
-: m_displayManager(0), m_timerManager(0), m_windowManager(0), m_eventManager(0), m_ndofManager(0)
+: m_displayManager(0), m_timerManager(0), m_windowManager(0), m_eventManager(0), m_ndofManager(0), m_input_fidelity_hint(NORMAL_FI)
 {
 }
 
@@ -271,6 +271,11 @@
 	return success;
 }
 
+void GHOST_System::setInputFidelity(InputFidelity hint)
+{
+	m_input_fidelity_hint = hint;
+}
+
 GHOST_TSuccess GHOST_System::init()
 {
 	m_timerManager = new GHOST_TimerManager ();

Modified: branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.h
===================================================================
--- branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.h	2010-06-25 00:07:03 UTC (rev 29678)
+++ branches/soc-2010-merwin/intern/ghost/intern/GHOST_System.h	2010-06-25 00:09:50 UTC (rev 29679)
@@ -281,6 +281,12 @@
 	 * @return			Indication of success.
 	 */
 	virtual GHOST_TSuccess getButtons(GHOST_Buttons& buttons) const = 0;
+	
+	/**
+	 * Requests input at a certain fidelity. Certain tools want very smooth input, others don't care.
+	 * @param hint		Desired fidelity of mouse and pen events.
+	 */
+	void setInputFidelity(InputFidelity hint);
 
 	/**
 	 * Returns the selection buffer
@@ -354,6 +360,8 @@
 
 	/** Settings of the display before the display went fullscreen. */
 	GHOST_DisplaySetting m_preFullScreenSetting;
+	
+	InputFidelity m_input_fidelity_hint;
 };
 
 inline GHOST_TimerManager* GHOST_System::getTimerManager() const





More information about the Bf-blender-cvs mailing list