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

Page 159

Advertising
background image

KTD-S0057-I

Page 155 Linux® Programming Examples (DebianTM)


KTAM3874/pITX Software Guide


static void destroy_X11_window (XSystem sys)
{
if

(sys.cmap)

XFreeColormap (sys.disp, sys.cmap);

XCloseDisplay

(sys.disp);

}


int main (void)
{
XSystem

xsys;

cairo_t

*cr;

cairo_surface_t

*surface;

memset ((void *) &xsys, 0, sizeof (xsys));

if (create_X11_window (&xsys))

return

EXIT_FAILURE;

surface = (cairo_surface_t *) cairo_pdf_surface_create ("test.pdf", WIDTH, HEIGHT);

/* surface = (cairo_surface_t *) cairo_ps_surface_create ("test.ps", WIDTH, HEIGHT);

surface = (cairo_surface_t *) cairo_svg_surface_create ("test.svg", WIDTH, HEIGHT); */

if (cairo_surface_status (surface) != CAIRO_STATUS_SUCCESS)

{

fprintf (stderr, "Cannot create cairo surface\n");

destroy_X11_window

(xsys);

return

EXIT_FAILURE;

}

cr = cairo_create (surface);

if (cairo_status (cr) != CAIRO_STATUS_SUCCESS)

{

fprintf (stderr, "Cannot create cairo context\n");

cairo_surface_destroy

(surface);

destroy_X11_window

(xsys);

return

EXIT_FAILURE;

}

draw_cairo_object1 (xsys, cr);

cairo_surface_set_device_offset

(surface, OBJ2_XOFFS, OBJ2_YOFFS);

draw_cairo_object2 (xsys, cr);

cairo_show_page

(cr);

/* Only necessary for PDF and PS */

cairo_destroy

(cr);

cairo_surface_destroy

(surface);

destroy_X11_window

(xsys);

return

EXIT_SUCCESS;

}

Advertising
This manual is related to the following products: