gerbv  2.6A
project.h
Go to the documentation of this file.
1 /*
2  * gEDA - GNU Electronic Design Automation
3  * This file is a part of gerbv.
4  *
5  * Copyright (C) 2000-2003 Stefan Petersen (spe@stacken.kth.se)
6  * Copyright (C) 2008 Dan McMahill
7  *
8  * $Id$
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
23  */
24 
30 #ifndef PROJECT_H
31 #define PROJECT_H
32 
33 typedef struct project_list_t {
34  int layerno;
35  char *filename;
36  int rgb[3];
37  int alpha;
38  char inverted;
39  double translate_x;
40  double translate_y;
41  double rotation;
42  double scale_x;
43  double scale_y;
44  char mirror_x;
45  char mirror_y;
46  char is_pnp;
47  char visible;
48  gerbv_HID_Attribute *attr_list;
49  int n_attr;
50  struct project_list_t *next;
51 } project_list_t;
52 
53 
54 enum conv_type {
55  MINGW_UNIX = 0,
56  UNIX_MINGW = 1
57 };
58 
59 
60 /*
61  * Reads a project from a file and returns a linked list describing the project
62  */
63 project_list_t *read_project_file(char const* filename);
64 
65 
66 /* Writes a description of a project to a file
67  * that can be parsed by read_project above */
68 int write_project_file(gerbv_project_t *gerbvProject, char const* filename, project_list_t *project);
69 
70 void
71 project_destroy_project_list (project_list_t *projectList);
72 #endif /* PROJECT_H */