InitialObjectDescriptor {
 objectDescriptorID 1
 audioProfileLevelIndication 1
 visualProfileLevelIndication 1
 sceneProfileLevelIndication 1
 graphicsProfileLevelIndication 1
 ODProfileLevelIndication 1
 esDescr [
  ES_Descriptor {
   ES_ID 2
   decConfigDescr DecoderConfigDescriptor {
    streamType 3
    decSpecificInfo BIFSv2Config {
     isCommandStream true
     pixelMetric true
     pixelWidth 480
     pixelHeight 360
    }
   }
  }
 ]
}

OrderedGroup {
 children [
  Background2D { backColor 1 1 1 }
  WorldInfo {
   info ["This test shows glyphs, along with their bounding boxes, the font baseline, the word bounding box and the two-lines text bounding box" "If the Arial font is found and used, bounding-boxes should be properly positioned" "" "GPAC Regression Tests" "$Date: 2007-07-27 09:46:10 $ - $Revision: 1.3 $" "(C) 2002-2006 GPAC Team"]
   title "Text bounding boxes test"
  }
  Transform2D {
   translation -140 80
   children [
    Transform2D {
     scale 0.048828125 0.048828125
     children [
      # Em Box Y Axis
      Shape {
       appearance DEF A1 Appearance {
        material Material2D {
         filled FALSE
         lineProps LineProperties {
          width 1
          lineColor 0 0 0
         }
        }
       }
       geometry IndexedLineSet2D {
        coord Coordinate2D {
         point [ 0 -4000 0 1491 ] 
        }
       }
      }
      
      # Baseline
      DEF BASELINE Shape {
       appearance USE A1 
       geometry IndexedLineSet2D {
        coord Coordinate2D {
         point [ 0 0 8000 0 ] 
        }
       }
      }

      # bounding box for glyph a
      Transform2D {
       translation 0 0
       children [
        Shape {
         appearance DEF A2 Appearance {
          material Material2D {
           filled FALSE
           lineProps LineProperties {
            width 1
            lineColor 1 0 0
           }
          }
         }
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [ 74  -24 1052 -24 1052 1086 74 1086 ] 
          }
         }
        }
       ]
      }

      # bounding box for glyph b
      Transform2D {
       translation 1139 0
       children [
        Shape {
         appearance USE A2
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [ 134 -24 1055 -24 1055 1466 134 1466 ] 
          }
         }
        }
       ]
      }

      # bounding box for glyph c
      Transform2D {
       translation 2278 0
       children [
        Shape {
         appearance USE A2
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [  80  -24 
                  1005  -24 
                  1005 1086 
                    80 1086 ] 
          }
         }
        }
       ]
      }

      # bounding box for glyph d
      Transform2D {
       translation 3302 0
       children [
        Shape {
         appearance USE A2
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [  70  -24 
                   991  -24 
                   991 1466 
                    70 1466 ] 
          }
         }
        }
       ]
      }

      # bounding box for glyph e
      Transform2D {
       translation 4441 0
       children [
        Shape {
         appearance USE A2
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [  75  -24 
                  1054  -24 
                  1054 1086 
                    75 1086 ] 
          }
         }
        }
       ]
      }

      # bounding box for glyph f
      Transform2D {
       translation 5580 0
       children [
        Shape {
         appearance USE A2
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [  19    0 
                   640    0 
                   640 1491
                    19 1491 ] 
          }
         }
        }
       ]
      }

      # bounding box for glyph g
      Transform2D {
       translation 6149 0
       children [
        Shape {
         appearance USE A2
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [   66 -431
                   1002 -431
                   1002 1086
                     66 1086 ] 
          }
         }
        }
       ]
      }
      
      # bounding box for the first line
      Transform2D {
       translation 0 0
       children [
        Shape {
         appearance DEF A3 Appearance {
          material Material2D {
           filled FALSE
           lineProps LineProperties {
            width 1
            lineColor 0 0.5 0
           }
          }
         }
         geometry IndexedFaceSet2D {
          coord Coordinate2D {
           point [   74 -431
                     74 1491
                   7151 1491
                   7151 -431 ] 
          }
         }
        }
       ]
      }
      Transform2D {
       translation 0 -2048
       children [
        USE BASELINE 
        # bounding box for glyph h
        Transform2D {
         translation 0 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [ 135    0
                    1000    0
                    1000 1466
                     135 1466 ] 
            }
           }
          }
         ]
        }
        
        # bounding box for glyph i
        Transform2D {
         translation 1139 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [ 136    0
                     316    0
                     316 1466
                     136 1466 ] 
            }
           }
          }
         ]
        }

        # bounding box for glyph j
        Transform2D {
         translation 1594 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [ -94 -431
                     314 -431
                     314 1466
                     -94 1466 ] 
            }
           }
          }
         ]
        }

        # bounding box for glyph k
        Transform2D {
         translation 2049 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [ 136    0
                    1016    0
                    1016 1466
                     136 1466 ] 
            }
           }
          }
         ]
        }

        # bounding box for glyph l
        Transform2D {
         translation 3087 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [ 131    0
                     311    0
                     311 1466
                     131 1466 ] 
            }
           }
          }
         ]
        }

        # bounding box for glyph m
        Transform2D {
         translation 3542 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [ 135    0
                    1574    0
                    1574 1086
                     135 1086 ] 
            }
           }
          }
         ]
        }

        # bounding box for glyph n
        Transform2D {
         translation 5248 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [ 135    0
                     998    0
                     998 1086
                     135 1086 ] 
            }
           }
          }
         ]
        }

        # bounding box for glyph o
        Transform2D {
         translation 6387 0
         children [
          Shape {
           appearance USE A2
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [  68  -24
                    1063  -24
                    1063 1086
                      68 1086 ] 
            }
           }
          }
         ]
        }

        # bounding box for the second line
        Transform2D {
         translation 0 0
         children [
          Shape {
           appearance USE A3 
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [  135 -431
                      135 1466
                     7436 1466
                     7436 -431 ] 
            }
           }
          }
         ]
        }

       ]
      }

        # bounding box for the whole text
        Transform2D {
         translation 0 0
         children [
          Shape {
           appearance Appearance {
            material Material2D {
             filled FALSE
             lineProps LineProperties {
              width 1
              lineColor 1 1 0
             }
            }
           }
           geometry IndexedFaceSet2D {
            coord Coordinate2D {
             point [   74  1491
                     7436  1491
                     7436 -2479
                       74 -2479 ] 
            }
           }
          }
         ]
        }

     ]
    }
    Shape {
     appearance Appearance {
      material Material2D {
       emissiveColor 0 0 0
       filled TRUE
      }
     }
     geometry Text {
      string [ "abcdefg" "hijklmno"]
      fontStyle FontStyle {
       family ["Arial"]
       justify ["BEGIN" "FIRST"]
       size 100
      }
     }
    }
   ]
  }
 ]
}


