#include #include /* hidlib headers */ #include "unit.h" #include "hid_init.h" #include "hid.h" #include "buildin.hidlib.h" /* local (app) headers */ #include "gui_act.h" #include "main.h" const char *pcb_hidlib_default_embedded_menu = ""; const char *conf_internal = ""; const char *pcbhl_menu_file_paths[] = { "./", "~/.hidlib/", NULL }; const char *pcbhl_menu_name_fmt = "hidlib-menu.lht"; void pcb_tool_gui_init(void) { } void conf_core_init() { } hle_design_t hle_design; static void gen_lines(void) { int n; for(n = 0; n < 10; n++) { hle_line_t *l = malloc(sizeof(hle_line_t)); l->x1 = PCB_MM_TO_COORD(rand() % 100); l->y1 = PCB_MM_TO_COORD(rand() % 100); l->x2 = PCB_MM_TO_COORD(rand() % 100); l->y2 = PCB_MM_TO_COORD(rand() % 100); l->thick = PCB_MM_TO_COORD(rand() % 4); l->bbox.x1 = MIN(l->x1, l->x2) - l->thick; l->bbox.y1 = MIN(l->y1, l->y2) - l->thick; l->bbox.x2 = MAX(l->x1, l->x2) + l->thick; l->bbox.y2 = MAX(l->y1, l->y2) + l->thick; hle_rtree_insert(&hle_design.lines, l, &l->bbox); } } int main(int argc, char *argv[]) { const char *gui_name = "gtk2_gdk"; hle_design.hidlib.size_x = PCB_MM_TO_COORD(100); hle_design.hidlib.size_y = PCB_MM_TO_COORD(100); hle_design.hidlib.grid = PCB_MM_TO_COORD(1); hle_rtree_init(&hle_design.lines); gen_lines(); pcb_hidlib_init1(conf_core_init); pcb_hidlib_init2(pup_buildins); gui_act_init(); pcb_gui = pcb_hid_find_gui(gui_name); if (pcb_gui == NULL) { pcb_message(PCB_MSG_ERROR, "can't find HID '%s'\n", gui_name); pcbhl_log_print_uninit_errs(""); exit(1); } if (pcb_gui->parse_arguments(&argc, &argv) != 0) { pcb_message(PCB_MSG_ERROR, "can't init HID '%s'\n", gui_name); pcbhl_log_print_uninit_errs(""); exit(1); } pcb_gui->do_export(&hle_design.hidlib, 0); }