InitialObjectDescriptor { objectDescriptorID 1 audioProfileLevelIndication 1 visualProfileLevelIndication 1 sceneProfileLevelIndication 1 graphicsProfileLevelIndication 1 ODProfileLevelIndication 1 esDescr [ ES_Descriptor { ES_ID 2 decConfigDescr DecoderConfigDescriptor { streamType 3 decSpecificInfo BIFSConfig { isCommandStream true pixelMetric true pixelWidth 400 pixelHeight 400 } } } ] } OrderedGroup { children [ Background2D { backColor 1 1 1 } WorldInfo { info [ "This test shows the different methods for spreading radial gradients when the size of the object to be filled is large" "The focal point of the gradient is also animated to change the gradient aspect over time." "" "GPAC Regression Tests" "(C) 2002-2006 GPAC Team" ] title "Radial Gradient Spread Methods" } Transform2D { translation 0 -150 children [ Shape { appearance Appearance { material Material2D { emissiveColor 0 0 0 filled TRUE } } geometry Text { string ["Move over and click" "to change the spread method"] fontStyle DEF FS FontStyle { justify ["MIDDLE" "MIDDLE"] size 20 } } } ] } Transform2D { children [ Shape { appearance Appearance { material Material2D { lineProps LineProperties { width 0 } } texture DEF GR RadialGradient { focalPoint 0 0.5 key [0 0.5 1] keyValue [0 0 1 1 0 0 0 1 0] } } geometry DEF R Rectangle { size 200 200 } } DEF TS TouchSensor {} ] } DEF C Conditional { buffer { REPLACE GR.spreadMethod BY 2 } } DEF RC Conditional { buffer { REPLACE GR.spreadMethod BY 0 } } DEF C2 Conditional { buffer { REPLACE GR.spreadMethod BY 1 } } DEF RC2 Conditional { buffer { REPLACE GR.spreadMethod BY 2 } } DEF TIME TimeSensor { cycleInterval 4 loop TRUE } DEF CI PositionInterpolator2D { key [0 0.25 0.5 0.75 1] keyValue [0 0.5 0.5 1 1 0.5 0.5 0 0 0.5] } ] } ROUTE TS.isOver TO C.activate ROUTE TS.isOver TO RC.reverseActivate ROUTE TS.isActive TO C2.activate ROUTE TS.isActive TO RC2.reverseActivate ROUTE TIME.fraction_changed TO CI.set_fraction ROUTE CI.value_changed TO GR.focalPoint