Exemple #1
0
static void MouseToPos(GEvent *event,int *_l, int *_c) {
    int l,c=0;

    GDrawSetFont(errdata.v,errdata.font);
    l = event->u.mouse.y/errdata.fh + errdata.offtop;
    if ( l>=errdata.cnt ) {
        l = errdata.cnt-1;
        if ( l>=0 )
            c = strlen(errdata.errlines[l]);
    } else if ( l>=0 ) {
        GDrawLayoutInit(errdata.v,errdata.errlines[l],-1,NULL);
        c = GDrawLayoutXYToIndex(errdata.v,event->u.mouse.x-3,4);
    }
    *_l = l;
    *_c = c;
}
Exemple #2
0
static void MouseToPos(GEvent *event,int *_l, int *_c) {
    int l,c=0;
    char *end;

    GDrawSetFont(errdata.v,errdata.font);
    l = event->u.mouse.y/errdata.fh + errdata.offtop;
    if ( l>=errdata.cnt ) {
	l = errdata.cnt-1;
	if ( l>=0 )
	    c = strlen(errdata.errlines[l]);
    } else if ( (GDrawHasCairo(errdata.v)&gc_pango) && l>=0 ) {
	GDrawLayoutInit(errdata.v,errdata.errlines[l],-1,NULL);
	c = GDrawLayoutXYToIndex(errdata.v,event->u.mouse.x-3,4);
    } else if ( l>=0 ) {
	GDrawGetText8PtFromPos(errdata.v,errdata.errlines[l],-1,NULL,event->u.mouse.x-3,&end);
	c = end - errdata.errlines[l];
    }
    *_l = l;
    *_c = c;
}