shithub: riscv

ref: 2fe3b28f86ed4aa291fb8a620b948abe9c6a1f84
dir: /sys/src/cmd/mothra/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);
	}
}