12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #include "sys-defines.h"
- #include "extern.h"
- #include "xmi.h"
- void
- _pl_b_paint_point (S___(Plotter *_plotter))
- {
- double xx, yy;
- int ixx, iyy;
- unsigned char red, green, blue;
- miGC *pGC;
- miPixel fgPixel, bgPixel, pixels[2];
- miPoint point, offset;
- if (_plotter->drawstate->pen_type != 0)
-
- {
-
- xx = XD(_plotter->drawstate->pos.x, _plotter->drawstate->pos.y);
- yy = YD(_plotter->drawstate->pos.x, _plotter->drawstate->pos.y);
-
-
- ixx = IROUND(xx);
- iyy = IROUND(yy);
-
-
- red = ((unsigned int)(_plotter->drawstate->fgcolor.red) >> 8) & 0xff;
- green = ((unsigned int)(_plotter->drawstate->fgcolor.green) >> 8) & 0xff;
- blue = ((unsigned int)(_plotter->drawstate->fgcolor.blue) >> 8) & 0xff;
-
-
- bgPixel.type = MI_PIXEL_RGB_TYPE;
- bgPixel.u.rgb[0] = _plotter->drawstate->bgcolor.red & 0xff;
- bgPixel.u.rgb[1] = _plotter->drawstate->bgcolor.green & 0xff;
- bgPixel.u.rgb[2] = _plotter->drawstate->bgcolor.blue & 0xff;
- fgPixel.type = MI_PIXEL_RGB_TYPE;
- fgPixel.u.rgb[0] = red;
- fgPixel.u.rgb[1] = green;
- fgPixel.u.rgb[2] = blue;
- pixels[0] = bgPixel;
- pixels[1] = fgPixel;
-
-
- pGC = miNewGC (2, pixels);
- _set_common_mi_attributes (_plotter->drawstate, (void *)pGC);
-
- point.x = ixx;
- point.y = iyy;
- miDrawPoints ((miPaintedSet *)_plotter->b_painted_set,
- pGC, MI_COORD_MODE_ORIGIN, 1, &point);
-
-
- miDeleteGC (pGC);
-
-
- offset.x = 0;
- offset.y = 0;
- miCopyPaintedSetToCanvas ((miPaintedSet *)_plotter->b_painted_set,
- (miCanvas *)_plotter->b_canvas,
- offset);
- miClearPaintedSet ((miPaintedSet *)_plotter->b_painted_set);
- }
- }
|