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 /* The internal point-drawing function, which point() is a wrapper around.
20 It draws a point at the current location. There is no standard
21 definition of `point', so any Plotter is free to implement this as it
22 sees fit. */
23
24 #include "sys-defines.h"
25 #include "extern.h"
26
27 void
_pl_m_paint_point(S___ (Plotter * _plotter))28 _pl_m_paint_point (S___(Plotter *_plotter))
29 {
30 _pl_m_set_attributes (R___(_plotter)
31 PL_ATTR_TRANSFORMATION_MATRIX
32 | PL_ATTR_PEN_COLOR | PL_ATTR_PEN_TYPE);
33 _pl_m_emit_op_code (R___(_plotter) O_FPOINT);
34 _pl_m_emit_float (R___(_plotter) _plotter->drawstate->pos.x);
35 _pl_m_emit_float (R___(_plotter) _plotter->drawstate->pos.y);
36 _pl_m_emit_terminator (S___(_plotter));
37
38 _plotter->meta_pos = _plotter->drawstate->pos;
39
40 return;
41 }
42
43