예제 #1
0
DFBResult
CorePalette_SetEntriesYUV(
                    CorePalette                               *obj,
                    const DFBColorYUV                         *colors,
                    u32                                        num,
                    u32                                        offset
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::IPalette_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.SetEntriesYUV( colors, num, offset );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::IPalette_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.SetEntriesYUV( colors, num, offset );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #2
0
DFBResult
CoreInputDevice_SetKeymapEntry(
                    CoreInputDevice                           *obj,
                    s32                                        key_code,
                    const DFBInputDeviceKeymapEntry           *entry
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::IInputDevice_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.SetKeymapEntry( key_code, entry );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::IInputDevice_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.SetKeymapEntry( key_code, entry );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #3
0
DFBResult
CoreInputDevice_ReloadKeymap(
                    CoreInputDevice                           *obj

)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::IInputDevice_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.ReloadKeymap(  );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::IInputDevice_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.ReloadKeymap(  );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #4
0
DFBResult
CoreDFB_CreateState(
                    CoreDFB                                   *obj,
                    CoreGraphicsState                        **ret_state
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.CreateState( ret_state );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.CreateState( ret_state );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #5
0
DFBResult
CoreInputDevice_SetConfiguration(
                    CoreInputDevice                           *obj,
                    const DFBInputDeviceConfig                *config
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::IInputDevice_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.SetConfiguration( config );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::IInputDevice_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.SetConfiguration( config );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #6
0
DFBResult
CoreDFB_ClipboardGetTimestamp(
                    CoreDFB                                   *obj,
                    u64                                       *ret_timestamp_us
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.ClipboardGetTimestamp( ret_timestamp_us );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.ClipboardGetTimestamp( ret_timestamp_us );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #7
0
DFBResult
CoreDFB_Initialize(
                    CoreDFB                                   *obj

)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.Initialize(  );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.Initialize(  );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #8
0
DFBResult
CoreLayer_GetPrimaryContext(
                    CoreLayer                                 *obj,
                    bool                                       activate,
                    CoreLayerContext                         **ret_context
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ILayer_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.GetPrimaryContext( activate, ret_context );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ILayer_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.GetPrimaryContext( activate, ret_context );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #9
0
DFBResult
CoreLayer_WaitVSync(
                    CoreLayer                                 *obj

)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ILayer_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.WaitVSync(  );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ILayer_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.WaitVSync(  );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #10
0
DFBResult
CoreDFB_GetSurface(
                    CoreDFB                                   *obj,
                    u32                                        surface_id,
                    CoreSurface                              **ret_surface
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.GetSurface( surface_id, ret_surface );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.GetSurface( surface_id, ret_surface );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #11
0
DFBResult
CoreDFB_AllowSurface(
                    CoreDFB                                   *obj,
                    CoreSurface                               *surface,
                    const char                                *executable,
                    u32                                        executable_length
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.AllowSurface( surface, executable, executable_length );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.AllowSurface( surface, executable, executable_length );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #12
0
DFBResult
CoreDFB_CreateImageProvider(
                    CoreDFB                                   *obj,
                    u32                                        buffer_call,
                    u32                                       *ret_call
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.CreateImageProvider( buffer_call, ret_call );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.CreateImageProvider( buffer_call, ret_call );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #13
0
DFBResult
CoreLayer_GetCurrentOutputField(
                    CoreLayer                                 *obj,
                    s32                                       *ret_field
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ILayer_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.GetCurrentOutputField( ret_field );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ILayer_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.GetCurrentOutputField( ret_field );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #14
0
DFBResult
CoreDFB_Register(
                    CoreDFB                                   *obj,
                    u32                                        slave_call
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.Register( slave_call );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.Register( slave_call );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #15
0
DFBResult
CoreSlave_PutData(
                    CoreSlave                                 *obj,
                    void*                                      address,
                    u32                                        bytes,
                    const u8                                  *data
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:
        case COREDFB_CALL_INDIRECT: {
            Core_PushCalling();
            ret = ICoreSlave_Requestor__PutData( obj, address, bytes, data );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #16
0
DFBResult
CoreDFB_CreateSurface(
                    CoreDFB                                   *obj,
                    const CoreSurfaceConfig                   *config,
                    CoreSurfaceTypeFlags                       type,
                    u64                                        resource_id,
                    CorePalette                               *palette,
                    CoreSurface                              **ret_surface
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.CreateSurface( config, type, resource_id, palette, ret_surface );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.CreateSurface( config, type, resource_id, palette, ret_surface );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #17
0
DFBResult
CoreDFB_ClipboardSet(
                    CoreDFB                                   *obj,
                    const char                                *mime_type,
                    u32                                        mime_type_size,
                    const char                                *data,
                    u32                                        data_size,
                    u64                                        timestamp_us
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.ClipboardSet( mime_type, mime_type_size, data, data_size, timestamp_us );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.ClipboardSet( mime_type, mime_type_size, data, data_size, timestamp_us );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #18
0
DFBResult
CoreLayerRegion_FlipUpdate2(
                    CoreLayerRegion                           *obj,
                    const DFBRegion                           *left_update,
                    const DFBRegion                           *right_update,
                    DFBSurfaceFlipFlags                        flags,
                    s64                                        pts
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ILayerRegion_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.FlipUpdate2( left_update, right_update, flags, pts );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ILayerRegion_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.FlipUpdate2( left_update, right_update, flags, pts );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}
예제 #19
0
DFBResult
CoreDFB_ClipboardGet(
                    CoreDFB                                   *obj,
                    char                                      *ret_mime_type,
                    u32                                       *ret_mime_type_size,
                    char                                      *ret_data,
                    u32                                       *ret_data_size
)
{
    DFBResult ret;

    switch (CoreDFB_CallMode( core_dfb )) {
        case COREDFB_CALL_DIRECT:{
            DirectFB::ICore_Real real( core_dfb, obj );

            Core_PushCalling();
            ret = real.ClipboardGet( ret_mime_type, ret_mime_type_size, ret_data, ret_data_size );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_INDIRECT: {
            DirectFB::ICore_Requestor requestor( core_dfb, obj );

            Core_PushCalling();
            ret = requestor.ClipboardGet( ret_mime_type, ret_mime_type_size, ret_data, ret_data_size );
            Core_PopCalling();

            return ret;
        }
        case COREDFB_CALL_DENY:
            return DFB_DEAD;
    }

    return DFB_UNIMPLEMENTED;
}