--- a/WinWorkstation.st Tue Feb 21 17:03:09 2006 +0100
+++ b/WinWorkstation.st Tue Feb 21 17:05:03 2006 +0100
@@ -15489,6 +15489,45 @@
%}
!
+animateWindow:aWindowId show:doShow animation:animationSymbolorNil time:timeInMillisOrNil
+ "make a window visible/invisible with animation effect."
+
+%{
+ if (__isExternalAddress(aWindowId)) {
+ HWND hWnd = _HWNDVal(aWindowId);
+
+ if (hWnd) {
+ DWORD how = (doShow == true) ? AW_ACTIVATE : AW_HIDE;
+ DWORD time = 0;
+
+ CPRINTF(("mapWindowAnimated %x\n", hWnd));
+ if (animationSymbolorNil != nil) {
+ if (__isSmallInteger(timeInMillisOrNil)) {
+ time = __intVal(timeInMillisOrNil);
+ }
+ if (animationSymbolorNil == @symbol(SLIDE)) {
+ how |= AW_SLIDE;
+ } else if (animationSymbolorNil == @symbol(BLEND)) {
+ how |= AW_BLEND;
+ } else if (animationSymbolorNil == @symbol(CENTER)) {
+ how |= AW_CENTER;
+ } else if (animationSymbolorNil == @symbol(HOR_POSITIVE)) {
+ how |= AW_HOR_POSITIVE;
+ } else if (animationSymbolorNil == @symbol(HOR_NEGATIVE)) {
+ how |= AW_HOR_NEGATIVE;
+ } else if (animationSymbolorNil == @symbol(VER_POSITIVE)) {
+ how |= AW_VER_POSITIVE;
+ } else if (animationSymbolorNil == @symbol(VER_NEGATIVE)) {
+ how |= AW_VER_NEGATIVE;
+ }
+ }
+ AnimateWindow(hWnd, time, how);
+ }
+ RETURN ( self );
+ }
+%}
+!
+
configureWindow:aWindowId sibling:siblingId stackMode:modeSymbol
"configure stacking operation of aWindowId w.r.t siblingId"
@@ -15806,6 +15845,12 @@
%}
!
+mapWindow:aWindowId animation:animationSymbolorNil time:timeInMillisOrNil
+ "make a window visible with some animation effect"
+
+ self animateWindow:aWindowId show:true animation:animationSymbolorNil time:timeInMillisOrNil
+!
+
moveResizeWindow:aWindowId x:x y:y width:w height:h
"move and resize a window"
@@ -16603,6 +16648,12 @@
%}
!
+unmapWindow:aWindowId animation:animationSymbolorNil time:timeInMillisOrNil
+ "make a window invisible with some animation effect."
+
+ self animateWindow:aWindowId show:false animation:animationSymbolorNil time:timeInMillisOrNil
+!
+
windowIsIconified:aWindowId
"return true, if some window is iconified."
@@ -16732,7 +16783,7 @@
!WinWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.321 2006-02-20 09:58:34 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.322 2006-02-21 16:05:03 cg Exp $'
! !
WinWorkstation initialize!