Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual

Page 122

Advertising
background image

KTD-S0057-I

Page 118 Linux® Programming Examples (DebianTM)


KTAM3874/pITX Software Guide


XSetForeground

(sys.disp, sys.gc, btn.linecol1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x, btn.rc.y, btn.rc.x, btn.rc.y + btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x, btn.rc.y, btn.rc.x + btn.rc.width-1, btn.rc.y);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x+1, btn.rc.y, btn.rc.x+1, btn.rc.y + btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x, btn.rc.y+1, btn.rc.x + btn.rc.width-1, btn.rc.y+1);

XSetForeground

(sys.disp, sys.gc, btn.linecol2);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x+1, btn.rc.y + btn.rc.height-1, btn.rc.x + btn.rc.width-1,

btn.rc.y

+

btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x + btn.rc.width-1, btn.rc.y+1, btn.rc.x + btn.rc.width-1,

btn.rc.y

+

btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x+2, btn.rc.y + btn.rc.height-2, btn.rc.x + btn.rc.width-1,

btn.rc.y

+

btn.rc.height-2);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x + btn.rc.width-2, btn.rc.y+2, btn.rc.x + btn.rc.width-2,

btn.rc.y

+

btn.rc.height-1);

if (strlen (btn.text))

{

XSetFont

(sys.disp,

sys.gc, btn.font->fid);

XSetForeground

(sys.disp, sys.gc, btn.textcol);

XSetBackground

(sys.disp, sys.gc, btn.backcol);

XTextExtents (btn.font, btn.text, strlen (btn.text), &tmp, &tmp, &tmp, &tsize);

xp = (btn.rc.width / 2) - (tsize.width / 2) + btn.rc.x;

yp = (btn.rc.height / 2) + (tsize.ascent) - ((tsize.ascent + tsize.descent) / 2) + btn.rc.y;

XDrawImageString (sys.disp, sys.win, sys.gc, xp, yp, btn.text, strlen (btn.text));

}
}


/* Not the optimal solution ! */
static void reverse_button (XSystem sys, XButton btn)
{

XSetForeground (sys.disp, sys.gc, BlackPixel (sys.disp, sys.screen));

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x, btn.rc.y, btn.rc.x, btn.rc.y + btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x, btn.rc.y, btn.rc.x + btn.rc.width-1, btn.rc.y);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x+1, btn.rc.y, btn.rc.x+1, btn.rc.y + btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x, btn.rc.y+1, btn.rc.x + btn.rc.width-1, btn.rc.y+1);

XSetForeground (sys.disp, sys.gc, WhitePixel (sys.disp, sys.screen));

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x+1, btn.rc.y + btn.rc.height-1, btn.rc.x + btn.rc.width-1,

btn.rc.y

+

btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x + btn.rc.width-1, btn.rc.y+1, btn.rc.x + btn.rc.width-1,

btn.rc.y

+

btn.rc.height-1);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x+2, btn.rc.y + btn.rc.height-2, btn.rc.x + btn.rc.width-1,

btn.rc.y

+

btn.rc.height-2);

XDrawLine (sys.disp, sys.win, sys.gc, btn.rc.x + btn.rc.width-2, btn.rc.y+2, btn.rc.x + btn.rc.width-2,

btn.rc.y

+

btn.rc.height-1);

}

Advertising
This manual is related to the following products: