1 /* This file is part of the GNU plotutils package. Copyright (C) 1995,
2 1996, 1997, 1998, 1999, 2000, 2005, 2008, Free Software Foundation, Inc.
3
4 The GNU plotutils package is free software. You may redistribute it
5 and/or modify it under the terms of the GNU General Public License as
6 published by the Free Software foundation; either version 2, or (at your
7 option) any later version.
8
9 The GNU plotutils package is distributed in the hope that it will be
10 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 General Public License for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with the GNU plotutils package; see the file COPYING. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin St., Fifth Floor,
17 Boston, MA 02110-1301, USA. */
18
19 #include "sys-defines.h"
20 #include "extern.h"
21
22 bool
_pl_a_begin_page(S___ (Plotter * _plotter))23 _pl_a_begin_page (S___(Plotter *_plotter))
24 {
25 int i;
26
27 /* The following resetting code should duplicate what is done in
28 erase_page(). */
29
30 /* initialize `font used' array for this page */
31 for (i = 0; i < PL_NUM_PS_FONTS; i++)
32 _plotter->data->page->ps_font_used[i] = false;
33
34 /* With each call to openpl(), we reset our knowledge of Illustrator's
35 internal state, i.e. the dynamic AI-specific data members of the
36 AIPlotter. The values are the same as are used in initializing the
37 AIPlotter (see a_defplot.c). */
38
39 _plotter->ai_pen_cyan = 0.0;
40 _plotter->ai_pen_magenta = 0.0;
41 _plotter->ai_pen_yellow = 0.0;
42 _plotter->ai_pen_black = 1.0;
43 _plotter->ai_fill_cyan = 0.0;
44 _plotter->ai_fill_magenta = 0.0;
45 _plotter->ai_fill_yellow = 0.0;
46 _plotter->ai_fill_black = 1.0;
47 _plotter->ai_cyan_used = false;
48 _plotter->ai_magenta_used = false;
49 _plotter->ai_yellow_used = false;
50 _plotter->ai_black_used = false;
51 _plotter->ai_cap_style = AI_LINE_CAP_BUTT;
52 _plotter->ai_join_style = AI_LINE_JOIN_MITER;
53 _plotter->ai_miter_limit = 4.0; /* default value for AI */
54 _plotter->ai_line_type = PL_L_SOLID;
55 _plotter->ai_line_width = 1.0;
56 _plotter->ai_fill_rule_type = 0; /* i.e. nonzero winding number rule */
57
58 return true;
59 }
60