コード例 #1
0
ファイル: wsys.c プロジェクト: aberg001/plan9
static void
mouseevent(Vnc *v, Mouse m)
{
    vnclock(v);
    vncwrchar(v, MMouse);
    vncwrchar(v, m.buttons);
    vncwrpoint(v, m.xy);
    vncflush(v);
    vncunlock(v);
}
コード例 #2
0
ファイル: vncv.c プロジェクト: AustenConrad/plan-9
static int
vncstart(Vnc *v, int shared)
{
	vncwrchar(v, shared);
	vncflush(v);
	v->dim = vncrdpoint(v);
	v->Pixfmt = vncrdpixfmt(v);
	v->name = vncrdstring(v);
	return 0;
}
コード例 #3
0
ファイル: proto.c プロジェクト: AustenConrad/plan-9
void
vncwrpixfmt(Vnc *v, Pixfmt *fmt)
{
	vncwrchar(v, fmt->bpp);
	vncwrchar(v, fmt->depth);
	vncwrchar(v, fmt->bigendian);
	vncwrchar(v, fmt->truecolor);
	vncwrshort(v, fmt->red.max);
	vncwrshort(v, fmt->green.max);
	vncwrshort(v, fmt->blue.max);
	vncwrchar(v, fmt->red.shift);
	vncwrchar(v, fmt->green.shift);
	vncwrchar(v, fmt->blue.shift);
	vncwrbytes(v, zero, 3);
}
コード例 #4
0
ファイル: wsys.c プロジェクト: aberg001/plan9
void
checksnarf(Vnc *v)
{
    Dir *dir;
    char *snarf;
    int len;

    if(snarffd < 0) {
        snarffd = open("/dev/snarf", OREAD);
        if(snarffd < 0)
            sysfatal("can't open /dev/snarf: %r");
    }

    for(;;) {
        sleep(1000);

        dir = dirstat("/dev/snarf");
        if(dir == nil)	/* this happens under old drawterm */
            continue;
        if(dir->qid.vers > snarfvers) {
            snarf = getsnarf(&len);

            vnclock(v);
            vncwrchar(v, MCCut);
            vncwrbytes(v, "pad", 3);
            vncwrlong(v, len);
            vncwrbytes(v, snarf, len);
            vncflush(v);
            vncunlock(v);

            free(snarf);

            snarfvers = dir->qid.vers;
        }
        free(dir);
    }
}