@@ -1234,6 +1234,160 @@ impl From<PathOperation> for glib::Value {
12341234 }
12351235}
12361236
1237+ #[ cfg( feature = "v4_22" ) ]
1238+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1239+ #[ derive( Debug , Eq , PartialEq , Ord , PartialOrd , Hash , Clone , Copy ) ]
1240+ #[ non_exhaustive]
1241+ #[ doc( alias = "GskPorterDuff" ) ]
1242+ pub enum PorterDuff {
1243+ #[ doc( alias = "GSK_PORTER_DUFF_SOURCE" ) ]
1244+ Source ,
1245+ #[ doc( alias = "GSK_PORTER_DUFF_DEST" ) ]
1246+ Dest ,
1247+ #[ doc( alias = "GSK_PORTER_DUFF_SOURCE_OVER_DEST" ) ]
1248+ SourceOverDest ,
1249+ #[ doc( alias = "GSK_PORTER_DUFF_DEST_OVER_SOURCE" ) ]
1250+ DestOverSource ,
1251+ #[ doc( alias = "GSK_PORTER_DUFF_SOURCE_IN_DEST" ) ]
1252+ SourceInDest ,
1253+ #[ doc( alias = "GSK_PORTER_DUFF_DEST_IN_SOURCE" ) ]
1254+ DestInSource ,
1255+ #[ doc( alias = "GSK_PORTER_DUFF_SOURCE_OUT_DEST" ) ]
1256+ SourceOutDest ,
1257+ #[ doc( alias = "GSK_PORTER_DUFF_DEST_OUT_SOURCE" ) ]
1258+ DestOutSource ,
1259+ #[ doc( alias = "GSK_PORTER_DUFF_SOURCE_ATOP_DEST" ) ]
1260+ SourceAtopDest ,
1261+ #[ doc( alias = "GSK_PORTER_DUFF_DEST_ATOP_SOURCE" ) ]
1262+ DestAtopSource ,
1263+ #[ doc( alias = "GSK_PORTER_DUFF_XOR" ) ]
1264+ Xor ,
1265+ #[ doc( alias = "GSK_PORTER_DUFF_CLEAR" ) ]
1266+ Clear ,
1267+ #[ doc( hidden) ]
1268+ __Unknown( i32 ) ,
1269+ }
1270+
1271+ #[ cfg( feature = "v4_22" ) ]
1272+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1273+ #[ doc( hidden) ]
1274+ impl IntoGlib for PorterDuff {
1275+ type GlibType = ffi:: GskPorterDuff ;
1276+
1277+ #[ inline]
1278+ fn into_glib ( self ) -> ffi:: GskPorterDuff {
1279+ match self {
1280+ Self :: Source => ffi:: GSK_PORTER_DUFF_SOURCE ,
1281+ Self :: Dest => ffi:: GSK_PORTER_DUFF_DEST ,
1282+ Self :: SourceOverDest => ffi:: GSK_PORTER_DUFF_SOURCE_OVER_DEST ,
1283+ Self :: DestOverSource => ffi:: GSK_PORTER_DUFF_DEST_OVER_SOURCE ,
1284+ Self :: SourceInDest => ffi:: GSK_PORTER_DUFF_SOURCE_IN_DEST ,
1285+ Self :: DestInSource => ffi:: GSK_PORTER_DUFF_DEST_IN_SOURCE ,
1286+ Self :: SourceOutDest => ffi:: GSK_PORTER_DUFF_SOURCE_OUT_DEST ,
1287+ Self :: DestOutSource => ffi:: GSK_PORTER_DUFF_DEST_OUT_SOURCE ,
1288+ Self :: SourceAtopDest => ffi:: GSK_PORTER_DUFF_SOURCE_ATOP_DEST ,
1289+ Self :: DestAtopSource => ffi:: GSK_PORTER_DUFF_DEST_ATOP_SOURCE ,
1290+ Self :: Xor => ffi:: GSK_PORTER_DUFF_XOR ,
1291+ Self :: Clear => ffi:: GSK_PORTER_DUFF_CLEAR ,
1292+ Self :: __Unknown( value) => value,
1293+ }
1294+ }
1295+ }
1296+
1297+ #[ cfg( feature = "v4_22" ) ]
1298+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1299+ #[ doc( hidden) ]
1300+ impl FromGlib < ffi:: GskPorterDuff > for PorterDuff {
1301+ #[ inline]
1302+ unsafe fn from_glib ( value : ffi:: GskPorterDuff ) -> Self {
1303+ skip_assert_initialized ! ( ) ;
1304+
1305+ match value {
1306+ ffi:: GSK_PORTER_DUFF_SOURCE => Self :: Source ,
1307+ ffi:: GSK_PORTER_DUFF_DEST => Self :: Dest ,
1308+ ffi:: GSK_PORTER_DUFF_SOURCE_OVER_DEST => Self :: SourceOverDest ,
1309+ ffi:: GSK_PORTER_DUFF_DEST_OVER_SOURCE => Self :: DestOverSource ,
1310+ ffi:: GSK_PORTER_DUFF_SOURCE_IN_DEST => Self :: SourceInDest ,
1311+ ffi:: GSK_PORTER_DUFF_DEST_IN_SOURCE => Self :: DestInSource ,
1312+ ffi:: GSK_PORTER_DUFF_SOURCE_OUT_DEST => Self :: SourceOutDest ,
1313+ ffi:: GSK_PORTER_DUFF_DEST_OUT_SOURCE => Self :: DestOutSource ,
1314+ ffi:: GSK_PORTER_DUFF_SOURCE_ATOP_DEST => Self :: SourceAtopDest ,
1315+ ffi:: GSK_PORTER_DUFF_DEST_ATOP_SOURCE => Self :: DestAtopSource ,
1316+ ffi:: GSK_PORTER_DUFF_XOR => Self :: Xor ,
1317+ ffi:: GSK_PORTER_DUFF_CLEAR => Self :: Clear ,
1318+ value => Self :: __Unknown ( value) ,
1319+ }
1320+ }
1321+ }
1322+
1323+ #[ cfg( feature = "v4_22" ) ]
1324+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1325+ impl StaticType for PorterDuff {
1326+ #[ inline]
1327+ #[ doc( alias = "gsk_porter_duff_get_type" ) ]
1328+ fn static_type ( ) -> glib:: Type {
1329+ unsafe { from_glib ( ffi:: gsk_porter_duff_get_type ( ) ) }
1330+ }
1331+ }
1332+
1333+ #[ cfg( feature = "v4_22" ) ]
1334+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1335+ impl glib:: HasParamSpec for PorterDuff {
1336+ type ParamSpec = glib:: ParamSpecEnum ;
1337+ type SetValue = Self ;
1338+ type BuilderFn = fn ( & str , Self ) -> glib:: ParamSpecEnumBuilder < Self > ;
1339+
1340+ fn param_spec_builder ( ) -> Self :: BuilderFn {
1341+ Self :: ParamSpec :: builder_with_default
1342+ }
1343+ }
1344+
1345+ #[ cfg( feature = "v4_22" ) ]
1346+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1347+ impl glib:: value:: ValueType for PorterDuff {
1348+ type Type = Self ;
1349+ }
1350+
1351+ #[ cfg( feature = "v4_22" ) ]
1352+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1353+ unsafe impl < ' a > glib:: value:: FromValue < ' a > for PorterDuff {
1354+ type Checker = glib:: value:: GenericValueTypeChecker < Self > ;
1355+
1356+ #[ inline]
1357+ unsafe fn from_value ( value : & ' a glib:: Value ) -> Self {
1358+ skip_assert_initialized ! ( ) ;
1359+ from_glib ( glib:: gobject_ffi:: g_value_get_enum ( value. to_glib_none ( ) . 0 ) )
1360+ }
1361+ }
1362+
1363+ #[ cfg( feature = "v4_22" ) ]
1364+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1365+ impl ToValue for PorterDuff {
1366+ #[ inline]
1367+ fn to_value ( & self ) -> glib:: Value {
1368+ let mut value = glib:: Value :: for_value_type :: < Self > ( ) ;
1369+ unsafe {
1370+ glib:: gobject_ffi:: g_value_set_enum ( value. to_glib_none_mut ( ) . 0 , self . into_glib ( ) ) ;
1371+ }
1372+ value
1373+ }
1374+
1375+ #[ inline]
1376+ fn value_type ( & self ) -> glib:: Type {
1377+ Self :: static_type ( )
1378+ }
1379+ }
1380+
1381+ #[ cfg( feature = "v4_22" ) ]
1382+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_22" ) ) ) ]
1383+ impl From < PorterDuff > for glib:: Value {
1384+ #[ inline]
1385+ fn from ( v : PorterDuff ) -> Self {
1386+ skip_assert_initialized ! ( ) ;
1387+ ToValue :: to_value ( & v)
1388+ }
1389+ }
1390+
12371391#[ derive( Debug , Eq , PartialEq , Ord , PartialOrd , Hash , Clone , Copy ) ]
12381392#[ non_exhaustive]
12391393#[ doc( alias = "GskRenderNodeType" ) ]
0 commit comments