123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /* This file is part of the GNU plotutils package. Copyright (C) 1995,
- 1996, 1997, 1998, 1999, 2000, 2005, 2008, Free Software Foundation, Inc.
- The GNU plotutils package is free software. You may redistribute it
- and/or modify it under the terms of the GNU General Public License as
- published by the Free Software foundation; either version 2, or (at your
- option) any later version.
- The GNU plotutils package is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
- You should have received a copy of the GNU General Public License along
- with the GNU plotutils package; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin St., Fifth Floor,
- Boston, MA 02110-1301, USA. */
- /* The paint_marker method, which is an internal function that is called
- when the marker() method is invoked. It plots an object: a marker of a
- specified type, at a specified size, at the current location.
- If this returns `false', marker() will construct the marker from other
- libplot primitives, in a generic way. */
- #include "sys-defines.h"
- #include "extern.h"
- bool
- _pl_m_paint_marker (R___(Plotter *_plotter) int type, double size)
- {
- _pl_m_set_attributes (R___(_plotter)
- PL_ATTR_TRANSFORMATION_MATRIX
- | PL_ATTR_PEN_COLOR | PL_ATTR_PEN_TYPE);
- _pl_m_emit_op_code (R___(_plotter) O_FMARKER);
- _pl_m_emit_float (R___(_plotter) _plotter->drawstate->pos.x);
- _pl_m_emit_float (R___(_plotter) _plotter->drawstate->pos.y);
- _pl_m_emit_integer (R___(_plotter) type);
- _pl_m_emit_float (R___(_plotter) size);
- _pl_m_emit_terminator (S___(_plotter));
- _plotter->meta_pos = _plotter->drawstate->pos;
- return true;
- }
|