/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "splashscreen_impl.h"
#include "splashscreen_gfx_impl.h"
int splashIsVisible = 0;
Splash *
{
static int preInitialized = 0;
if (!preInitialized) {
preInitialized = 1;
}
return &splash;
}
SPLASHEXPORT void
}
SPLASHEXPORT void
{
}
SPLASHEXPORT void
{
}
}
void
{
int i;
for (i = 0; i < splash->frameCount; i++) {
}
}
}
if (splash->overlayData) {
}
}
void
{
}
int
{
if (splash->currentFrame < 0)
return 0;
}
void
{
if (splash->screenData)
if (splash->overlayData) {
}
else {
}
}
void
{
if (splash->currentFrame < 0)
return;
do {
if (!SplashIsStillLooping(splash))
return;
splash->currentFrame = 0;
}
SplashTime() <= 0);
}
int
{
int i, j, i0;
int length;
/* generate data for a scanline */
i = 0;
do {
while (i < pSrcRect->numSamples &&
++i;
}
if (i >= pSrcRect->numSamples)
break;
i0 = i;
while (i < pSrcRect->numSamples &&
++i;
}
++pThis;
} while (i < pSrcRect->numSamples);
/* check if the previous scanline is exactly the same, merge if so
(this is the only optimization we can use for YXBanded rectangles, and win32 supports
YXBanded only */
}
// do merge
for (i = 0; i < length; i++) {
RECT_INC_HEIGHT(pPrevLine[i]);
}
continue;
}
}
/* or else use the generated scanline */
}
}
typedef struct FILEFORMAT
{
int sign;
} FILEFORMAT;
{0x47, SplashDecodeGifStream},
{0x89, SplashDecodePngStream},
{0xFF, SplashDecodeJpegStream}
};
static int
{
int success = 0;
int c;
size_t i;
return 0;
}
/* the formats we support can be easily distinguished by the first byte */
if (c != -1) {
for (i = 0; i < sizeof(formats) / sizeof(FILEFORMAT); i++) {
break;
}
}
}
if (!success) { // failed to decode
}
SplashClose();
}
}
else {
splash->currentFrame = 0;
} else {
}
}
return success;
}
SPLASHEXPORT int
{
}
SPLASHEXPORT int
{
}
/* SplashStart MUST be called from under the lock */
void
{
}
}
/* SplashStream functions */
}
int c = fgetc(f);
if (c != EOF) {
ungetc(c, f);
return c;
} else {
return -1;
}
}
fclose(f);
}
}
if (nBytes>0) {
}
return nBytes;
}
return -1;
} else {
return (int)*pSrc;
}
}
}
}
return 1;
}