Set Origin and Splitline Features

When using a larger virtual area, you can pan the visible area over the virtual one to do scrolling. Some targets have extemely efficient means to do this (i.e. they do it in hardware).

Thus this is commonly used for double-buffering by requesting a double- height virtual screen (i.e. virtualy=visibley*2 in SetMode) and then drawing on the upper/lower half alternatingly and displaying the currently "steady" buffer (the one which is not drawn to) using SetOrigin().

int ggiSetOrigin(ggi_visual_t vis,int x,int y);
Set the top-left corner of the displayed area to x/y.

int ggiSetSplitline(ggi_visual_t vis,int y);
Splitline is a feature which originated form the IBM VGA which is able to display the start of the display-memory (i.e. position 0/0) at some arbitrary line. However even some other targets can do this (e.g. X) by emulating this feature. Look at demo.c to see what it does.

Return Code: 0 for O.K. or error code else. Most probable cause of error is that the feature is not supported by the target.
Example: see FIXME.