def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D,
        osgWidget.WindowManager.WM_PICK_DEBUG
    )

    menu = osgWidget.Box("menu", osgWidget.Box.HORIZONTAL)

    menu.addWidget(ColorLabelMenu("Pick me not "))
    menu.addWidget(ColorLabelMenu("No, wait, pick me not "))
    menu.addWidget(ColorLabelMenu("Don't pick them..."))
    menu.addWidget(ColorLabelMenu("Grarar not ? not "))

    wm.addChild(menu)
    
    menu.getBackground().setColor(1.0, 1.0, 1.0, 0.0)
    menu.resizePercent(100.0)

    model = osgDB.readNodeFile("osgcool.osgt")

    model.setNodeMask(MASK_3D)

    return osgWidget.createExample(viewer, wm, model)
Beispiel #2
0
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        720.0,
        MASK_2D #,
        #osgWidget.WindowManager.WM_USE_RENDERBINS
    )

    notebook1 = Notebook("notebook1")
    notebook2 = Notebook("notebook2")

    notebook2.setOrigin(100.0, 100.0)

    notebook1.attachMoveCallback()
    notebook2.attachMoveCallback()

    wm.addChild(notebook1)
    wm.addChild(notebook2)

    return osgWidget.createExample(viewer, wm)
def doApp(viewer, node, width, height):

    
    wm = osgWidget.WindowManager(viewer, width, height, 0x12)

    wm.addChild(node)

    return osgWidget.createExample(viewer, wm)
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D,
        osgWidget.WindowManager.WM_PICK_DEBUG
        #osgWidget.WindowManager.WM_NO_INVERT_Y
    )
    
    frame = osgWidget.Frame.createSimpleFrameFromTheme(
        "frame",
        osgDB.readImageFile("osgWidget/theme.png"),
        40.0,
        40.0,
	osgWidget.Frame.FRAME_ALL
    )

    frame.getBackground().setColor(0.0, 0.0, 0.0, 0.0)

    # This is our Transformers box. :)
    box = osgWidget.Box("images", osgWidget.Box.VERTICAL)
    img1 = osgWidget.Widget("im1", 512.0, 512.0)
    img2 = osgWidget.Widget("im2", 512.0, 512.0)
    img3 = osgWidget.Widget("im3", 512.0, 512.0)
    img4 = osgWidget.Widget("im4", 512.0, 512.0)

    img1.setImage("osgWidget/scrolled1.jpg", True)
    img2.setImage("osgWidget/scrolled2.jpg", True)
    img3.setImage("osgWidget/scrolled3.jpg", True)
    img4.setImage("osgWidget/scrolled4.jpg", True)

    img1.setMinimumSize(10.0, 10.0)
    img2.setMinimumSize(10.0, 10.0)
    img3.setMinimumSize(10.0, 10.0)
    img4.setMinimumSize(10.0, 10.0)

    box.addWidget(img1)
    box.addWidget(img2)
    box.addWidget(img3)
    box.addWidget(img4)
    box.setEventMask(osgWidget.EVENT_NONE)

    #frame.getEmbeddedWindow().setWindow(box)
    frame.setWindow(box)
    frame.getEmbeddedWindow().setColor(1.0, 1.0, 1.0, 1.0)
    frame.resize(300.0, 300.0)
    frame.addCallback(osgWidget.Callback(scrollWindow, osgWidget.EVENT_MOUSE_SCROLL))
    frame.addCallback(osgWidget.Callback(changeTheme, osgWidget.EVENT_KEY_DOWN))

    wm.addChild(frame)

    return osgWidget.createExample(viewer, wm)
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D
    )
    
    canvas = osgWidget.Canvas("canvas")

    canvas.attachMoveCallback()
    canvas.attachScaleCallback()

    canvas.addWidget(
        createWidget("w1", 0.2, osgWidget.Widget.LAYER_LOW),
        0.0,
        0.0
    )
    
    canvas.addWidget(
        createWidget("w2", 0.4, osgWidget.Widget.LAYER_MIDDLE),
        200.0,
        0.0
    )

    canvas.addWidget(
        createWidget("w3", 0.6, osgWidget.Widget.LAYER_HIGH),
        400.0,
        0.0
    )


    wm.addChild(canvas)

    program = osg.Program()

    program.addShader(osg.Shader.readShaderFile(
        osg.Shader.VERTEX,
        osgDB.findDataFile("osgWidget/osgwidgetshader-vert.glsl")
    ))
    
    program.addShader(osg.Shader.readShaderFile(
        osg.Shader.FRAGMENT,
        osgDB.findDataFile("osgWidget/osgwidgetshader-frag.glsl")
    ))

    canvas.getGeode().getOrCreateStateSet().setAttribute(program)

    return osgWidget.createExample(viewer, wm)
