12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #include "sys-defines.h"
- #include "extern.h"
- int
- _API_ftranslate (R___(Plotter *_plotter) double x, double y)
- {
- double m0, m1, m2, m3, m4, m5;
- if (!_plotter->data->open)
- {
- _plotter->error (R___(_plotter)
- "ftranslate: invalid operation");
- return -1;
- }
- m0 = m3 = 1.0;
- m1 = m2 = 0.0;
- m4 = x;
- m5 = y;
- _API_fconcat (R___(_plotter) m0, m1, m2, m3, m4, m5);
-
- return 0;
- }
- int
- _API_frotate (R___(Plotter *_plotter) double theta)
- {
- double m0, m1, m2, m3, m4, m5;
- double radians = M_PI * theta / 180.0;
-
- if (!_plotter->data->open)
- {
- _plotter->error (R___(_plotter)
- "frotate: invalid operation");
- return -1;
- }
- m0 = m3 = cos (radians);
- m1 = sin (radians);
- m2 = - sin (radians);
- m4 = m5 = 0.0;
- _API_fconcat (R___(_plotter) m0, m1, m2, m3, m4, m5);
- return 0;
- }
- int
- _API_fscale (R___(Plotter *_plotter) double x, double y)
- {
- double m0, m1, m2, m3, m4, m5;
- if (!_plotter->data->open)
- {
- _plotter->error (R___(_plotter)
- "fscale: invalid operation");
- return -1;
- }
- m0 = x;
- m3 = y;
- m1 = m2 = m4 = m5 = 0.0;
- _API_fconcat (R___(_plotter) m0, m1, m2, m3, m4, m5);
- return 0;
- }
|