[php-directfb-cvs] PHP-DirectFB/src datatypes.c,1.5,1.6 idisplaylayer.c,1.2,1.3 iscreen.c,1.2,1.3 ph
Status: Pre-Alpha
Brought to you by:
klan
From: Claudio C. <kl...@us...> - 2004-12-04 10:39:07
|
Update of /cvsroot/php-directfb/PHP-DirectFB/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16440/src Modified Files: datatypes.c idisplaylayer.c iscreen.c php_directfb.c Log Message: Sync to current DirectFB code. If DirectFB library version doesn't match compiled version, print a warning instead of returning FAILURE. Index: iscreen.c =================================================================== RCS file: /cvsroot/php-directfb/PHP-DirectFB/src/iscreen.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- iscreen.c 15 Nov 2004 15:06:18 -0000 1.2 +++ iscreen.c 4 Dec 2004 10:38:58 -0000 1.3 @@ -206,8 +206,9 @@ object_init( mdsc ); add_property_long( mdsc, "caps", mdscs[i].caps ); add_property_long( mdsc, "layers", mdscs[i].layers ); - add_property_long( mdsc, "num_layers", mdscs[i].num_layers ); + add_property_long( mdsc, "sub_num", mdscs[i].sub_num ); add_property_long( mdsc, "sub_layers", mdscs[i].sub_layers ); + add_property_string( mdsc, "name", &mdscs[i].name[0], 1 ); add_index_zval( return_value, i, mdsc ); } @@ -296,6 +297,8 @@ add_property_long( edsc, "caps", edscs[i].caps ); add_property_long( edsc, "type", edscs[i].type ); add_property_long( edsc, "tv_standards", edscs[i].tv_standards ); + add_property_long( edsc, "out_signals", edscs[i].out_signals ); + add_property_string( edsc, "name", &edscs[i].name[0], 1 ); add_index_zval( return_value, i, edsc ); } @@ -384,6 +387,7 @@ add_property_long( odsc, "caps", odscs[i].caps ); add_property_long( odsc, "all_connectors", odscs[i].all_connectors ); add_property_long( odsc, "all_signals", odscs[i].all_signals ); + add_property_string( odsc, "name", &odscs[i].name[0], 1 ); add_index_zval( return_value, i, odsc ); } Index: idisplaylayer.c =================================================================== RCS file: /cvsroot/php-directfb/PHP-DirectFB/src/idisplaylayer.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- idisplaylayer.c 15 Nov 2004 15:06:18 -0000 1.2 +++ idisplaylayer.c 4 Dec 2004 10:38:58 -0000 1.3 @@ -72,6 +72,9 @@ add_property_long( return_value, "regions", dsc.regions ); + add_property_long( return_value, + "sources", + dsc.sources ); } static @@ -551,6 +554,36 @@ dfb_errno = layer->WaitForSync( layer ); } +static +INTERFACE_METHOD( GetSourceDescriptions ) +{ + IDirectFBDisplayLayer *layer; + DFBDisplayLayerDescription dsc; + + DIRECTFB_GET_THIS( layer ); + + dfb_errno = layer->GetDescription( layer, &dsc ); + + array_init( return_value ); + + if ((dsc.caps & DLCAPS_SOURCES) && dsc.sources > 0) { + DFBDisplayLayerSourceDescription sdscs[dsc.sources]; + int i; + + memset( &sdscs[0], 0, dsc.sources * sizeof(sdscs[0]) ); + dfb_errno = layer->GetSourceDescriptions( layer, &sdscs[0] ); + + for (i = 0; i < dsc.sources; i++) { + zval *sdsc; + MAKE_STD_ZVAL( sdsc ); + object_init( sdsc ); + add_property_long( sdsc, "source_id", sdscs[i].source_id ); + add_property_string( sdsc, "name", &sdscs[i].name[0], 1 ); + add_index_zval( return_value, i, sdsc ); + } + } +} + STANDARD_INTERFACE_DESTRUCTOR() @@ -588,5 +621,6 @@ METHOD( SetCursorShape ) METHOD( SetCursorOpacity ) METHOD( WaitForSync ) + METHOD( GetSourceDescriptions ) ) Index: php_directfb.c =================================================================== RCS file: /cvsroot/php-directfb/PHP-DirectFB/src/php_directfb.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- php_directfb.c 18 Nov 2004 10:38:34 -0000 1.6 +++ php_directfb.c 4 Dec 2004 10:38:58 -0000 1.7 @@ -53,16 +53,16 @@ if (directfb_major_version != DIRECTFB_MAJOR_VERSION || directfb_minor_version != DIRECTFB_MINOR_VERSION || directfb_micro_version != DIRECTFB_MICRO_VERSION) { - fprintf( stderr, " (!!) PHP-DirectFB: " - "current DirectFB Library version (%i.%i.%i) " - "doesn't match compiled version (%i.%i.%i).\n", - directfb_major_version, - directfb_minor_version, - directfb_micro_version, - DIRECTFB_MAJOR_VERSION, - DIRECTFB_MINOR_VERSION, - DIRECTFB_MICRO_VERSION ); - return FAILURE; + php_error( E_WARNING, + " (!!) PHP-DirectFB: " + "current DirectFB Library version (%i.%i.%i) " + "doesn't match compiled version (%i.%i.%i).\n", + directfb_major_version, + directfb_minor_version, + directfb_micro_version, + DIRECTFB_MAJOR_VERSION, + DIRECTFB_MINOR_VERSION, + DIRECTFB_MICRO_VERSION ); } le_DirectFB = zend_register_list_destructors_ex( php_directfb_wrp_dtor, NULL, @@ -164,15 +164,16 @@ DIRECTFB_REGISTER_DEF( DSECONF_ALL ); /* DFBScreenEncoderTestPicture */ DIRECTFB_REGISTER_DEF( DSETP_OFF ); - DIRECTFB_REGISTER_DEF( DSETP_MULTI_COLOR ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_BLACK ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_WHITE ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_YELLOW ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_CYAN ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_GREEN ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_MAGENTA ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_RED ); - DIRECTFB_REGISTER_DEF( DSETP_SINGLE_BLUE ); + DIRECTFB_REGISTER_DEF( DSETP_MULTI ); + DIRECTFB_REGISTER_DEF( DSETP_SINGLE ); + DIRECTFB_REGISTER_DEF( DSETP_WHITE ); + DIRECTFB_REGISTER_DEF( DSETP_YELLOW ); + DIRECTFB_REGISTER_DEF( DSETP_CYAN ); + DIRECTFB_REGISTER_DEF( DSETP_GREEN ); + DIRECTFB_REGISTER_DEF( DSETP_MAGENTA ); + DIRECTFB_REGISTER_DEF( DSETP_RED ); + DIRECTFB_REGISTER_DEF( DSETP_BLUE ); + DIRECTFB_REGISTER_DEF( DSETP_BLACK ); /* DFBScreenOutputCapabilities */ DIRECTFB_REGISTER_DEF( DSOCAPS_CONNECTORS ); DIRECTFB_REGISTER_DEF( DSOCAPS_ENCODER_SEL ); @@ -223,6 +224,7 @@ DIRECTFB_REGISTER_DEF( DLCAPS_LEVELS ); DIRECTFB_REGISTER_DEF( DLCAPS_FIELD_PARITY ); DIRECTFB_REGISTER_DEF( DLCAPS_WINDOWS ); + DIRECTFB_REGISTER_DEF( DLCAPS_SOURCES ); DIRECTFB_REGISTER_DEF( DLCAPS_ALL ); /* DFBDisplayLayerConfigFlags */ DIRECTFB_REGISTER_DEF( DLCONF_WIDTH ); @@ -230,6 +232,7 @@ DIRECTFB_REGISTER_DEF( DLCONF_PIXELFORMAT ); DIRECTFB_REGISTER_DEF( DLCONF_BUFFERMODE ); DIRECTFB_REGISTER_DEF( DLCONF_OPTIONS ); + DIRECTFB_REGISTER_DEF( DLCONF_SOURCE ); DIRECTFB_REGISTER_DEF( DLCONF_ALL ); /* DFBDisplayLayerBufferMode */ DIRECTFB_REGISTER_DEF( DLBM_FRONTONLY ); @@ -286,6 +289,8 @@ DIRECTFB_REGISTER_DEF( DSPF_ALUT44 ); DIRECTFB_REGISTER_DEF( DSPF_AiRGB ); DIRECTFB_REGISTER_DEF( DSPF_A1 ); + DIRECTFB_REGISTER_DEF( DSPF_YC420 ); + DIRECTFB_REGISTER_DEF( DSPF_YC422 ); /* DFBSurfaceFlipFlags */ DIRECTFB_REGISTER_DEF( DSFLIP_WAIT ); DIRECTFB_REGISTER_DEF( DSFLIP_BLIT ); Index: datatypes.c =================================================================== RCS file: /cvsroot/php-directfb/PHP-DirectFB/src/datatypes.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- datatypes.c 18 Nov 2004 10:38:34 -0000 1.5 +++ datatypes.c 4 Dec 2004 10:38:58 -0000 1.6 @@ -611,9 +611,9 @@ { DFBDisplayLayerConfig config; - if (zend_parse_parameters( ht, "llllll", &config.flags, &config.width, - &config.height, &config.pixelformat, - &config.buffermode, &config.options ) != SUCCESS) + if (zend_parse_parameters( ht, "lllllll", &config.flags, &config.width, + &config.height, &config.pixelformat, &config.buffermode, + &config.options, &config.source ) != SUCCESS) return false; DFBDisplayLayerConfig_init( &config, this ); @@ -629,6 +629,7 @@ add_property_long( ret, "pixelformat", config->pixelformat ); add_property_long( ret, "buffermode", config->buffermode ); add_property_long( ret, "options", config->options ); + add_property_long( ret, "source", config->source ); } void @@ -652,6 +653,9 @@ if (ret->flags & DLCONF_OPTIONS) GET_ENTRY_LONG( options, &ret->options ); + + if (ret->flags & DLCONF_SOURCE) + GET_ENTRY_LONG( source, &ret->source ); } DIRECTFB_DATATYPE_DEFINITION( DFBDisplayLayerConfig ) |