InitialObjectDescriptor {
 objectDescriptorID 1
 audioProfileLevelIndication 255
 visualProfileLevelIndication 255
 sceneProfileLevelIndication 254
 graphicsProfileLevelIndication 254
 ODProfileLevelIndication 255
 esDescr [
  ES_Descriptor {
   ES_ID 1
   decConfigDescr DecoderConfigDescriptor {
    streamType 3
    decSpecificInfo BIFSConfig {
     isCommandStream true
     pixelMetric true
     pixelWidth 600
     pixelHeight 400
    }
   }
  }
 ]
}

OrderedGroup {
 children [
  Background2D {
   backColor 1 1 1
  }
  WorldInfo {
   info [
    "This test shows the usage of the CompositeTexture node and how its background can be changed dynamically."
    "Here, the texture is a circle repeated on the X and Y directions. Just one circle object is used here, the result of the drawing is translated in each directions, the object is not duplicated." 
    "When the user moves the mouse over a circle, the background is changed. When the user clicks on a circle, the background is also changed." 
    "" 
    "GPAC Regression Tests" "$Date: 2009-09-30 18:01:04 $ - $Revision: 1.4 $" 
    "(C) 2002-2006 GPAC Team"
   ]
   title "CompositeTexture and Background2D nodes"
  }
  Shape {
   appearance Appearance {
    material DEF M1 Material2D {
     emissiveColor 0 1 0
     filled TRUE
    }
    texture CompositeTexture2D {
     pixelWidth 64
     pixelHeight 64
     children [
      DEF B1 Background2D { backColor 0 1 1 }
      DEF B2 Background2D { backColor 1 1 0 }
      DEF B3 Background2D { backColor 1 0 0 }
      DEF S Shape {
       appearance Appearance {
        material Material2D {
         emissiveColor 0 0 0
         filled TRUE
         transparency 0.5
        }
       }
       geometry Circle {
        radius 24
       }
      }
      DEF TS TouchSensor {}
     ]
    }
    textureTransform TextureTransform { scale 8 4 }
   }
   geometry Rectangle { size 300 150 }
  }
  
  Transform2D {
   translation 140 -110
   children [
    USE S
    Transform2D {
     translation 0 -50
     children [
      Shape {
       appearance DEF APP Appearance {
        material Material2D {
         emissiveColor 0 0 0
         filled TRUE
        }
       }
       geometry Text {
        string ["Composite Texture Pattern" "Black color with 0.5 transparency"]
        fontStyle DEF FS FontStyle {
         family ["SANS"]
         justify ["MIDDLE" "BEGIN"]
         size 20
        }
       }
      }
     ]
    }
   ]
  }
  Transform2D {
   translation -150 160
   children [
    Shape {
     appearance USE APP
     geometry Text {
      string ["Move mouse over texture" "to change texture background"]
      fontStyle USE FS
     }
    }
   ]
  }
 ]
}

ROUTE TS.isOver TO B2.set_bind
ROUTE TS.isActive TO B3.set_bind