Beispiel #6
0
def main(argv):

    

    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D,
        osgWidget.WindowManager.WM_PICK_DEBUG
    )

    fontSize = 20
    font = "fonts/arial.ttf"
    buttonTheme = "osgWidget/theme-8-shadow.png"
    borderTheme = "osgWidget/theme-8.png"

    message = MessageBox()
    message.create(borderTheme, 
                   buttonTheme,
                   "Error - Critical",
                   LABEL1,
                   "Quit",
                   font,
                   fontSize)

    alpha = AlphaSetterVisitor(.8)
    message.getWindow().accept(alpha)

    wm.addChild(message.getWindow())

    # center
    w = wm.getWidth()
    h = wm.getHeight()
    ww = message.getWindow().getWidth()
    hw = message.getWindow().getHeight()
    ox = (w - ww) / 2
    oy = (h - hw) / 2
    message.getWindow().setPosition(osgWidget.Point(
        osg.round(ox), osg.round(oy), message.getWindow().getPosition()[2])
    )
#    frame.resizeAdd(30, 30)

#    alpha = AlphaSetterVisitor(.8)
#    frame.accept(alpha)
    return osgWidget.createExample(viewer, wm) #osgDB.readNodeFile("cow.osgt"))
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        WINDOW_WIDTH,
        WINDOW_HEIGHT,
        MASK_2D
        )

    menu = osgWidget.Box("menu", osgWidget.Box.HORIZONTAL)

    menu.addWidget(ColorLabelMenu("Choose EaseMotion"))
    menu.getBackground().setColor(1.0, 1.0, 1.0, 1.0)
    menu.setPosition(15.0, 15.0, 0.0)

    wm.addChild(menu)

    group = osg.Group()
    geode = osg.Geode()
    mt = osg.MatrixTransform()

    geode.addDrawable(osg.ShapeDrawable(osg.Sphere(osg.Vec3(), 4.0)))

    EASE_MOTION_SAMPLER = EaseMotionSampler(osg.Vec3(50.0, 0.0, 0.0))
    EASE_MOTION_GEODE   = osg.Geode()

    mt.addChild(geode)
    mt.setUpdateCallback(EASE_MOTION_SAMPLER)
    mt.setNodeMask(MASK_3D)

    viewer.setCameraManipulator(osgGA.TrackballManipulator())
    viewer.getCameraManipulator().setHomePosition(
        osg.Vec3d(0.0, 0.0, 200.0),
        osg.Vec3d(20.0, 0.0, 0.0),
        osg.Vec3d(0.0, 1.0, 0.0)
        )
    viewer.home()

    group.addChild(mt)
    group.addChild(EASE_MOTION_GEODE)

    return osgWidget.createExample(viewer, wm, group)
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D,
        osgWidget.WindowManager.WM_PICK_DEBUG
    )
    
    wm.setPointerFocusMode(osgWidget.WindowManager.PFM_SLOPPY)

    box1 = createBox("HBOX", osgWidget.Box.HORIZONTAL)
    box2 = createBox("VBOX", osgWidget.Box.VERTICAL)
    box3 = createBox("HBOX2", osgWidget.Box.HORIZONTAL)
    box4 = createBox("VBOX2", osgWidget.Box.VERTICAL)

    box1.getBackground().setColor(1.0, 0.0, 0.0, 0.8)
    box1.attachMoveCallback()

    box2.getBackground().setColor(0.0, 1.0, 0.0, 0.8)
    box2.attachMoveCallback()

    box3.getBackground().setColor(0.0, 0.0, 1.0, 0.8)
    box3.attachMoveCallback()

    wm.addChild(box1)
    wm.addChild(box2)
    wm.addChild(box3)
    wm.addChild(box4)

    box4.hide()

    model = osgDB.readNodeFile("spaceship.osgt")

    model.setNodeMask(MASK_3D)

    return osgWidget.createExample(viewer, wm, model)
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D,
        osgWidget.WindowManager.WM_PICK_DEBUG
    )
    
    canvas = osgWidget.Canvas("canvas")
    pOutline = osgWidget.Widget("pOutline", 512.0, 64.0)
    pMeter = osgWidget.Widget("pMeter", 0.0, 64.0)
    pLabel = osgWidget.Label("pLabel", "0% Done")

    pOutline.setImage("osgWidget/progress-outline.png", True)
    pOutline.setLayer(osgWidget.Widget.LAYER_MIDDLE, 2)
    
    pMeter.setImage("osgWidget/progress-meter.png")
    pMeter.setColor(0.7, 0.1, 0.1, 0.7)
    pMeter.setLayer(osgWidget.Widget.LAYER_MIDDLE, 1)

    pLabel.setFont("fonts/VeraMono.ttf")
    pLabel.setFontSize(20)
    pLabel.setFontColor(1.0, 1.0, 1.0, 1.0)
    pLabel.setSize(512.0, 64.0)
    pLabel.setLayer(osgWidget.Widget.LAYER_MIDDLE, 3)

    canvas.setOrigin(300.0, 300.0)
    canvas.addWidget(pMeter, 0.0, 0.0)
    canvas.addWidget(pOutline, 0.0, 0.0)
    canvas.addWidget(pLabel, 0.0, 0.0)
    canvas.getBackground().setColor(0.0, 0.0, 0.0, 0.0)
    canvas.setUpdateCallback(UpdateProgressNode())

    wm.addChild(canvas)

    return osgWidget.createExample(viewer, wm, osgDB.readNodeFile("cow.osgt"))
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D
    )

    box = osgWidget.Box("box", osgWidget.Box.VERTICAL)

    widget1 = osgWidget.Widget("w1", 200.0, 200.0)
    widget2 = osgWidget.Widget("w2", 100.0, 100.0)
    widget3 = osgWidget.Widget("w3", 0.0, 0.0)
    # CustomStyled*      cs      = CustomStyled()

    # Yep.
    wm.getStyleManager().addStyle(osgWidget.Style("widget.style1", STYLE1))
    wm.getStyleManager().addStyle(osgWidget.Style("widget.style2", STYLE2))
    wm.getStyleManager().addStyle(osgWidget.Style("spacer", STYLE3))
    wm.getStyleManager().addStyle(osgWidget.Style("window", STYLE4))
    # wm.getStyleManager().addStyle(CustomStyle("widget", ""))

    widget1.setStyle("widget.style1")
    widget2.setStyle("widget.style2")
    widget3.setStyle("spacer")

    box.setStyle("window")

    box.addWidget(widget1)
    box.addWidget(widget2)
    box.addWidget(widget3)

    wm.addChild(box)

    # box.resizePercent(0.0, 100.0)

    return osgWidget.createExample(viewer, wm)
Beispiel #11
0
def main(argv):

    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(viewer, 1280.0, 1024.0, MASK_2D)

    canvas = osgWidget.Canvas("canvas")

    canvas.attachMoveCallback()
    canvas.attachScaleCallback()

    canvas.addWidget(createWidget("w1", 0.2, osgWidget.Widget.LAYER_LOW), 0.0,
                     0.0)

    canvas.addWidget(createWidget("w2", 0.4, osgWidget.Widget.LAYER_MIDDLE),
                     200.0, 0.0)

    canvas.addWidget(createWidget("w3", 0.6, osgWidget.Widget.LAYER_HIGH),
                     400.0, 0.0)

    wm.addChild(canvas)

    program = osg.Program()

    program.addShader(
        osg.Shader.readShaderFile(
            osg.Shader.VERTEX,
            osgDB.findDataFile("osgWidget/osgwidgetshader-vert.glsl")))

    program.addShader(
        osg.Shader.readShaderFile(
            osg.Shader.FRAGMENT,
            osgDB.findDataFile("osgWidget/osgwidgetshader-frag.glsl")))

    canvas.getGeode().getOrCreateStateSet().setAttribute(program)

    return osgWidget.createExample(viewer, wm)
Beispiel #12
0
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D,
        # osgWidget.WindowManager.WM_USE_RENDERBINS |
        osgWidget.WindowManager.WM_PICK_DEBUG
    )
    
    box = osgWidget.Box("HBOX", osgWidget.Box.HORIZONTAL)
    vbox = osgWidget.Box("vbox", osgWidget.Box.VERTICAL)
    label1 = createLabel(LABEL1)
    label2 = createLabel(LABEL2)

    # Setup the labels for horizontal box.
    label1.setPadding(10.0)
    label2.setPadding(10.0)

    label1.addSize(21.0, 22.0)
    label2.addSize(21.0, 22.0)

    label1.setColor(1.0, 0.5, 0.0, 0.0)
    label2.setColor(1.0, 0.5, 0.0, 0.5)

    label2.setImage("Images/Brick-Norman-Brown.TGA", True)

    box.addWidget(label1)
    box.addWidget(label2)
    box.attachMoveCallback()
    box.attachScaleCallback()
    box.attachRotateCallback()

    # Setup the labels for the vertical box.
    label3 = createLabel("Label 3", 80)
    label4 = createLabel("Label 4", 60)
    label5 = createLabel("ABCDEFGHIJK", 93)

    label3.setPadding(3.0)
    label4.setPadding(3.0)
    label5.setPadding(3.0)

    label3.setColor(0.0, 0.0, 0.5, 0.5)
    label4.setColor(0.0, 0.0, 0.5, 0.5)
    label5.setColor(0.0, 0.0, 0.5, 0.5)
    
    #label5.setAlignHorizontal(osgWidget.Widget.HA_LEFT)
    #label5.setAlignVertical(osgWidget.Widget.VA_BOTTOM)

    # Test our label copy construction...
    label6 = osg.clone(label5, "label6", osg.CopyOp.DEEP_COPY_ALL)

    label6.setLabel("abcdefghijklmnopqrs")

    vbox.addWidget(label3)
    vbox.addWidget(label4)
    vbox.addWidget(label5)
    vbox.addWidget(label6)
    vbox.attachMoveCallback()
    vbox.attachScaleCallback()

    vbox.resize()

    # vbox.setVisibilityMode(osgWidget.Window.VM_ENTIRE)
    # vbox.setVisibleArea(50, 50, 500, 200)
    # vbox.setAnchorVertical(osgWidget.Window.VA_TOP)
    # vbox.setAnchorHorizontal(osgWidget.Window.HA_RIGHT)

    # Test our label-in-window copy construction...
    clonedBox = osg.clone(box, "HBOX-", osg.CopyOp.DEEP_COPY_ALL)()
    
    clonedBox.getBackground().setColor(0.0, 1.0, 0.0, 0.5)

    wm.addChild(box)
    wm.addChild(vbox)
    wm.addChild(clonedBox)

    return osgWidget.createExample(viewer, wm)
    relWidget.setSize(0.2, 0.2)
    relWidget.setColor(0.5, 0.5, 0.1, 0.9)

    osgWidget.warn(), canvas.getWidth()

    canvas.addWidget(relWidget, 0.4, 0.4)
    
    relWidget.addOrigin(0.1, 0.1)
    relWidget.addSize(0.2, 0.2)

    canvas.resize()

    # Finally, add the whole thing to the WindowManager.
    wm.addChild(canvas)

    return osgWidget.createExample(viewer, wm)

