The Simple example produces the following output shown in Fig 8.5
MHEG Simple application Example
The presentation create two buttons, labelled ``Hello'' and ``World'' respectively, and some recangle graphics.When pressed the button is brought to the foreground of the display.
The applet is called via:
<html> <head> <title>MHEG-5 Engine written in Java</title> </head> <body bgcolor="#ffffff"> <center> <h1>MHEG-5 Engine</h1> <applet name="MHEG 5 Engine" code="mheg5/POM/Mheg5Applet.class" codebase="applications/" archive="mhegwww.zip" width="510" height="346" align="center" alt="If you had a java-enabled browser, you would see an applet here."> <hr>If your browser recognized the applet tag, you would see an applet here.<hr> <param name="objectBasePath" value="file:."> <param name="groupIdentifier" value="simple/startup"> <param name="mon" value="false"> </applet> </center> </body> </html>
The MHEG modules for this presentation are:
The MHEG code for each module is a follows:
startup:
{:Application ("simple/startup" 0) //:OnStartUp (:TransitionTo(("simple/helloworld.mheg" 0))) :Items( {:Link 1 :EventSource 1 :EventType IsRunning :LinkEffect (:TransitionTo(("simple/helloworld.mheg" 0))) } ) } \end{verbatim {\bf helloworld.mheg} \footnotesize \begin{verbatim} {:Scene ( "simple/helloworld.mheg" 0 ) :Items ( {:Rectangle 4000 :OrigBoxSize 80 260 :OrigPosition 110 20 :OrigLineWidth 5 :OrigLineStyle 1 :OrigRefLineColour Green :OrigRefFillColour transparent } {:Rectangle 4001 :OrigBoxSize 200 200 :OrigPosition 50 50 :OrigLineWidth 5 :OrigLineStyle 1 :OrigRefLineColour DarkGray :OrigRefFillColour Gray } {:Rectangle 4002 :OrigBoxSize 100 100 :OrigPosition 100 100 :OrigLineWidth 5 :OrigLineStyle 1 :OrigRefLineColour Blue :OrigRefFillColour transparent } {:Rectangle 4003 :OrigBoxSize 150 150 :OrigPosition 150 150 :OrigLineWidth 5 :OrigLineStyle 1 :OrigRefLineColour "#FF2211" :OrigRefFillColour DarkRed } {:Rectangle 4004 :OrigBoxSize 280 170 :OrigPosition 10 10 :OrigLineWidth 5 :OrigLineStyle 1 :OrigRefLineColour Yellow :OrigRefFillColour transparent } {:PushButton 4005 :InitiallyActive true :OrigBoxSize 100 50 :ButtonRefColour DarkGreen :OrigLabel "World" } {:PushButton 4006 :InitiallyActive true :OrigBoxSize 100 50 :OrigPosition 50 25 :ButtonRefColour Gray :OrigLabel "Hello" } {:Link 1015 :EventSource 4006 :EventType IsSelected :LinkEffect ( :BringToFront ( 4005 ) :SetHighlightStatus ( 4005 true ) ) } {:Link 1016 :EventSource 4005 :EventType IsSelected :LinkEffect ( :BringToFront ( 4006 ) ) } {:Link 1017 :EventSource 4005 :EventType CursorEnter :LinkEffect ( :BringToFront ( 4005 ) ) } {:Link 1018 :EventSource 4006 :EventType CursorEnter :LinkEffect ( :BringToFront ( 4006 ) ) } {:ObjectRefVar 100 :OrigValue :ObjectRef 4001 } {:ObjectRefVar 101 :OrigValue :ObjectRef 4002 } {:Link 1000 :EventSource 0 :EventType UserInput :EventData 1 :LinkEffect ( :SetPosition( 4006 50 25 ) ) } {:Link 1001 :EventSource 0 :EventType UserInput :EventData 2 :LinkEffect ( :SetPosition ( 4006 50 200 ) ) } {:Link 1002 :EventSource 0 :EventType UserInput :EventData 3 :LinkEffect ( :Stop ( :IndirectRef 101 ) ) } {:Link 1003 :EventSource 0 :EventType UserInput :EventData 4 :LinkEffect ( :Run ( :IndirectRef 101 ) ) } {:Link 1004 :EventSource 0 :EventType UserInput :EventData 15 :LinkEffect ( :TransitionTo( ( "simple/scene1.mheg" 0) ) ) } {:Link 1005 :EventSource 0 :EventType UserInput :EventData 5 :LinkEffect ( :BringToFront ( 4000 ) ) } {:Link 1006 :EventSource 0 :EventType UserInput :EventData 6 :LinkEffect ( :BringToFront ( 4001 ) ) } {:Link 1007 :EventSource 0 :EventType UserInput :EventData 7 :LinkEffect ( :BringToFront ( 4002 ) ) } {:Link 1008 :EventSource 0 :EventType UserInput :EventData 8 :LinkEffect ( :BringToFront ( 4003 ) ) } {:Link 1009 :EventSource 0 :EventType UserInput :EventData 9 :LinkEffect ( :BringToFront ( 4004 ) ) } {:Link 1010 :EventSource 0 :EventType UserInput :EventData 10 :LinkEffect ( :SendToBack ( 4000 ) ) } {:Link 1011 :EventSource 0 :EventType UserInput :EventData 11 :LinkEffect ( :SendToBack ( 4001 ) ) } {:Link 1012 :EventSource 0 :EventType UserInput :EventData 12 :LinkEffect ( :SendToBack ( 4002 ) ) } {:Link 1013 :EventSource 0 :EventType UserInput :EventData 13 :LinkEffect ( :SendToBack ( 4003 ) ) } {:Link 1014 :EventSource 0 :EventType UserInput :EventData 14 :LinkEffect ( :SendToBack ( 4004 ) ) } ) :InputEventReg 1 :SceneCS 300 300 :MovingCursor true }
scene1.mheg
{:Scene ( "simple/scene1.mheg" 0 )
:Items
(
{:Rectangle 4000
:OrigBoxSize 300 300 // 200 200
:OrigPosition 20 80
:OrigLineWidth 5 :OrigLineStyle 1
:OrigRefLineColour "Black" :OrigRefFillColour DarkRed
}
{:Rectangle 4001
:OrigBoxSize 200 200 :OrigPosition 100 180
:OrigLineWidth 5 :OrigLineStyle 1
:OrigRefLineColour Blue :OrigRefFillColour DarkBlue
}
{:Link 1000
:EventSource 0 :EventType UserInput :EventData 6
:LinkEffect ( :PutBehind ( 4003 4000 ) )
}
{:Link 1001
:EventSource 0 :EventType UserInput :EventData 7
:LinkEffect ( :PutBehind ( 4002 4000 ) )
}
{:Link 1002
:EventSource 0 :EventType UserInput :EventData 8
:LinkEffect ( :PutBehind ( 4001 4000 ) )
}
{:Link 1003
:EventSource 0 :EventType UserInput :EventData 9
:LinkEffect ( :PutBefore ( 4003 4000 ) )
}
{:Link 1004
:EventSource 0 :EventType UserInput :EventData 10
:LinkEffect ( :PutBefore ( 4002 4000 ) )
}
{:Link 1005
:EventSource 0 :EventType UserInput :EventData 11
:LinkEffect ( :PutBefore ( 4001 4000 ) )
}
{:Link 1006
:EventSource 0 :EventType UserInput :EventData 1
:LinkEffect ( :SetPosition ( 4000 20 80 ) )
}
{:Link 1007
:EventSource 0 :EventType UserInput :EventData 2
:LinkEffect ( :SetPosition ( 4000 20 120 ) )
}
{:Link 1008
:EventSource 0 :EventType UserInput :EventData 3
:LinkEffect ( :SetBoxSize ( 4000 200 300 ) ) // 200 200
}
{:Link 1009
:EventSource 0 :EventType UserInput :EventData 4
:LinkEffect ( :SetBoxSize ( 4000 300 300 ) )
}
{:Link 1100 :InitiallyActive true
:EventSource 0 :EventType UserInput :EventData 16
:LinkEffect ( :TransitionTo( ( "simple/helloworld.mheg" 0) ) )
}
)
:InputEventReg 1
:SceneCS 400 400
}