The clip region system works just like set_clip() only it allows for nested regions since any new call to nas_set_clip() will also clip to within the last region set, this is needed instead of set_clip() for all procedures/routines that may set a clip region since nas_set_clip() guarantees the new region to never extend past a dialogs region.
int nas_set_clip(BITMAP *bmp, int x1, int y1, int x2, int y2);
Pushes a clip region onto a stack, nothing will be drawn outside this region. Returns 1 if everything went ok, otherwise 0.
int nas_restore_clip(void);
Restores the previously set region, popping it off the stack. Returns 1 if everything went ok, otherwise it will return 0 if
nothing is on the stack already. You must call nas_restore_clip() every time you are finished with a call to nas_set_clip()
otherwise that region will stay in effect until the old region is restored.