#
#def main(argv):
#    
#    viewer = osgViewer.Viewer()
#
#    wm = osgWidget.WindowManager(
#        viewer,
#        1280.0,
#        1024.0,
#        MASK_2D,
#        osgWidget.WindowManager.WM_PICK_DEBUG
#    )
#    
#    canvas = osgWidget.Canvas("canvas")
Beispiel #14
0
def main(argv):

    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(viewer, 1280.0, 1024.0, MASK_2D,
                                 osgWidget.WindowManager.WM_PICK_DEBUG)

    frame = osgWidget.Frame.createSimpleFrame("frame", 32.0, 32.0, 300.0,
                                              300.0)

    frame2 = osgWidget.Frame.createSimpleFrameFromTheme(
        "frameTheme", osgDB.readImageFile("osgWidget/theme-1.png"), 300.0,
        300.0, osgWidget.Frame.FRAME_ALL)
    frame2.setPosition(300, 100, 0)
    frame2.getBackground().setColor(1.0, 1.0, 1.0, 0.0)

    frame22 = osgWidget.Frame.createSimpleFrameFromTheme(
        "frameTheme", osgDB.readImageFile("osgWidget/theme-2.png"), 300.0,
        300.0, osgWidget.Frame.FRAME_ALL)
    frame22.setPosition(300, 100, 0)
    frame22.getBackground().setColor(1.0, 1.0, 1.0, 0.0)

    frame3 = osgWidget.Frame.createSimpleFrameFromTheme(
        "frameTheme", osgDB.readImageFile("osgWidget/theme-2.png"), 300.0,
        300.0, osgWidget.Frame.FRAME_ALL)
    frame3.setPosition(300, 100, 0)
    frame3.getBackground().setColor(0.0, 0.0, 0.0, 1.0)

    table = osgWidget.Table("table", 2, 2)
    bottom = osgWidget.Box("panel", osgWidget.Box.HORIZONTAL)

    table.addWidget(osgWidget.Widget("red", 300.0, 300.0), 0, 0)
    table.addWidget(osgWidget.Widget("white", 300.0, 300.0), 0, 1)
    table.addWidget(osgWidget.Widget("yellow", 300.0, 300.0), 1, 0)
    table.addWidget(osgWidget.Widget("purple", 300.0, 300.0), 1, 1)
    table.getByRowCol(0, 0).setColor(1.0, 0.0, 0.0, 1.0)
    table.getByRowCol(0, 1).setColor(1.0, 1.0, 1.0, 1.0)
    table.getByRowCol(1, 0).setColor(1.0, 1.0, 0.0, 1.0)
    table.getByRowCol(1, 1).setColor(1.0, 0.0, 1.0, 1.0)
    table.getByRowCol(0, 0).setMinimumSize(100.0, 100.0)
    table.getByRowCol(0, 1).setMinimumSize(100.0, 100.0)
    table.getByRowCol(1, 0).setMinimumSize(100.0, 100.0)
    table.getByRowCol(1, 1).setMinimumSize(100.0, 100.0)

    frame.setWindow(table)

    # Give frame some nice textures.
    # TODO: This has to be done after setWindow() wtf?
    frame.getBackground().setColor(0.0, 0.0, 0.0, 0.0)

    l = frame.getBorder(osgWidget.Frame.BORDER_LEFT)
    r = frame.getBorder(osgWidget.Frame.BORDER_RIGHT)
    t = frame.getBorder(osgWidget.Frame.BORDER_TOP)
    b = frame.getBorder(osgWidget.Frame.BORDER_BOTTOM)

    l.setImage("osgWidget/border-left.tga", True)
    r.setImage("osgWidget/border-right.tga", True)
    t.setImage("osgWidget/border-top.tga", True)
    b.setImage("osgWidget/border-bottom.tga", True)

    l.setTexCoordWrapVertical()
    r.setTexCoordWrapVertical()
    t.setTexCoordWrapHorizontal()
    b.setTexCoordWrapHorizontal()

    # Create the bottom, XArt panel.
    left = osgWidget.Widget("left", 512.0, 256.0)
    center = osgWidget.Widget("center", 256.0, 256.0)
    right = osgWidget.Widget("right", 512.0, 256.0)

    left.setImage("osgWidget/panel-left.tga", True)
    center.setImage("osgWidget/panel-center.tga", True)
    right.setImage("osgWidget/panel-right.tga", True)

    center.setTexCoordWrapHorizontal()

    bottom.addWidget(left)
    bottom.addWidget(center)
    bottom.addWidget(right)
    bottom.getBackground().setColor(0.0, 0.0, 0.0, 0.0)
    bottom.setOrigin(0.0, 1024.0 - 256.0)

    # Add everything to the WindowManager.
    wm.addChild(frame)
    wm.addChild(frame2)
    wm.addChild(frame22)
    wm.addChild(frame3)
    wm.addChild(bottom)

    return osgWidget.createExample(viewer, wm)
