+
+ // Give the panel rounded corners by first deleting the four right-angle corners...
+ set_color(nedsim, &color_list[nedsim->color_index].panel_bg);
+ XFillRectangle(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset,
+ nedsim->origin_y_offset,
+ nedsim->cell_size,
+ nedsim->cell_size
+ );
+ XFillRectangle(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset + (nedsim->cell_size * (OVERALL_WIDTH_IN_CELLS-1)),
+ nedsim->origin_y_offset,
+ nedsim->cell_size,
+ nedsim->cell_size
+ );
+ XFillRectangle(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset,
+ nedsim->origin_y_offset + (nedsim->cell_size * (HEADER_HEIGHT_IN_CELLS + nedsim->num_data_rows + FOOTER_HEIGHT_IN_CELLS - 1)),
+ nedsim->cell_size,
+ nedsim->cell_size
+ );
+ XFillRectangle(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset + (nedsim->cell_size * (OVERALL_WIDTH_IN_CELLS-1)),
+ nedsim->origin_y_offset + (nedsim->cell_size * (HEADER_HEIGHT_IN_CELLS + nedsim->num_data_rows + FOOTER_HEIGHT_IN_CELLS - 1)),
+ nedsim->cell_size,
+ nedsim->cell_size
+ );
+ // ...and then replacing them with filled arcs, forming rounded corners.
+ set_color(nedsim, &color_list[nedsim->color_index].panel_fg);
+ XFillArc(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset,
+ nedsim->origin_y_offset,
+ nedsim->cell_size * 2, nedsim->cell_size * 2,
+ 180*64, -90*64
+ );
+ XFillArc(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset + (nedsim->cell_size * (OVERALL_WIDTH_IN_CELLS-2)),
+ nedsim->origin_y_offset,
+ nedsim->cell_size * 2, nedsim->cell_size * 2,
+ 0, 90*64
+ );
+ XFillArc(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset,
+ nedsim->origin_y_offset + (nedsim->cell_size * (HEADER_HEIGHT_IN_CELLS + nedsim->num_data_rows + FOOTER_HEIGHT_IN_CELLS - 2)),
+ nedsim->cell_size * 2, nedsim->cell_size * 2,
+ 180*64, 90*64
+ );
+ XFillArc(nedsim->dpy, nedsim->win, nedsim->gc,
+ nedsim->origin_x_offset + (nedsim->cell_size * (OVERALL_WIDTH_IN_CELLS-2)),
+ nedsim->origin_y_offset + (nedsim->cell_size * (HEADER_HEIGHT_IN_CELLS + nedsim->num_data_rows + FOOTER_HEIGHT_IN_CELLS - 2)),
+ nedsim->cell_size * 2, nedsim->cell_size * 2,
+ 0, -90*64
+ );