jdk/src/java.desktop/windows/native/libsplashscreen/splashscreen_sys.c
changeset 27079 05150f708e53
parent 25859 3317bb8137f4
child 36907 c3d8383e3efb
equal deleted inserted replaced
27078:39275d6a8cac 27079:05150f708e53
     1 /*
     1 /*
     2  * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
   211 /* The function makes the window visible if it is hidden
   211 /* The function makes the window visible if it is hidden
   212  or is not yet shown. */
   212  or is not yet shown. */
   213 void
   213 void
   214 SplashRedrawWindow(Splash * splash)
   214 SplashRedrawWindow(Splash * splash)
   215 {
   215 {
       
   216     if (!SplashIsStillLooping(splash)) {
       
   217         KillTimer(splash->hWnd, 0);
       
   218     }
       
   219 
       
   220     if (splash->currentFrame < 0) {
       
   221         return;
       
   222     }
       
   223 
   216     SplashUpdateScreenData(splash);
   224     SplashUpdateScreenData(splash);
   217     if (splash->isLayered) {
   225     if (splash->isLayered) {
   218         BLENDFUNCTION bf;
   226         BLENDFUNCTION bf;
   219         POINT ptSrc;
   227         POINT ptSrc;
   220         HDC hdcSrc = CreateCompatibleDC(NULL), hdcDst;
   228         HDC hdcSrc = CreateCompatibleDC(NULL), hdcDst;
   300             splash->frames[splash->currentFrame].delay - SplashTime();
   308             splash->frames[splash->currentFrame].delay - SplashTime();
   301 
   309 
   302         if (time < 0)
   310         if (time < 0)
   303             time = 0;
   311             time = 0;
   304         SetTimer(splash->hWnd, 0, time, NULL);
   312         SetTimer(splash->hWnd, 0, time, NULL);
   305     }
       
   306     else {
       
   307         KillTimer(splash->hWnd, 0);
       
   308     }
   313     }
   309 }
   314 }
   310 
   315 
   311 void SplashReconfigureNow(Splash * splash) {
   316 void SplashReconfigureNow(Splash * splash) {
   312     splash->x = (GetSystemMetrics(SM_CXSCREEN) - splash->width) / 2;
   317     splash->x = (GetSystemMetrics(SM_CXSCREEN) - splash->width) / 2;