[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29152] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/ blender -r29132:29150

Campbell Barton ideasman42 at gmail.com
Wed Jun 2 09:41:56 CEST 2010


Revision: 29152
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29152
Author:   campbellbarton
Date:     2010-06-02 09:41:55 +0200 (Wed, 02 Jun 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender  -r29132:29150

Modified Paths:
--------------
    branches/render25/intern/ghost/GHOST_C-api.h
    branches/render25/intern/ghost/GHOST_IWindow.h
    branches/render25/intern/ghost/intern/GHOST_C-api.cpp
    branches/render25/intern/ghost/intern/GHOST_Window.cpp
    branches/render25/intern/ghost/intern/GHOST_Window.h
    branches/render25/intern/ghost/intern/GHOST_WindowCocoa.h
    branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm
    branches/render25/source/blender/blenkernel/intern/CCGSubSurf.c
    branches/render25/source/blender/blenkernel/intern/multires.c
    branches/render25/source/blender/blenlib/intern/math_geom.c
    branches/render25/source/blender/editors/interface/interface_handlers.c
    branches/render25/source/blender/editors/sculpt_paint/sculpt.c
    branches/render25/source/blender/editors/space_outliner/outliner.c
    branches/render25/source/blender/editors/space_view3d/view3d_edit.c
    branches/render25/source/blender/editors/space_view3d/view3d_intern.h
    branches/render25/source/blender/editors/space_view3d/view3d_view.c
    branches/render25/source/blender/modifiers/intern/MOD_screw.c
    branches/render25/source/blender/windowmanager/WM_api.h
    branches/render25/source/blender/windowmanager/intern/wm_jobs.c
    branches/render25/source/blender/windowmanager/intern/wm_window.c
    branches/render25/source/blenderplayer/bad_level_call_stubs/stubs.c

Modified: branches/render25/intern/ghost/GHOST_C-api.h
===================================================================
--- branches/render25/intern/ghost/GHOST_C-api.h	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/intern/ghost/GHOST_C-api.h	2010-06-02 07:41:55 UTC (rev 29152)
@@ -264,7 +264,24 @@
 extern GHOST_TSuccess GHOST_AddEventConsumer(GHOST_SystemHandle systemhandle,
 											  GHOST_EventConsumerHandle consumerhandle);
 	
+/***************************************************************************************
+ ** Progress bar functionality
+ ***************************************************************************************/
 
+/**
+ * Sets the progress bar value displayed in the window/application icon
+ * @param windowhandle The handle to the window
+ * @param progress The progress % (0.0 to 1.0)
+ */
+extern GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle, float progress);
+
+/**
+ * Hides the progress bar in the icon
+ * @param windowhandle The handle to the window
+ */
+extern GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle);
+	
+	
 /***************************************************************************************
  ** N-degree of freedom device management functionality
  ***************************************************************************************/

Modified: branches/render25/intern/ghost/GHOST_IWindow.h
===================================================================
--- branches/render25/intern/ghost/GHOST_IWindow.h	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/intern/ghost/GHOST_IWindow.h	2010-06-02 07:41:55 UTC (rev 29152)
@@ -235,6 +235,21 @@
 	virtual const GHOST_TabletData* GetTabletData() = 0;
 	
 	/***************************************************************************************
+	 ** Progress bar functionality
+	 ***************************************************************************************/
+	
+	/**
+     * Sets the progress bar value displayed in the window/application icon
+	 * @param progress The progress %
+	 */
+	virtual GHOST_TSuccess setProgressBar(float progress) = 0;
+	
+	/**
+	 * Hides the progress bar in the icon
+	 */
+	virtual GHOST_TSuccess endProgressBar() = 0;
+	
+	/***************************************************************************************
 	 ** Cursor management functionality
 	 ***************************************************************************************/
 

Modified: branches/render25/intern/ghost/intern/GHOST_C-api.cpp
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_C-api.cpp	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/intern/ghost/intern/GHOST_C-api.cpp	2010-06-02 07:41:55 UTC (rev 29152)
@@ -248,6 +248,21 @@
 	return system->addEventConsumer((GHOST_CallbackEventConsumer*)consumerhandle);
 }
 
+GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle,float progress)
+{
+	GHOST_IWindow* window = (GHOST_IWindow*) windowhandle;
+
+	return window->setProgressBar(progress);
+}
+
+GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle)
+{
+	GHOST_IWindow* window = (GHOST_IWindow*) windowhandle;
+
+	return window->endProgressBar();
+}
+
+
 int GHOST_OpenNDOF(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle,
    GHOST_NDOFLibraryInit_fp setNdofLibraryInit, 
     GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,

Modified: branches/render25/intern/ghost/intern/GHOST_Window.cpp
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_Window.cpp	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/intern/ghost/intern/GHOST_Window.cpp	2010-06-02 07:41:55 UTC (rev 29152)
@@ -53,6 +53,8 @@
 	m_isUnsavedChanges = false;
 	m_canAcceptDragOperation = false;
 	
+	m_progressBarVisible = false;
+	
     m_cursorGrabAccumPos[0] = 0;
     m_cursorGrabAccumPos[1] = 0;
 

Modified: branches/render25/intern/ghost/intern/GHOST_Window.h
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_Window.h	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/intern/ghost/intern/GHOST_Window.h	2010-06-02 07:41:55 UTC (rev 29152)
@@ -192,6 +192,17 @@
 	virtual GHOST_TSuccess getCursorGrabBounds(GHOST_Rect& bounds);
 
 	/**
+     * Sets the progress bar value displayed in the window/application icon
+	 * @param progress The progress % (0.0 to 1.0)
+	 */
+	virtual GHOST_TSuccess setProgressBar(float progress) {return GHOST_kFailure;};
+	
+	/**
+	 * Hides the progress bar in the icon
+	 */
+	virtual GHOST_TSuccess endProgressBar() {return GHOST_kFailure;};
+	
+	/**
 	 * Tells if the ongoing drag'n'drop object can be accepted upon mouse drop
 	 */
 	virtual void setAcceptDragOperation(bool canAccept);
@@ -313,6 +324,9 @@
 	/** The current shape of the cursor */
 	GHOST_TStandardCursor m_cursorShape;
     
+	/** The presence of progress indicator with the application icon */
+	bool m_progressBarVisible;
+	
 	/** The acceptance of the "drop candidate" of the current drag'n'drop operation */
 	bool m_canAcceptDragOperation;
 	

Modified: branches/render25/intern/ghost/intern/GHOST_WindowCocoa.h
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_WindowCocoa.h	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/intern/ghost/intern/GHOST_WindowCocoa.h	2010-06-02 07:41:55 UTC (rev 29152)
@@ -226,6 +226,17 @@
 
 	GHOST_TabletData& GetCocoaTabletData()
 	{ return m_tablet; }
+	
+	/**
+	 * Sets the progress bar value displayed in the window/application icon
+	 * @param progress The progress % (0.0 to 1.0)
+	 */
+	virtual GHOST_TSuccess setProgressBar(float progress);
+	
+	/**
+	 * Hides the progress bar icon
+	 */
+	virtual GHOST_TSuccess endProgressBar();
 protected:
 	/**
 	 * Tries to install a rendering context in this window.
@@ -291,14 +302,6 @@
 	NSCursor*	m_customCursor;
 
 	GHOST_TabletData m_tablet;
-    
-    /**
-     * The width/height of the size rectangle in the lower right corner of a 
-     * Mac/Carbon window. This is also the height of the gutter area.
-     */
-#ifdef GHOST_DRAW_CARBON_GUTTER
-    static const GHOST_TInt32 s_sizeRectSize;
-#endif // GHOST_DRAW_CARBON_GUTTER
 };
 
 #endif // _GHOST_WINDOW_COCOA_H_

Modified: branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm	2010-06-02 07:41:55 UTC (rev 29152)
@@ -1020,6 +1020,66 @@
 	return GHOST_kSuccess;
 }
 
