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 line texturing with a linear gradient with different spread method and animated end point" "" "GPAC Regression Tests" "(C) 2002-2006 GPAC Team"] title "Linear Gradient and Lines using XLineProperties" } 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 } } } ] } TransformMatrix2D { mxy 0.5 children [ Transform2D { children [ Shape { appearance Appearance { material Material2D { emissiveColor 1 0 0 lineProps XLineProperties { width 40 texture DEF GL LinearGradient { endPoint 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 GL.spreadMethod BY 2 } } DEF RC Conditional { buffer { REPLACE GL.spreadMethod BY 0 } } DEF C2 Conditional { buffer { REPLACE GL.spreadMethod BY 1 } } DEF RC2 Conditional { buffer { REPLACE GL.spreadMethod BY 2 } } DEF TIME TimeSensor { cycleInterval 4 loop TRUE } DEF CI PositionInterpolator2D { key [0 0.5 1] keyValue [0 0.5 1 0.5 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 GL.endPoint