If use use <
Issue: image truncates at bottom (db1, db2 are display boxes of some sort)
vlb = V List Box( db1, db2 ) << copy picture;
Fix:vlb = V List Box( db1, db2 );
nw = New Window( "nw", vlb );
nw << copy picture;
nw << close window;
So if you wrap it within a Window, then the image properly copies without truncating. Maybe other display boxes can work, too.
DJ
I am not sure how to replicate your issue, can you give examples of specific display boxes that have the issue? In script below I stacked a few boxes on top of each other and the image copied from the vlb with and without the window were the same. Note that I did make a few syntax changes to your example:
Names default to here(1);
dt = Open( "$Sample_data/big class.jmp" );
// make boxes that are bigger than the monitor when stacked, first two fixed sizse
db1 = spacer box( Size( 1000, 1000), Color( blue ) );
db2 = spacer box( Size( 1000, 1000), Color( red ) );
// third one in an outline box
db3 = report( Graph Builder(
Size( 800, 800 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 2 ) ), Smoother( X, Y, Legend( 3 ) ) )
) );
//and last one wraps the third one in a fixed-size box
db4 = Scroll Box( Size( 1000, 1000), db3 );
// splitting your line into two, that way vlb is defined as the list box
// and not the result of copy picture
vlb = V List Box( db1, db2, db3, db4 );
// This gives a blue square on top of a red one (Fig 1):
vlb << copy picture;
// Not sure what is happening here, you haven't defined a 'Fix'namespace..
// Fix:vlb = V List Box( db1, db2 );
//In new window, it looks the same with two squares (Fig 2):
nw = New Window( "nw", vlb );
nw << copy picture;
nw << close window;
Here are the two images side by side:
