shithub: castor9

ref: 6a24e215725d72e1c24d880809f5ea3454d7a6f8
dir: castor9/libpanel/scroll.c

View raw version
#include <u.h>
#include <libc.h>
#include <draw.h>
#include <event.h>
#include <panel.h>
#include "pldefs.h"
void plscroll(Panel *scrollee, Panel *xscroller, Panel *yscroller){
	scrollee->xscroller=xscroller;
	scrollee->yscroller=yscroller;
	if(xscroller) xscroller->scrollee=scrollee;
	if(yscroller) yscroller->scrollee=scrollee;
}
Scroll plgetscroll(Panel *p){
	return p->scr;
}
void plsetscroll(Panel *p, Scroll s){
	if(p->scroll){
		if(s.size.x) p->scroll(p, HORIZ, 2, s.pos.x, s.size.x);
		if(s.size.y) p->scroll(p, VERT, 2, s.pos.y, s.size.y);
	}
}