def main(argv):

    
    viewer = osgViewer.Viewer()

    wm = osgWidget.WindowManager(
        viewer,
        1280.0,
        1024.0,
        MASK_2D,
        osgWidget.WindowManager.WM_PICK_DEBUG
    )
    
    frame = osgWidget.Frame.createSimpleFrame(
        "frame",
        32.0,
        32.0,
        300.0,
        300.0
    )

    frame2 = osgWidget.Frame.createSimpleFrameFromTheme(
        "frameTheme",
        osgDB.readImageFile("osgWidget/theme-1.png"),
        300.0,
        300.0,
        osgWidget.Frame.FRAME_ALL
        )
    frame2.setPosition(300,100,0)
    frame2.getBackground().setColor(1.0, 1.0, 1.0, 0.0)

    frame22 = osgWidget.Frame.createSimpleFrameFromTheme(
        "frameTheme",
        osgDB.readImageFile("osgWidget/theme-2.png"),
        300.0,
        300.0,
        osgWidget.Frame.FRAME_ALL
        )
    frame22.setPosition(300,100,0)
    frame22.getBackground().setColor(1.0, 1.0, 1.0, 0.0)


    frame3 = osgWidget.Frame.createSimpleFrameFromTheme(
        "frameTheme",
        osgDB.readImageFile("osgWidget/theme-2.png"),
        300.0,
        300.0,
        osgWidget.Frame.FRAME_ALL
        )
    frame3.setPosition(300,100,0)
    frame3.getBackground().setColor(0.0, 0.0, 0.0, 1.0)
    
    table = osgWidget.Table("table", 2, 2)
    bottom = osgWidget.Box("panel", osgWidget.Box.HORIZONTAL)

    table.addWidget(osgWidget.Widget("red", 300.0, 300.0), 0, 0)
    table.addWidget(osgWidget.Widget("white", 300.0, 300.0), 0, 1)
    table.addWidget(osgWidget.Widget("yellow", 300.0, 300.0), 1, 0)
    table.addWidget(osgWidget.Widget("purple", 300.0, 300.0), 1, 1)
    table.getByRowCol(0, 0).setColor(1.0, 0.0, 0.0, 1.0)
    table.getByRowCol(0, 1).setColor(1.0, 1.0, 1.0, 1.0)
    table.getByRowCol(1, 0).setColor(1.0, 1.0, 0.0, 1.0)
    table.getByRowCol(1, 1).setColor(1.0, 0.0, 1.0, 1.0)
    table.getByRowCol(0, 0).setMinimumSize(100.0, 100.0)
    table.getByRowCol(0, 1).setMinimumSize(100.0, 100.0)
    table.getByRowCol(1, 0).setMinimumSize(100.0, 100.0)
    table.getByRowCol(1, 1).setMinimumSize(100.0, 100.0)

    frame.setWindow(table)

    # Give frame some nice textures.
    # TODO: This has to be done after setWindow() wtf?
    frame.getBackground().setColor(0.0, 0.0, 0.0, 0.0)

    l = frame.getBorder(osgWidget.Frame.BORDER_LEFT)
    r = frame.getBorder(osgWidget.Frame.BORDER_RIGHT)
    t = frame.getBorder(osgWidget.Frame.BORDER_TOP)
    b = frame.getBorder(osgWidget.Frame.BORDER_BOTTOM)

    l.setImage("osgWidget/border-left.tga", True)
    r.setImage("osgWidget/border-right.tga", True)
    t.setImage("osgWidget/border-top.tga", True)
    b.setImage("osgWidget/border-bottom.tga", True)

    l.setTexCoordWrapVertical()
    r.setTexCoordWrapVertical()
    t.setTexCoordWrapHorizontal()
    b.setTexCoordWrapHorizontal()

    # Create the bottom, XArt panel.
    left = osgWidget.Widget("left", 512.0, 256.0)
    center = osgWidget.Widget("center", 256.0, 256.0)
    right = osgWidget.Widget("right", 512.0, 256.0)

    left.setImage("osgWidget/panel-left.tga", True)
    center.setImage("osgWidget/panel-center.tga", True)
    right.setImage("osgWidget/panel-right.tga", True)

    center.setTexCoordWrapHorizontal()

    bottom.addWidget(left)
    bottom.addWidget(center)
    bottom.addWidget(right)
    bottom.getBackground().setColor(0.0, 0.0, 0.0, 0.0)
    bottom.setOrigin(0.0, 1024.0 - 256.0)

    # Add everything to the WindowManager.
    wm.addChild(frame)
    wm.addChild(frame2)
    wm.addChild(frame22)
    wm.addChild(frame3)
    wm.addChild(bottom)

    return osgWidget.createExample(viewer, wm)