/*
* 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"
#import <Cocoa/Cocoa.h>
#import <objc/objc-auto.h>
#import "NSApplicationAWT.h"
static NSScreen* SplashNSScreen()
{
}
{
}
SplashTime(void) {
}
/* Could use npt but decided to cut down on linked code size */
const char *codeset;
const char *codeset_out;
const char* old_locale;
if (!in) {
return NULL;
}
goto done;
}
/* we don't need BOM in output so we choose native BE or LE encoding here */
"UCS-2BE" : "UCS-2LE";
goto done;
}
if (!buf) {
return NULL;
}
// 2 bytes per source byte max
/* linux iconv wants char** source and solaris wants const char**...
cast to void* */
} else {
if (size) {
}
}
done:
return buf;
}
void
//TODO: the following is too much of a hack but should work in 90% cases.
// besides we don't use device-dependant drawing, so probably
// that's very fine indeed
0xff << 16, 0xff << 24, 0xff << 0);
dispatch_async(dispatch_get_main_queue(), ^(void) {
});
}
void
}
void
}
}];
}
void
}
void
}
void
// No shapes, we rely on alpha compositing
}
void * SplashScreenThread(void *param);
void
int rc;
}
void
// NSDeviceRGBColorSpace vs. NSCalibratedRGBColorSpace ?
bitsPerPixel: 32];
//NOTE: we don't set a 'wait cursor' for the view because:
// 1. The Cocoa GUI guidelines suggest to avoid it, and use a progress
// bar instead.
// 2. There simply isn't an instance of NSCursor that represent
// the 'wait cursor'. So that is undoable.
//TODO: only the first image in an animated gif preserves transparency.
// Loos like the splash->screenData contains inappropriate data
// for all but the first frame.
}];
}
return;
}
}];
}
void
/* we should have splash _locked_ on entry!!! */
while (1) {
int timeout = -1;
int rc;
int pipes_empty;
errno = 0;
- SplashTime();
if (timeout < 0) {
timeout = 0;
}
}
}
if (rc <= 0) {
errno = 0;
continue;
}
pipes_empty = 0;
while(!pipes_empty) {
char buf;
pipes_empty = 1;
pipes_empty = 0;
switch (buf) {
case SPLASHCTL_UPDATE:
}
break;
case SPLASHCTL_RECONFIGURE:
}
break;
case SPLASHCTL_QUIT:
return;
}
}
}
}
}
void *
SplashScreenThread(void *param) {
screen: SplashNSScreen()];
}];
}];
}
return 0;
}
void
}
}
void
}
void
}
void
}