PROGRAM(viewport);
// This is a container that can be scrolled around, but it has no scrollbars.
// You can still connect scrollbars to it using the adjustment objects.
// IMG: GTK.Viewport(GTK.Adjustment(),GTK.Adjustment())->set_usize(100,100)
// IMG: GTK.Viewport(GTK.Adjustment(),GTK.Adjustment())->set_usize(100,100)->set_shadow_type(GTK.SHADOW_ETCHED_IN)
// IMG: GTK.Viewport(GTK.Adjustment(),GTK.Adjustment())->set_usize(100,100)->add(GTK.Label("A label with a very long text on it, it will not fit")->show())->set_shadow_type(GTK.SHADOW_ETCHED_IN)
// IMG: lambda(){ object a1;object v = GTK.Viewport(a1=GTK.Adjustment(),GTK.Adjustment())->set_usize(100,100)->add(GTK.Label("A label with a very long text on it, it will not fit")->show())->set_shadow_type(GTK.SHADOW_ETCHED_IN)->show();call_out(a1->set_value,0,100.0);return v;}()
INHERIT(bin);
COMPLEX_FUNCTION(create, adjustment, adjustment);
NAME_ARGS(xscroll,yscroll);
// Create a new viewport.  The adjustments are used to select what
// part of the viewport to view to the user. They are normally
// connected to a scrollbar or something similar.
adjustment COMPLEX_FUNCTION(get_hadjustment);
adjustment COMPLEX_FUNCTION(get_vadjustment);

COMPLEX_FUNCTION(set_hadjustment, adjustment);
NAME_ARGS(xscroll);
// Set a new horizontal adjustment object.
COMPLEX_FUNCTION(set_vadjustment, adjustment);
NAME_ARGS(yscroll);
// Set a new vertical adjustment object.
COMPLEX_FUNCTION(set_shadow_type, int);
NAME_ARGS(type);
// Set the shadow style. One of CONST(GTK_SHADOW)

