libgeda
|
Splits a page into tiles. More...
#include <config.h>
#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include "libgeda_priv.h"
Go to the source code of this file.
Functions | |
void | s_tile_init (TOPLEVEL *toplevel, PAGE *p_current) |
initialize the array of tiles | |
static void | s_tile_add_line_object (TOPLEVEL *toplevel, OBJECT *object) |
add a line object to the tiles | |
void | s_tile_add_object (TOPLEVEL *toplevel, OBJECT *object) |
add an object to the tile ssytem | |
void | s_tile_remove_object (OBJECT *object) |
remove an object from the tiles | |
void | s_tile_update_object (TOPLEVEL *toplevel, OBJECT *object) |
update the tile informations of an object | |
GList * | s_tile_get_objectlists (TOPLEVEL *toplevel, PAGE *p_current, int world_x1, int world_y1, int world_x2, int world_y2) |
get a list of object lists of all tiles inside a region | |
void | s_tile_print (TOPLEVEL *toplevel, PAGE *page) |
print all objects for each tile | |
void | s_tile_free_all (PAGE *p_current) |
free all object links from the tiles |
With the tiles a page (st_page) is splitted into several smaller areas. The number of tiles is defined by MAX_TILES_X and MAX_TILES_Y.
Each TILE (st_tile) can contain zero to many OBJECTS (st_object) and each OBJECT can be in one or more TILES.
The usage of tiles makes it easier to find geometrical connections between the line objects (OBJ_NET, OBJ_PIN, OBJ_BUS).
Definition in file s_tile.c.
toplevel | The TOPLEVEL structure |
object | The line OBJECT to add |
Definition at line 112 of file s_tile.c.
void s_tile_remove_object | ( | OBJECT * | object | ) |
void s_tile_free_all | ( | PAGE * | p_current | ) |
[in] | p_current | The PAGE to clean up the tiles |