+#pragma mark Progress bar
+
+GHOST_TSuccess GHOST_WindowCocoa::setProgressBar(float progress)
+{
+	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+	
+	if ((progress >=0.0) && (progress <=1.0)) {
+		NSImage* dockIcon = [[NSImage alloc] initWithSize:NSMakeSize(128,128)];
+		
+		[dockIcon lockFocus];
+        NSRect progressBox = {{4, 4}, {120, 16}};
+
+        [[NSImage imageNamed:@"NSApplicationIcon"] dissolveToPoint:NSZeroPoint fraction:1.0];
+        
+        // Track & Outline
+        [[NSColor blackColor] setFill];
+        NSRectFill(progressBox);
+        
+        [[NSColor whiteColor] set];
+        NSFrameRect(progressBox);
+        
+        // Progress fill
+        progressBox = NSInsetRect(progressBox, 1, 1);
+        [[NSColor knobColor] setFill];
+        progressBox.size.width = progressBox.size.width * progress;
+		NSRectFill(progressBox);
+		
+		[dockIcon unlockFocus];
+		
+		[NSApp setApplicationIconImage:dockIcon];
+		[dockIcon release];
+		
+		m_progressBarVisible = true;
+	}
+	
+	[pool drain];
+	return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess GHOST_WindowCocoa::endProgressBar()
+{
+	if (!m_progressBarVisible) return GHOST_kFailure;
+	m_progressBarVisible = false;
+	
+	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+	
+	NSImage* dockIcon = [[NSImage alloc] initWithSize:NSMakeSize(128,128)];
+	[dockIcon lockFocus];
+	[[NSImage imageNamed:@"NSApplicationIcon"] dissolveToPoint:NSZeroPoint fraction:1.0];
+	[dockIcon unlockFocus];
+	[NSApp setApplicationIconImage:dockIcon];
+	[dockIcon release];
+	
+	[pool drain];
+	return GHOST_kSuccess;
+}
+
+
+
 #pragma mark Cursor handling
 
 void GHOST_WindowCocoa::loadCursor(bool visible, GHOST_TStandardCursor cursor) const

Modified: branches/render25/source/blender/blenkernel/intern/CCGSubSurf.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/CCGSubSurf.c	2010-06-02 07:41:05 UTC (rev 29151)
+++ branches/render25/source/blender/blenkernel/intern/CCGSubSurf.c	2010-06-02 07:41:55 UTC (rev 29152)
@@ -1159,7 +1159,7 @@
 	int normalDataOffset = ss->normalDataOffset;
 	int vertDataSize = ss->meshIFC.vertDataSize;
 
-	#pragma omp parallel for private(ptrIdx) schedule(static)
+	//#pragma omp parallel for private(ptrIdx) schedule(static)
 	for (ptrIdx=0; ptrIdx<numEffectedF; ptrIdx++) {
 		CCGFace *f = (CCGFace*) effectedF[ptrIdx];
 		int S, x, y;
@@ -1285,7 +1285,7 @@
 		}
 	}
 
-	#pragma omp parallel for private(ptrIdx) schedule(static)
+	//#pragma omp parallel for private(ptrIdx) schedule(static)
 	for (ptrIdx=0; ptrIdx<numEffectedF; ptrIdx++) {
 		CCGFace *f = (CCGFace*) effectedF[ptrIdx];
 		int S, x, y;
@@ -1351,7 +1351,7 @@
 	int vertDataSize = ss->meshIFC.vertDataSize;
 	void *q = ss->q, *r = ss->r;
 
-	#pragma omp parallel for private(ptrIdx) schedule(static)
+	//#pragma omp parallel for private(ptrIdx) schedule(static)
 	for (ptrIdx=0; ptrIdx<numEffectedF; ptrIdx++) {
 		CCGFace *f = (CCGFace*) effectedF[ptrIdx];
 		int S, x, y;
@@ -1685,17 +1685,17 @@
 		}
 	}
 
-	#pragma omp parallel private(ptrIdx)
+	//#pragma omp parallel private(ptrIdx)
 	{
 		void *q, *r;
 
-		#pragma omp critical
+		//#pragma omp critical
 		{
 			q = MEM_mallocN(ss->meshIFC.vertDataSize, "CCGSubsurf q");
 			r = MEM_mallocN(ss->meshIFC.vertDataSize, "CCGSubsurf r");
 		}
 
-		#pragma omp for schedule(static)
+		//#pragma omp for schedule(static)
 		for (ptrIdx=0; ptrIdx<numEffectedF; ptrIdx++) {
 			CCGFace *f = (CCGFace*) effectedF[ptrIdx];
 			int S, x, y;
@@ -1779,7 +1779,7 @@
 			}
 		}
 
-		#pragma omp critical
+		//#pragma omp critical
 		{
 			MEM_freeN(q);
 			MEM_freeN(r);
@@ -1791,14 +1791,14 @@
 	gridSize = 1 + (1<<((nextLvl)-1));

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list