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