123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- #include "sys-defines.h"
- #include "extern.h"
- double
- _API_ffontname (R___(Plotter *_plotter) const char *s)
- {
- char *font_name;
- if (!_plotter->data->open)
- {
- _plotter->error (R___(_plotter)
- "ffontname: invalid operation");
- return -1;
- }
-
- if ((s == NULL) || (*s == '\0') || !strcmp(s, "(null)"))
- switch (_plotter->data->default_font_type)
- {
- case PL_F_HERSHEY:
- default:
- s = PL_DEFAULT_HERSHEY_FONT;
- break;
- case PL_F_POSTSCRIPT:
- s = PL_DEFAULT_POSTSCRIPT_FONT;
- break;
- case PL_F_PCL:
- s = PL_DEFAULT_PCL_FONT;
- break;
- case PL_F_STICK:
- s = PL_DEFAULT_STICK_FONT;
- break;
- }
-
- free ((char *)_plotter->drawstate->font_name);
- font_name = (char *)_pl_xmalloc (strlen (s) + 1);
- strcpy (font_name, s);
- _plotter->drawstate->font_name = font_name;
-
- _pl_g_set_font (S___(_plotter));
-
- return _plotter->drawstate->true_font_size;
- }
- double
- _API_ffontsize (R___(Plotter *_plotter) double size)
- {
- if (!_plotter->data->open)
- {
- _plotter->error (R___(_plotter)
- "ffontsize: invalid operation");
- return -1;
- }
- if (size < 0.0)
- {
- size = _plotter->drawstate->default_font_size;
- _plotter->drawstate->font_size_is_default = true;
- }
- else
- _plotter->drawstate->font_size_is_default = false;
-
- _plotter->drawstate->font_size = size;
-
- _pl_g_set_font (S___(_plotter));
-
-
- _plotter->data->fontsize_invoked = true;
-
- return _plotter->drawstate->true_font_size;
- }
- double
- _API_ftextangle (R___(Plotter *_plotter) double angle)
- {
- if (!_plotter->data->open)
- {
- _plotter->error (R___(_plotter)
- "ftextangle: invalid operation");
- return -1;
- }
-
- _plotter->drawstate->text_rotation = angle;
-
-
- _pl_g_set_font (S___(_plotter));
-
-
- return _plotter->drawstate->true_font_size;
- }
- void *
- _pl_get_hershey_font_info (S___(Plotter *_plotter))
- {
- return (void *)_pl_g_hershey_font_info;
- }
- void *
- _pl_get_ps_font_info (S___(Plotter *_plotter))
- {
- return (void *)_pl_g_ps_font_info;
- }
- void *
- _pl_get_pcl_font_info (S___(Plotter *_plotter))
- {
- return (void *)_pl_g_pcl_font_info;
- }
- void *
- _pl_get_stick_font_info (S___(Plotter *_plotter))
- {
- return (void *)_pl_g_stick_font_info;
- }
|