/*
* 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.h"
#include "sizecalc.h"
// not required to take any action.
// in place.
// graphic must be restored to the background color.
// restore the area overwritten by the graphic with
// what was there prior to rendering the graphic.
// convert libungif samples to our ones
/* stdio FILE* and memory input functions for libungif */
int
{
return rc;
}
/* These macro help to ensure that we only take part of frame that fits into
logical screen. */
/* Ensure that p belongs to [pmin, pmax) interval. Returns fixed point (if fix is needed) */
/* Ensures that line starting at point p does not exceed boundary pmax.
Returns fixed length (if fix is needed) */
int
{
int stride;
int bufferSize;
int i, j;
int imageIndex;
return 0;
}
return 0;
}
stride =
return 0;
}
return 0;
}
if (!pBitmapBits) {
return 0;
}
if (!pOldBitmapBits) {
return 0;
}
return 0;
}
int colorCount = 0;
if (colorMap) {
} else {
}
}
/* the code below is loosely based around gif extension processing from win32 libungif sample */
for (i = 0; i < image->ExtensionBlockCount; i++) {
case GRAPHICS_EXT_FUNC_CODE:
{
if (frameDelay < 10)
frameDelay = 10;
if (flag & GIF_TRANSPARENT) {
} else {
}
break;
}
{
if (size == sizeof(szNetscape20ext)
int iSubCode;
if (++i >= image->ExtensionBlockCount)
break;
break;
if (iSubCode == NSEXT_LOOP) {
}
}
break;
}
default:
break;
}
}
if (colorMap) {
for (i = 0; i < colorCount; i++) {
}
}
{
pass = 0;
npass = 4;
}
else {
pass = 4;
npass = 5;
}
srcFormat.premultiplied = 0;
/* Number of source lines for current pass */
/* Number of lines that fits to dest buffer */
if (numLines > 0) {
}
// skip extra source data
}
}
// now dispose of the previous frame correctly
/* Assuming that callee will take care of splash frames we have already allocated */
return 0;
}
switch (disposeMethod) {
case GIF_DISPOSE_LEAVE:
break;
case GIF_DISPOSE_NONE:
break;
case GIF_DISPOSE_BACKGND:
{
if (transparentColor < 0) {
}
1, stride,
}
break;
case GIF_DISPOSE_RESTORE:
{
if (lineSize > 0) {
for (j=0; j<ch; j++) {
lineSize);
}
}
}
break;
}
}
return 1;
}
int
{
if (!gif)
return 0;
}