/*! * \brief Create a TOPLEVEL object * \par Function Description * Create and return an empty TOPLEVEL object with sensible defaults * for its properties. * * \returns the newly created TOPLEVEL. */ TOPLEVEL *s_toplevel_new (void) { TOPLEVEL *toplevel; toplevel = (TOPLEVEL*)g_new (TOPLEVEL, 1); toplevel->RC_list = NULL; toplevel->bitmap_directory = NULL; /* These values are the default extents of the schematic drawing area. * * The negative values allow symbols, residing at the origin, to be * edited without translation to other coordinates. */ toplevel->init_left = -60500; toplevel->init_top = -45375; toplevel->init_right = 121000; toplevel->init_bottom = 90750; toplevel->pages = geda_list_new(); toplevel->page_current = NULL; toplevel->show_hidden_text = 0; toplevel->major_changed_refdes = NULL; toplevel->image_color = FALSE; toplevel->net_consolidate = FALSE; /* The following is an attempt at getting (deterministic) defaults */ /* for the following variables */ toplevel->attribute_promotion = FALSE; toplevel->promote_invisible = FALSE; toplevel->keep_invisible = FALSE; toplevel->make_backup_files = TRUE; toplevel->bus_ripper_symname = NULL; toplevel->force_boundingbox = FALSE; toplevel->always_promote_attributes = NULL; toplevel->rendered_text_bounds_func = NULL; toplevel->rendered_text_bounds_data = NULL; toplevel->change_notify_funcs = NULL; toplevel->load_newer_backup_func = NULL; toplevel->load_newer_backup_data = NULL; /* Auto-save interval */ toplevel->auto_save_interval = 0; toplevel->auto_save_timeout = 0; toplevel->weak_refs = NULL; return toplevel; }
/*! \todo Finish function documentation!!! * \brief * \par Function Description * */ TOPLEVEL *s_toplevel_new (void) { TOPLEVEL *toplevel; toplevel = (TOPLEVEL*)g_new (TOPLEVEL, 1); toplevel->RC_list = NULL; toplevel->untitled_name = NULL; toplevel->font_directory = NULL; toplevel->scheme_directory = NULL; toplevel->bitmap_directory = NULL; toplevel->init_left = 0; toplevel->init_top = 0; /* init_right and _bottom are set before this function is called */ toplevel->width = 1; toplevel->height = 1; toplevel->snap = SNAP_GRID; toplevel->override_color = -1; toplevel->DONT_REDRAW = 0; toplevel->ADDING_SEL = 0; toplevel->pages = geda_list_new(); toplevel->page_current = NULL; toplevel->show_hidden_text = 0; toplevel->major_changed_refdes = NULL; toplevel->snap_size = 100; /* BLOCK SET IN GSCHEM, BUT USED IN LIBGEDA - NEEDS A RETHINK */ toplevel->background_color = 0; toplevel->override_net_color = -1; toplevel->override_bus_color = -1; toplevel->override_pin_color = -1; toplevel->pin_style = 0; toplevel->net_style = 0; toplevel->bus_style = 0; toplevel->line_style = 0; /* END BLOCK - ALTHOUGH THERE ARE MORE CASES! */ toplevel->object_clipping = 0; toplevel->text_output = 0; toplevel->print_orientation = 0; toplevel->image_color = FALSE; toplevel->print_color = FALSE; toplevel->print_color_background = 0; toplevel->setpagedevice_orientation = FALSE; toplevel->setpagedevice_pagesize = FALSE; toplevel->postscript_prolog = NULL; toplevel->postscript_font_scale = 1.0; toplevel->net_consolidate = FALSE; /* The following is an attempt at getting (deterministic) defaults */ /* for the following variables */ toplevel->attribute_promotion = FALSE; toplevel->promote_invisible = FALSE; toplevel->keep_invisible = FALSE; toplevel->print_output_type = 0; toplevel->print_output_capstyle = BUTT_CAP; toplevel->paper_width = 0; toplevel->paper_height = 0; toplevel->bus_ripper_symname = NULL; toplevel->force_boundingbox = FALSE; toplevel->print_vector_threshold = 3; toplevel->always_promote_attributes = NULL; toplevel->net_naming_priority = 0; toplevel->hierarchy_traversal = 0; toplevel->hierarchy_uref_mangle = 0; toplevel->hierarchy_netname_mangle = 0; toplevel->hierarchy_netattrib_mangle = 0; toplevel->hierarchy_uref_separator = NULL; toplevel->hierarchy_netname_separator = NULL; toplevel->hierarchy_netattrib_separator = NULL; toplevel->hierarchy_netattrib_order = 0; toplevel->hierarchy_netname_order = 0; toplevel->hierarchy_uref_order = 0; toplevel->unnamed_netname = NULL; toplevel->unnamed_busname = NULL; toplevel->rendered_text_bounds_func = NULL; toplevel->rendered_text_bounds_data = NULL; /* Auto-save interval */ toplevel->auto_save_interval = 0; toplevel->auto_save_timeout = 0; /* disable the events */ toplevel->DONT_REDRAW = 1; return toplevel; }