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 200
     pixelHeight 200
    }
   }
  }
 ]
}

OrderedGroup {
 children [
  Background2D {
   backColor 1 1 1
  }
  WorldInfo {
   info [
    "This test uses a Viewport node, Gradient nodes and animation and TransformMatrix2D node in a text mirroring-like effect."
    "" 
    "GPAC Regression Tests" "$Date: 2008-10-31 18:08:50 $ - $Revision: 1.7 $" 
    "(C) 2002-2006 GPAC Team"
   ]
   title "Text Mirroring Effect"
  }
  Viewport {
   size 200 200
   description "Initial Viewport"
  }
#if 0
  Viewport {
   position -30 20
   size 50 50
   description "Text Center View"
  }
  Viewport {
   position 75 0
   size 50 50
   description "Blending Zone View"
  }
#endif

  DEF TR Transform2D {
   children [
    DEF PS PlaneSensor2D {
     maxPosition 100 100
     minPosition -100 0
    }
    Transform2D {
     translation 2 -2
     children [
      Shape {
       appearance Appearance {
        material Material2D {
         emissiveColor 0 0 0
         transparency 0
         filled TRUE
        }
       }
       geometry DEF T Text {
        string ["Gradient" "Text Demo"]
        fontStyle FontStyle {
         justify ["MIDDLE" "END"]
         size 30
         style "BOLD"
        }
       }
      }
     ]
    }
    DEF TESTSHAPE Shape {
     appearance Appearance {
      texture RadialGradient {
       focalPoint 0.35 0.55
       key [0 0.7 1]
       keyValue [0 1 0.5 0 0.5 1 0 1 1]
       radius 0.8
      }
     }
     geometry USE T
    }
   ]
  }
  TransformMatrix2D {
   mxy 1.5
   myy -1
   children [
    USE TR
   ]
  }
  Transform2D {
   translation 0 -100
   children [
    Shape {
     appearance Appearance {
      texture RadialGradient {
       center 0.5 1
       focalPoint 0.5 1
       key [0 0.5 1]
       keyValue [1 1 0 0.8 0 0.2 0.8 0 0.2]
       opacity [0.8 1 1]
       radius 1.2
      }
     }
     geometry Rectangle {
      size 200 200
     }
    }
   ]
  }
  DEF TIME TimeSensor {
   cycleInterval 2
   loop TRUE
  }
  DEF PI PositionInterpolator2D {
   key [0 0.5 1]
   keyValue [1 1 1 0.75 1 1]
  }
 ]
}

ROUTE PS.translation_changed TO TR.translation
ROUTE TIME.fraction_changed TO PI.set_fraction
ROUTE PI.value_changed TO TR.scale

