Ejemplo n.º 1
0
/**
 * Performs cleanup of Sony-CLIE specific features.
 */
static Err SonySilkLibFree(DIA_Settings* diaSettings) 
{
    UInt32  vskVersion=0;
    Err     error;

    Assert(diaSettings);
    Assert(DIA_HasSonySilkLib(diaSettings));
    Assert(diaSettings->sonySilkLibRefNum);

    error=FtrGet(sonySysFtrCreator, sonySysFtrNumVskVersion, &vskVersion);
    if (error)
    {
        SilkLibDisableResize(diaSettings->sonySilkLibRefNum);
        error=SilkLibClose(diaSettings->sonySilkLibRefNum);
        if (silkLibErrStillOpen==error) error=errNone;
        if (error) goto OnErrorFreeLib;
    }
    else
    {
        error=VskClose(diaSettings->sonySilkLibRefNum);
        if (vskErrStillOpen==error) error=errNone;
        if (error) goto OnErrorFreeLib;
    }

OnErrorFreeLib:
    if (DIA_TestFlag(diaSettings, diaLoadedSonySilkLib))
    {
        Err tmpErr=SysLibRemove(diaSettings->sonySilkLibRefNum);
        if (tmpErr) error=tmpErr;
    }
    diaSettings->sonySilkLibRefNum=0;
    return error;
}
Ejemplo n.º 2
0
void SetDIAAllowResize( Boolean allow )
{
    switch ( hardware ) {
#ifdef SUPPORT_DIA_SONY
        case DIA_HARDWARE_SONY2:
            if ( allow ) {
                /* If available, enable horizontal resize */
                if ( 0x03 <= VskGetAPIVersion( sonyRefNum ) )
                    VskSetState( sonyRefNum, vskStateEnable,
                        vskResizeHorizontally );
                /* Enable vertical resize */
                VskSetState( sonyRefNum, vskStateEnable,
                    vskResizeVertically );
            }
            else {
                VskSetState( sonyRefNum, vskStateEnable, 0 );
            }
            break;
        case DIA_HARDWARE_SONY1:
            if ( allow )
                SilkLibEnableResize( sonyRefNum );
            else
                SilkLibDisableResize( sonyRefNum );

            sony1AllowResize = allow;

            break;
#endif
#ifdef HAVE_PALM_DIA_SDK
        case DIA_HARDWARE_PALM11:
        case DIA_HARDWARE_PALM10:
            PINSetInputTriggerState( allow ? pinInputTriggerEnabled :
                                                 pinInputTriggerDisabled );
            SysSetOrientationTriggerState( allow ?
                sysOrientationTriggerEnabled : sysOrientationTriggerDisabled );
            break;
#endif
        /* Note: On Handera, resizing is always enabled */
        default:
            break;
    }
}
Ejemplo n.º 3
0
void
SonySetSilkResizable(UInt8 state)
{
	if (silk_ver == -1)
		return;
	if (silk_ver == 0) {
		if (state) {
			SilkLibEnableResize(silk_ref);
		} else {
			SilkLibResizeDispWin(silk_ref, silkResizeNormal);
			SilkLibDisableResize(silk_ref);
		}
	} else {
		if (!state)
			VskSetState(silk_ref, vskStateEnable, state);
		else if (silk_ver >= 0x03)
			VskSetState(silk_ref, vskStateEnable,
			    vskResizeVertically | vskResizeHorizontally);
		else
			VskSetState(silk_ref, vskStateEnable, 1);
	}
}
Ejemplo n.º 4
0
static DIAHardwareType InitializeSony( void )
{
    Err    err;
    UInt32 version;

    err = SysLibFind( sonySysLibNameSilk, &sonyRefNum );
    if ( err == sysErrLibNotFound ) {
        err = SysLibLoad( 'libr', sonySysFileCSilkLib, &sonyRefNum );
    }
    if ( err != errNone )
        return DIA_HARDWARE_NONE;
    if ( errNone == FtrGet( sonySysFtrCreator, sonySysFtrNumVskVersion, 
                        &version ) ) {
        /* Version 2 and up */
        err = VskOpen( sonyRefNum );
        if ( errNone == err )
            return DIA_HARDWARE_SONY2;
    }
    else {
        /* Version 1 and up */
        err = SilkLibOpen( sonyRefNum );
        if ( errNone == err ) {
            /* Make sure we are in a Hi-Res mode */
            UInt32 width;
            UInt32 height;
            UInt16 sonyHiResRefNum;

            err = SysLibFind( sonySysLibNameHR, &sonyHiResRefNum );
            if ( err == sysErrLibNotFound )
                err = SysLibLoad( 'libr', sonySysFileCHRLib, &sonyHiResRefNum );

            if ( err == errNone ) {

                err = HROpen( sonyHiResRefNum );
                HRWinScreenMode( sonyHiResRefNum, winScreenModeGet, &width,
                     &height, NULL, NULL );

                if ( width < hrWidth ) {

                    width  = hrWidth;
                    height = hrHeight;
                    if ( errNone != HRWinScreenMode( sonyHiResRefNum,
                                        winScreenModeSet,
                                        &width, &height, NULL, NULL ) ) {
                        HRClose( sonyHiResRefNum );
                        return DIA_HARDWARE_NONE;
                    }
                }
                HRClose( sonyHiResRefNum );
            }
            else
                return DIA_HARDWARE_NONE;
        }

        SilkLibDisableResize( sonyRefNum );

        sony1AllowResize = false;

        return DIA_HARDWARE_SONY1;
    }
    return DIA_HARDWARE_NONE;
}