123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "sys-defines.h"
- #include "extern.h"
- void
- _pl_c_paint_point (S___(Plotter *_plotter))
- {
- double xd, yd;
- int i_x, i_y;
- if (_plotter->drawstate->pen_type != 0)
-
- {
- if (_plotter->cgm_marker_type != CGM_M_DOT)
-
- {
- int byte_count, data_byte_count, data_len;
-
- data_len = 2;
- byte_count = data_byte_count = 0;
- _cgm_emit_command_header (_plotter->data->page, _plotter->cgm_encoding,
- CGM_ATTRIBUTE_ELEMENT, 6,
- data_len, &byte_count,
- "MARKERTYPE");
- _cgm_emit_index (_plotter->data->page, false, _plotter->cgm_encoding,
- CGM_M_DOT,
- data_len, &data_byte_count, &byte_count);
- _cgm_emit_command_terminator (_plotter->data->page, _plotter->cgm_encoding,
- &byte_count);
-
- _plotter->cgm_marker_type = CGM_M_DOT;
- }
-
-
-
- _pl_c_set_pen_color (R___(_plotter) CGM_OBJECT_MARKER);
-
- xd = XD(_plotter->drawstate->pos.x, _plotter->drawstate->pos.y);
- yd = YD(_plotter->drawstate->pos.x, _plotter->drawstate->pos.y);
- i_x = IROUND(xd);
- i_y = IROUND(yd);
-
-
- {
- int byte_count, data_byte_count, data_len;
-
- data_len = 1 * 2 * CGM_BINARY_BYTES_PER_INTEGER;
- byte_count = data_byte_count = 0;
- _cgm_emit_command_header (_plotter->data->page, _plotter->cgm_encoding,
- CGM_GRAPHICAL_PRIMITIVE_ELEMENT, 3,
- data_len, &byte_count,
- "MARKER");
- _cgm_emit_point (_plotter->data->page, false, _plotter->cgm_encoding,
- i_x, i_y,
- data_len, &data_byte_count, &byte_count);
- _cgm_emit_command_terminator (_plotter->data->page, _plotter->cgm_encoding,
- &byte_count);
- }
- }
- }
|