12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441 |
- #ifndef LIBPLOTTER
- #define NOT_LIBPLOTTER
- #endif
- #include "plotter.h"
- #ifndef X_DISPLAY_MISSING
- #include <X11/Xatom.h>
- #include <X11/Xlib.h> /* included also in plotter.h */
- #include <X11/Intrinsic.h>
- #include <X11/Shell.h>
- #include <X11/StringDefs.h>
- #ifdef HAVE_X11_EXTENSIONS_MULTIBUF_H
- #include <X11/extensions/multibuf.h>
- #endif
- #ifdef HAVE_X11_EXTENSIONS_XDBE_H
- #include <X11/extensions/Xdbe.h>
- #endif
- #ifdef USE_MOTIF
- #include <Xm/Label.h>
- #else
- #include <X11/Xaw/Label.h>
- #endif
- #endif /* not X_DISPLAY_MISSING */
- #define PL_F_HERSHEY 0
- #define PL_F_POSTSCRIPT 1
- #define PL_F_PCL 2
- #define PL_F_STICK 3
- #define PL_F_OTHER 4
- #define PL_NUM_PS_FONTS 35
- #define PL_NUM_PCL_FONTS 45
- #define PL_DEFAULT_HERSHEY_FONT "HersheySerif"
- #define PL_DEFAULT_HERSHEY_TYPEFACE_INDEX 0
- #define PL_DEFAULT_HERSHEY_FONT_INDEX 1
- #define PL_DEFAULT_POSTSCRIPT_FONT "Helvetica"
- #define PL_DEFAULT_POSTSCRIPT_TYPEFACE_INDEX 0
- #define PL_DEFAULT_POSTSCRIPT_FONT_INDEX 1
- #define PL_DEFAULT_PCL_FONT "Univers"
- #define PL_DEFAULT_PCL_TYPEFACE_INDEX 0
- #define PL_DEFAULT_PCL_FONT_INDEX 1
- #define PL_DEFAULT_STICK_FONT "Stick"
- #define PL_DEFAULT_STICK_TYPEFACE_INDEX 3
- #define PL_DEFAULT_STICK_FONT_INDEX 1
- struct plHersheyFontInfoStruct
- {
- const char *name;
- const char *othername;
- const char *orig_name;
- short chars[256];
- int typeface_index;
- int font_index;
- bool obliquing;
- bool iso8859_1;
- bool visible;
- };
- extern const struct plHersheyFontInfoStruct _pl_g_hershey_font_info[];
- #define PL_HERSHEY_SERIF 0
- #define PL_HERSHEY_SERIF_ITALIC 1
- #define PL_HERSHEY_SERIF_BOLD 2
- #define PL_HERSHEY_CYRILLIC 4
- #define PL_HERSHEY_HIRAGANA 6 /* hidden font */
- #define PL_HERSHEY_KATAKANA 7 /* hidden font */
- #define PL_HERSHEY_EUC 8
- #define PL_HERSHEY_GOTHIC_GERMAN 16
- #define PL_HERSHEY_SERIF_SYMBOL 18
- struct plHersheyAccentedCharInfoStruct
- {
- unsigned char composite, character, accent;
- };
- extern const struct plHersheyAccentedCharInfoStruct _pl_g_hershey_accented_char_info[];
- #define ACC0 (16384 + 0) /* superimpose on character */
- #define ACC1 (16384 + 1) /* elevate by 7 Hershey units */
- #define ACC2 (16384 + 2) /* same, also shift right by 2 units */
- #define KS 8192 /* i.e. 0x200 */
- extern const char * const _pl_g_occidental_hershey_glyphs[];
- extern const char * const _pl_g_oriental_hershey_glyphs[];
- #define UNDE 4023
- struct plPSFontInfoStruct
- {
- const char *ps_name;
- const char *ps_name_alt;
- const char *ps_name_alt2;
- const char *x_name;
- const char *x_name_alt;
- const char *x_name_alt2;
- const char *x_name_alt3;
- const char *css_family;
- const char *css_generic_family;
- const char *css_style;
- const char *css_weight;
- const char *css_stretch;
- const char *css_panose;
- int pcl_typeface;
- int hpgl_spacing;
- int hpgl_posture;
- int hpgl_stroke_weight;
- int hpgl_symbol_set;
- int font_ascent;
- int font_descent;
- int font_cap_height;
- int font_x_height;
- short width[256];
- short offset[256];
- int typeface_index;
- int font_index;
- int fig_id;
- bool iso8859_1;
- };
- extern const struct plPSFontInfoStruct _pl_g_ps_font_info[];
- struct plPCLFontInfoStruct
- {
- const char *ps_name;
- const char *ps_name_alt;
- const char *substitute_ps_name;
- const char *x_name;
- const char *css_family;
- const char *css_generic_family;
- const char *css_style;
- const char *css_weight;
- const char *css_stretch;
- const char *css_panose;
- int pcl_typeface;
- int hpgl_spacing;
- int hpgl_posture;
- int hpgl_stroke_weight;
- int hpgl_symbol_set;
- int font_ascent;
- int font_descent;
- int font_cap_height;
- int font_x_height;
- short width[256];
- short offset[256];
- int typeface_index;
- int font_index;
- bool iso8859_1;
- };
- extern const struct plPCLFontInfoStruct _pl_g_pcl_font_info[];
- struct plStickFontInfoStruct
- {
- const char *ps_name;
- bool basic;
- int pcl_typeface;
- int hpgl_spacing;
- int hpgl_posture;
- int hpgl_stroke_weight;
- int hpgl_symbol_set;
- int font_ascent;
- int font_descent;
- int raster_width_lower;
- int raster_height_lower;
- int raster_width_upper;
- int raster_height_upper;
- int hpgl_charset_lower;
- int hpgl_charset_upper;
- int kerning_table_lower;
- int kerning_table_upper;
- char width[256];
- int offset;
- int typeface_index;
- int font_index;
- bool obliquing;
- bool iso8859_1;
- };
- extern const struct plStickFontInfoStruct _pl_g_stick_font_info[];
- struct plStickCharSpacingTableStruct
- {
- int rows, cols;
- const short *kerns;
- };
- extern const struct plStickCharSpacingTableStruct _pl_g_stick_spacing_tables[];
- struct plStickFontSpacingTableStruct
- {
- int spacing_table;
- char row[128], col[128];
- };
- extern const struct plStickFontSpacingTableStruct _pl_g_stick_kerning_tables[];
- #define PL_MAX_FONTS_PER_TYPEFACE 10
- struct plTypefaceInfoStruct
- {
- int numfonts;
- int fonts[PL_MAX_FONTS_PER_TYPEFACE];
- };
- extern const struct plTypefaceInfoStruct _pl_g_hershey_typeface_info[];
- extern const struct plTypefaceInfoStruct _pl_g_ps_typeface_info[];
- extern const struct plTypefaceInfoStruct _pl_g_pcl_typeface_info[];
- extern const struct plTypefaceInfoStruct _pl_g_stick_typeface_info[];
- typedef plPoint plVector;
- typedef plIntPoint plIntVector;
- #define PL_DEFAULT_FONT_SIZE_AS_FRACTION_OF_DISPLAY_SIZE (1.0/50.0)
- #define PL_DEFAULT_LINE_WIDTH_AS_FRACTION_OF_DISPLAY_SIZE (1.0/850.0)
- #define PL_NUM_HORIZ_JUST_TYPES 3
- #define PL_JUST_LEFT 0
- #define PL_JUST_CENTER 1
- #define PL_JUST_RIGHT 2
- #define PL_NUM_VERT_JUST_TYPES 5
- #define PL_JUST_TOP 0
- #define PL_JUST_HALF 1
- #define PL_JUST_BASE 2
- #define PL_JUST_BOTTOM 3
- #define PL_JUST_CAP 4
- #define PL_NUM_FILL_RULES 2
- #define PL_FILL_ODD_WINDING 0 /* i.e. `even-odd' fill */
- #define PL_FILL_NONZERO_WINDING 1
- #define PL_NUM_LINE_TYPES 7
- #define PL_L_SOLID 0
- #define PL_L_DOTTED 1
- #define PL_L_DOTDASHED 2
- #define PL_L_SHORTDASHED 3
- #define PL_L_LONGDASHED 4
- #define PL_L_DOTDOTDASHED 5
- #define PL_L_DOTDOTDOTDASHED 6
- #define PL_MAX_DASH_ARRAY_LEN 8
- typedef struct
- {
- const char *name;
- int type;
- int dash_array_len;
- int dash_array[PL_MAX_DASH_ARRAY_LEN];
- } plLineStyle;
- extern const plLineStyle _pl_g_line_styles[PL_NUM_LINE_TYPES];
- #define PL_MIN_DASH_UNIT_AS_FRACTION_OF_DISPLAY_SIZE (1.0/576.0)
- #define PL_NUM_JOIN_TYPES 4
- #define PL_JOIN_MITER 0
- #define PL_JOIN_ROUND 1
- #define PL_JOIN_BEVEL 2
- #define PL_JOIN_TRIANGULAR 3
- #define PL_NUM_CAP_TYPES 4
- #define PL_CAP_BUTT 0
- #define PL_CAP_ROUND 1
- #define PL_CAP_PROJECT 2
- #define PL_CAP_TRIANGULAR 3
- enum { DISP_MODEL_PHYSICAL, DISP_MODEL_VIRTUAL };
- enum { DISP_DEVICE_COORS_REAL, DISP_DEVICE_COORS_INTEGER_LIBXMI, DISP_DEVICE_COORS_INTEGER_NON_LIBXMI };
- #define XD(x,y) XD_INTERNAL((x),(y),_plotter->drawstate->transform.m)
- #define YD(x,y) YD_INTERNAL((x),(y),_plotter->drawstate->transform.m)
- #ifdef __GNUC__
- #define XD_INTERNAL(x,y,m) ({double _x = (x), _y = (y), *_m = (m); double _retval = _m[4] + _x * _m[0] + _y * _m[2]; _retval; })
- #define YD_INTERNAL(x,y,m) ({double _x = (x), _y = (y), *_m = (m); double _retval = _m[5] + _x * _m[1] + _y * _m[3]; _retval; })
- #else
- #define XD_INTERNAL(x,y,m) ((m)[4] + (x) * (m)[0] + (y) * (m)[2])
- #define YD_INTERNAL(x,y,m) ((m)[5] + (x) * (m)[1] + (y) * (m)[3])
- #endif
- #define XDV(x,y) XDV_INTERNAL((x),(y),_plotter->drawstate->transform.m)
- #define YDV(x,y) YDV_INTERNAL((x),(y),_plotter->drawstate->transform.m)
- #ifdef __GNUC__
- #define XDV_INTERNAL(x,y,m) ({double _x = (x), _y = (y), *_m = (m); double _retval = _m[0] * _x + _m[2] * _y; _retval; })
- #define YDV_INTERNAL(x,y,m) ({double _x = (x), _y = (y), *_m = (m); double _retval = _m[1] * _x + _m[3] * _y; _retval; })
- #else
- #define XDV_INTERNAL(x,y,m) ((m)[0] * (x) + (m)[2] * (y))
- #define YDV_INTERNAL(x,y,m) ((m)[1] * (x) + (m)[3] * (y))
- #endif
- #ifdef __GNUC__
- #define XUV(x,y) ({double _x = (x), _y = (y), *m = _plotter->drawstate->transform.m; double _retval = (m[3] * _x - m[2] * _y) / (m[0] * m[3] - m[1] * m[2]); _retval; })
- #define YUV(x,y) ({double _x = (x), _y = (y), *m = _plotter->drawstate->transform.m; double _retval = (- m[1] * _x + m[0] * _y) / (m[0] * m[3] - m[1] * m[2]); _retval; })
- #else
- #define XUV(x,y) ((_plotter->drawstate->transform.m[3] * (x) - _plotter->drawstate->transform.m[2] * (y)) / (_plotter->drawstate->transform.m[0] * _plotter->drawstate->transform.m[3] - _plotter->drawstate->transform.m[1] * _plotter->drawstate->transform.m[2]))
- #define YUV(x,y) ((- _plotter->drawstate->transform.m[1] * (x) + _plotter->drawstate->transform.m[0] * (y)) / (_plotter->drawstate->transform.m[0] * _plotter->drawstate->transform.m[3] - _plotter->drawstate->transform.m[1] * _plotter->drawstate->transform.m[2]))
- #endif
- #define PL_DEFAULT_MITER_LIMIT 10.4334305246
- #define PL_MAX_UNFILLED_PATH_LENGTH 500
- #define PL_MAX_UNFILLED_PATH_LENGTH_STRING "500"
- #define PL_PLOT_MAGIC "#PLOT"
- #define PL_ATTR_POSITION (1<<0)
- #define PL_ATTR_TRANSFORMATION_MATRIX (1<<1)
- #define PL_ATTR_PEN_COLOR (1<<2)
- #define PL_ATTR_FILL_COLOR (1<<3)
- #define PL_ATTR_BG_COLOR (1<<4)
- #define PL_ATTR_PEN_TYPE (1<<5)
- #define PL_ATTR_FILL_TYPE (1<<6)
- #define PL_ATTR_LINE_STYLE (1<<7) /* line mode and/or dash array */
- #define PL_ATTR_LINE_WIDTH (1<<8)
- #define PL_ATTR_FILL_RULE (1<<9)
- #define PL_ATTR_JOIN_STYLE (1<<10)
- #define PL_ATTR_CAP_STYLE (1<<11)
- #define PL_ATTR_MITER_LIMIT (1<<12)
- #define PL_ATTR_ORIENTATION (1<<13)
- #define PL_ATTR_FONT_NAME (1<<14)
- #define PL_ATTR_FONT_SIZE (1<<15)
- #define PL_ATTR_TEXT_ANGLE (1<<16)
- #define REGIS_DEVICE_X_MIN 0
- #define REGIS_DEVICE_X_MAX 767
- #define REGIS_DEVICE_Y_MIN 0
- #define REGIS_DEVICE_Y_MAX 479
- #define REGIS_CLIP_FUZZ 0.0000001
- #define REGIS_DEVICE_X_MIN_CLIP (REGIS_DEVICE_X_MIN - 0.5 + REGIS_CLIP_FUZZ)
- #define REGIS_DEVICE_X_MAX_CLIP (REGIS_DEVICE_X_MAX + 0.5 - REGIS_CLIP_FUZZ)
- #define REGIS_DEVICE_Y_MIN_CLIP (REGIS_DEVICE_Y_MIN - 0.5 + REGIS_CLIP_FUZZ)
- #define REGIS_DEVICE_Y_MAX_CLIP (REGIS_DEVICE_Y_MAX + 0.5 - REGIS_CLIP_FUZZ)
- #define TEK_DEVICE_X_MIN 0
- #define TEK_DEVICE_X_MAX 4095
- #define TEK_DEVICE_Y_MIN 0
- #define TEK_DEVICE_Y_MAX 3119
- #define TEK_CLIP_FUZZ 0.0000001
- #define TEK_DEVICE_X_MIN_CLIP (TEK_DEVICE_X_MIN - 0.5 + TEK_CLIP_FUZZ)
- #define TEK_DEVICE_X_MAX_CLIP (TEK_DEVICE_X_MAX + 0.5 - TEK_CLIP_FUZZ)
- #define TEK_DEVICE_Y_MIN_CLIP (TEK_DEVICE_Y_MIN - 0.5 + TEK_CLIP_FUZZ)
- #define TEK_DEVICE_Y_MAX_CLIP (TEK_DEVICE_Y_MAX + 0.5 - TEK_CLIP_FUZZ)
- #define TEK_MODE_ALPHA 0
- #define TEK_MODE_PLOT 1
- #define TEK_MODE_POINT 2
- #define TEK_MODE_INCREMENTAL 3 /* currently not used */
- #define TEK_DPY_GENERIC 0
- #define TEK_DPY_KERMIT 1
- #define TEK_DPY_XTERM 2
- #define TEK_NUM_ANSI_SYS_COLORS 16
- extern const plColor _pl_t_kermit_stdcolors[TEK_NUM_ANSI_SYS_COLORS];
- extern const char * const _pl_t_kermit_fgcolor_escapes[TEK_NUM_ANSI_SYS_COLORS];
- extern const char * const _pl_t_kermit_bgcolor_escapes[TEK_NUM_ANSI_SYS_COLORS];
- #define TEK_ANSI_SYS_BLACK 0
- #define TEK_ANSI_SYS_GRAY30 8
- #define TEK_ANSI_SYS_GRAY55 7
- #define TEK_ANSI_SYS_WHITE 15
- #define HPGL_SCALED_DEVICE_LEFT 0
- #define HPGL_SCALED_DEVICE_RIGHT 10000
- #define HPGL_SCALED_DEVICE_BOTTOM 0
- #define HPGL_SCALED_DEVICE_TOP 10000
- #define HPGL_UNITS_PER_INCH 1016 /* 1 HP-GL unit = 1/40 mm */
- #define HPGL_L_SOLID (-100) /* no numeric parameter at all */
- #define HPGL_L_DOTTED 1
- #define HPGL_L_DOTDASHED 5
- #define HPGL_L_SHORTDASHED 2
- #define HPGL_L_LONGDASHED 3
- #define HPGL_L_DOTDOTDASHED 6
- #define HPGL_L_DOTDOTDOTDASHED (-10) /* pseudo */
- #define HPGL_JOIN_MITER 1 /* miter length is clamped by miter limit */
- #define HPGL_JOIN_MITER_BEVEL 2 /* miter or bevel, based on miter limit */
- #define HPGL_JOIN_TRIANGULAR 3
- #define HPGL_JOIN_ROUND 4
- #define HPGL_JOIN_BEVEL 5
- #define HPGL_CAP_BUTT 1
- #define HPGL_CAP_PROJECT 2
- #define HPGL_CAP_TRIANGULAR 3
- #define HPGL_CAP_ROUND 4
- #define HPGL_PEN_SOLID 0
- #define HPGL_PEN_SHADED 1
- #define HPGL_PEN_PREDEFINED_CROSSHATCH 21 /* imported from PCL or RTL */
- #define HPGL_FILL_SOLID_BI 1
- #define HPGL_FILL_SOLID_UNI 2
- #define HPGL_FILL_PARALLEL_LINES 3
- #define HPGL_FILL_CROSSHATCHED_LINES 4
- #define HPGL_FILL_SHADED 10
- #define HPGL_FILL_PREDEFINED_CROSSHATCH 21 /* imported from PCL or RTL */
- #define HPGL_CHAR_FILL_SOLID_AND_MAYBE_EDGE 0
- #define HPGL_CHAR_EDGE 1 /* bitmap, stick chars are filled instead */
- #define HPGL_CHAR_FILL 2 /* i.e. with current fill type */
- #define HPGL_CHAR_FILL_AND_EDGE 3 /* i.e. with current fill type */
- #define HPGL_OBJECT_PATH 0
- #define HPGL_OBJECT_LABEL 1
- #define HPGL_NOMINAL_PEN_WIDTH 12
- #define HPGL_DEFAULT_PEN_STRING "1=black"
- #define HPGL2_DEFAULT_PEN_STRING "1=black:2=red:3=green:4=yellow:5=blue:6=magenta:7=cyan"
- #define PCL_ISO_8859_1 14
- #define PCL_ROMAN_8 277
- #define PCL_STICK_TYPEFACE 48
- #define HPGL_CHARSET_ASCII 0
- #define HPGL_CHARSET_ROMAN_EXTENSIONS 7
- #define HPGL2_NOMINAL_CHARS_PER_INCH 8.0
- #define HPGL2_NOMINAL_POINT_SIZE 18
- #define HPGL2_FIXED_SPACING 0
- #define HPGL2_PROPORTIONAL_SPACING 1
- #define FIG_UNITS_PER_INCH 1200
- #define FIG_UNITS_TO_POINTS(size) ((size)*72.0/FIG_UNITS_PER_INCH)
- #define POINTS_TO_FIG_UNITS(size) ((size)*((double)FIG_UNITS_PER_INCH)/72.0)
- #define FIG_UNITS_TO_FIG_DISPLAY_UNITS(width) ((width)*80.0/FIG_UNITS_PER_INCH)
- #define FIG_FONT_SCALING ((80.0)/(72.0))
- #define FIG_L_DEFAULT (-1)
- #define FIG_L_SOLID 0
- #define FIG_L_DASHED 1
- #define FIG_L_DOTTED 2
- #define FIG_L_DASHDOTTED 3
- #define FIG_L_DASHDOUBLEDOTTED 4
- #define FIG_L_DASHTRIPLEDOTTED 5
- extern const int _pl_f_fig_line_style[PL_NUM_LINE_TYPES];
- #define FIG_JOIN_MITER 0
- #define FIG_JOIN_ROUND 1
- #define FIG_JOIN_BEVEL 2
- #define FIG_CAP_BUTT 0
- #define FIG_CAP_ROUND 1
- #define FIG_CAP_PROJECT 2
- extern const int _pl_f_fig_join_style[PL_NUM_JOIN_TYPES];
- extern const int _pl_f_fig_cap_style[PL_NUM_CAP_TYPES];
- #define FIG_STD_COLOR_MIN 0 /* see f_color2.c for colors 0,...,31 */
- #define FIG_C_BLACK 0 /* i.e. #0 in table in f_color2.c */
- #define FIG_C_WHITE 7 /* i.e. #7 in table */
- #define FIG_NUM_STD_COLORS 32
- #define FIG_USER_COLOR_MIN 32
- extern const plColor _pl_f_fig_stdcolors[FIG_NUM_STD_COLORS];
- #define FIG_MAXDEPTH 999
- #define FIG_INITIAL_DEPTH 989
- #define CGM_PROFILE_WEB 0
- #define CGM_PROFILE_MODEL 1
- #define CGM_PROFILE_NONE 2
- #define CGM_ENCODING_BINARY 0 /* default */
- #define CGM_ENCODING_CHARACTER 1 /* not supported by libplot */
- #define CGM_ENCODING_CLEAR_TEXT 2
- #define CGM_BINARY_BYTES_PER_INTEGER 2
- #define CGM_BINARY_BYTES_PER_COLOR_COMPONENT 2
- #define CGM_STRING_PARTITION_SIZE 2000
- #define CGM_BINARY_BYTES_PER_STRING(len) \
- ((len) <= 254 ? (1 + (len)) : \
- (1 + (len) + 2 * (1 + ((len) - 1) / CGM_STRING_PARTITION_SIZE)))
- #define CGM_DELIMITER_ELEMENT 0
- #define CGM_METAFILE_DESCRIPTOR_ELEMENT 1
- #define CGM_PICTURE_DESCRIPTOR_ELEMENT 2
- #define CGM_CONTROL_ELEMENT 3
- #define CGM_GRAPHICAL_PRIMITIVE_ELEMENT 4
- #define CGM_ATTRIBUTE_ELEMENT 5
- #define CGM_ESCAPE_ELEMENT 6 /* not used by libplot */
- #define CGM_EXTERNAL_ELEMENT 7 /* not used by libplot */
- #define CGM_SEGMENT_ELEMENT 8 /* not used by libplot */
- #define CGM_SDR_DATATYPE_SDR 1
- #define CGM_SDR_DATATYPE_COLOR_INDEX 2
- #define CGM_SDR_DATATYPE_COLOR_DIRECT 3
- #define CGM_SDR_DATATYPE_ENUM 5
- #define CGM_SDR_DATATYPE_INTEGER 6
- #define CGM_SDR_DATATYPE_INDEX 11
- #define CGM_SDR_DATATYPE_REAL 12
- #define CGM_SDR_DATATYPE_STRING 13
- #define CGM_SDR_DATATYPE_STRING_FIXED 14
- #define CGM_SDR_DATATYPE_VDC 16
- #define CGM_SDR_DATATYPE_UNSIGNED_INTEGER_8BIT 18
- #define CGM_SDR_DATATYPE_COLOR_LIST 21
- #define CGM_FONT_PROP_INDEX 1
- #define CGM_FONT_PROP_FAMILY 4
- #define CGM_FONT_PROP_POSTURE 5
- #define CGM_FONT_PROP_WEIGHT 6
- #define CGM_FONT_PROP_WIDTH 7
- #define CGM_FONT_PROP_DESIGN_GROUP 13
- #define CGM_FONT_PROP_STRUCTURE 14
- #define CGM_L_SOLID 1
- #define CGM_L_DASHED 2
- #define CGM_L_DOTTED 3
- #define CGM_L_DOTDASHED 4
- #define CGM_L_DOTDOTDASHED 5
- #define CGM_INT_STYLE_HOLLOW 0
- #define CGM_INT_STYLE_SOLID 1
- #define CGM_INT_STYLE_PATTERN 2
- #define CGM_INT_STYLE_HATCH 3
- #define CGM_INT_STYLE_EMPTY 4
- #define CGM_INT_STYLE_GEOMETRIC_PATTERN 5
- #define CGM_INT_STYLE_INTERPOLATED 6
- #define CGM_JOIN_UNSPEC 1
- #define CGM_JOIN_MITER 2
- #define CGM_JOIN_ROUND 3
- #define CGM_JOIN_BEVEL 4
- #define CGM_CAP_UNSPEC 1
- #define CGM_CAP_BUTT 2
- #define CGM_CAP_ROUND 3
- #define CGM_CAP_PROJECTING 4
- #define CGM_CAP_TRIANGULAR 5
- #define CGM_DASH_CAP_UNSPEC 1
- #define CGM_DASH_CAP_BUTT 2
- #define CGM_DASH_CAP_MATCH 3
- #define CGM_M_DOT 1
- #define CGM_M_PLUS 2
- #define CGM_M_ASTERISK 3
- #define CGM_M_CIRCLE 4
- #define CGM_M_CROSS 5
- #define CGM_OBJECT_OPEN 0
- #define CGM_OBJECT_CLOSED 1
- #define CGM_OBJECT_MARKER 2
- #define CGM_OBJECT_TEXT 3
- #define CGM_OBJECT_OTHER 4
- #define CGM_ALIGN_NORMAL_HORIZONTAL 0
- #define CGM_ALIGN_LEFT 1
- #define CGM_ALIGN_CENTER 2
- #define CGM_ALIGN_RIGHT 3
- #define CGM_ALIGN_NORMAL_VERTICAL 0
- #define CGM_ALIGN_TOP 1
- #define CGM_ALIGN_CAP 2
- #define CGM_ALIGN_HALF 3
- #define CGM_ALIGN_BASE 4
- #define CGM_ALIGN_BOTTOM 5
- #define CGM_RESTRICTED_TEXT_TYPE_BASIC 1
- #define CGM_RESTRICTED_TEXT_TYPE_BOXED_CAP 2
- extern const int _pl_g_ps_font_to_cgm_font_id[PL_NUM_PS_FONTS];
- extern const int _pl_g_cgm_font_id_to_ps_font[PL_NUM_PS_FONTS];
- typedef struct
- {
- const char *family;
- const char *extra_style;
- const char *style;
- int posture;
- int weight;
- int proportionate_width;
- int design_group[3];
- int structure;
- } plCGMFontProperties;
- extern const plCGMFontProperties _pl_g_cgm_font_properties[PL_NUM_PS_FONTS];
- typedef struct plCGMCustomLineTypeStruct
- {
- int *dashes;
- int dash_array_len;
- struct plCGMCustomLineTypeStruct *next;
- } plCGMCustomLineType;
- #define CGM_MAX_CUSTOM_LINE_TYPES 16
- #define CGM_PL_MAX_DASH_ARRAY_LENGTH 8
- #define PS_MIN_RESOLUTION 0.05
- #define PS_SIZE_OF_POINT 0.5
- #define PS_LINE_JOIN_MITER 0
- #define PS_LINE_JOIN_ROUND 1
- #define PS_LINE_JOIN_BEVEL 2
- #define PS_LINE_CAP_BUTT 0
- #define PS_LINE_CAP_ROUND 1
- #define PS_LINE_CAP_PROJECT 2
- #define PS_NUM_IDRAW_STD_COLORS 12
- extern const plColor _pl_p_idraw_stdcolors[PS_NUM_IDRAW_STD_COLORS];
- extern const char * const _pl_p_idraw_stdcolornames[PS_NUM_IDRAW_STD_COLORS];
- #define PS_NUM_IDRAW_STD_SHADINGS 5
- extern const double _pl_p_idraw_stdshadings[PS_NUM_IDRAW_STD_SHADINGS];
- #define AI_VERSION_3 0
- #define AI_VERSION_5 1
- #define AI_SIZE_OF_POINT 0.5
- #define AI_LINE_JOIN_MITER 0
- #define AI_LINE_JOIN_ROUND 1
- #define AI_LINE_JOIN_BEVEL 2
- #define AI_LINE_CAP_BUTT 0
- #define AI_LINE_CAP_ROUND 1
- #define AI_LINE_CAP_PROJECT 2
- #define AI_FILL_NONZERO_WINDING 0
- #define AI_FILL_ODD_WINDING 1
- #ifndef X_DISPLAY_MISSING
- #define X_CMAP_ORIG 0
- #define X_CMAP_NEW 1
- #define X_CMAP_BAD 2 /* colormap full, can't allocate new colors */
- #define X_OOB_UNSIGNED(x) ((x) > (int)0xffff)
- #define X_OOB_INT(x) ((x) > (int)0x7fff || (x) < (int)(-0x8000))
- #define X_DBL_BUF_NONE 0
- #define X_DBL_BUF_BY_HAND 1
- #define X_DBL_BUF_MBX 2 /* X11 MBX extension */
- #define X_DBL_BUF_DBE 3 /* X11 DBE extension */
- #define X_GC_FOR_DRAWING 0
- #define X_GC_FOR_FILLING 1
- #define X_GC_FOR_ERASING 2
- #endif /* not X_DISPLAY_MISSING */
- extern const plDrawState _default_drawstate;
- #ifndef LIBPLOTTER
- extern Plotter **_plotters;
- extern int _plotters_len;
- #define XPlotter Plotter /* crock, needed by code in y_defplot.c */
- extern XPlotter **_xplotters;
- extern int _xplotters_len;
- #else
- #define _plotters Plotter::_plotters
- #define _plotters_len Plotter::_plotters_len
- #define _xplotters XPlotter::_xplotters
- #define _xplotters_len XPlotter::_xplotters_len
- #endif
- #ifndef LIBPLOTTER
- extern const Plotter _pl_g_default_plotter, _pl_b_default_plotter, _pl_m_default_plotter, _pl_r_default_plotter, _pl_t_default_plotter, _pl_h_default_plotter, _pl_q_default_plotter, _pl_f_default_plotter, _pl_c_default_plotter, _pl_p_default_plotter, _pl_a_default_plotter, _pl_s_default_plotter, _pl_i_default_plotter, _pl_n_default_plotter, _pl_z_default_plotter, _pl_x_default_plotter, _pl_y_default_plotter;
- extern const PlotterParams _default_plotter_params;
- #endif /* not LIBPLOTTER */
- struct plParamRecord
- {
- const char *parameter;
- void * default_value;
- bool is_string;
- };
- extern const struct plParamRecord _known_params[NUM_PLOTTER_PARAMETERS];
- #ifndef LIBPLOTTER
- extern PlotterParams *_old_api_global_plotter_params;
- #else
- #define _old_api_global_plotter_params Plotter::_old_api_global_plotter_params
- #endif
- extern void * _pl_xcalloc (size_t nmemb, size_t size);
- extern void * _pl_xmalloc (size_t size);
- extern void * _pl_xrealloc (void * p, size_t size);
- extern plPoint _truecenter (plPoint p0, plPoint p1, plPoint pc);
- extern plVector *_vscale (plVector *v, double newlen);
- extern double _angle_of_arc (plPoint p0, plPoint p1, plPoint pc);
- extern double _matrix_norm (const double m[6]);
- extern double _xatan2 (double y, double x);
- extern int _clip_line (double *x0_p, double *y0_p, double *x1_p, double *y1_p, double x_min_clip, double x_max_clip, double y_min_clip, double y_max_clip);
- extern int _codestring_len (const unsigned short *codestring);
- extern int _grayscale_approx (int red, int green, int blue);
- extern void _matrix_product (const double m[6], const double n[6], double product[6]);
- extern void _matrix_inverse (const double m[6], double inverse[6]);
- extern void _matrix_sing_vals (const double m[6], double *min_sing_val, double *max_sing_val);
- extern void _set_common_mi_attributes (plDrawState *drawstate, void * ptr);
- extern void * _get_default_plot_param (const char *parameter);
- extern void _write_byte (const plPlotterData *data, unsigned char c);
- extern void _write_bytes (const plPlotterData *data, int n, const unsigned char *c);
- extern void _write_string (const plPlotterData *data, const char *s);
- extern bool _compute_ndc_to_device_map (plPlotterData *data);
- extern void _set_page_type (plPlotterData *data);
- extern void * _get_plot_param (const plPlotterData *data, const char *parameter);
- extern plPath * _flatten_path (const plPath *path);
- extern plPath * _new_plPath (void);
- extern plPath ** _merge_paths (const plPath **paths, int num_paths);
- extern void _add_arc (plPath *path, plPoint pc, plPoint p1);
- extern void _add_arc_as_bezier3 (plPath *path, plPoint pc, plPoint p1);
- extern void _add_arc_as_lines (plPath *path, plPoint pc, plPoint p1);
- extern void _add_bezier2 (plPath *path, plPoint pc, plPoint p);
- extern void _add_bezier2_as_lines (plPath *path, plPoint pc, plPoint p);
- extern void _add_bezier3 (plPath *path, plPoint pc, plPoint pd, plPoint p);
- extern void _add_bezier3_as_lines (plPath *path, plPoint pc, plPoint pd, plPoint p);
- extern void _add_box (plPath *path, plPoint p0, plPoint p1, bool clockwise);
- extern void _add_box_as_lines (plPath *path, plPoint p0, plPoint p1, bool clockwise);
- extern void _add_circle (plPath *path, plPoint pc, double radius, bool clockwise);
- extern void _add_circle_as_bezier3s (plPath *path, plPoint pc, double radius, bool clockwise);
- extern void _add_circle_as_ellarcs (plPath *path, plPoint pc, double radius, bool clockwise);
- extern void _add_circle_as_lines (plPath *path, plPoint pc, double radius, bool clockwise);
- extern void _add_ellarc (plPath *path, plPoint pc, plPoint p1);
- extern void _add_ellarc_as_bezier3 (plPath *path, plPoint pc, plPoint p1);
- extern void _add_ellarc_as_lines (plPath *path, plPoint pc, plPoint p1);
- extern void _add_ellipse (plPath *path, plPoint pc, double rx, double ry, double angle, bool clockwise);
- extern void _add_ellipse_as_bezier3s (plPath *path, plPoint pc, double rx, double ry, double angle, bool clockwise);
- extern void _add_ellipse_as_ellarcs (plPath *path, plPoint pc, double rx, double ry, double angle, bool clockwise);
- extern void _add_ellipse_as_lines (plPath *path, plPoint pc, double rx, double ry, double angle, bool clockwise);
- extern void _add_line (plPath *path, plPoint p);
- extern void _add_moveto (plPath *path, plPoint p);
- extern void _delete_plPath (plPath *path);
- extern void _reset_plPath (plPath *path);
- extern plOutbuf * _new_outbuf (void);
- extern void _bbox_of_outbuf (plOutbuf *bufp, double *xmin, double *xmax, double *ymin, double *ymax);
- extern void _bbox_of_outbufs (plOutbuf *bufp, double *xmin, double *xmax, double *ymin, double *ymax);
- extern void _delete_outbuf (plOutbuf *outbuf);
- extern void _freeze_outbuf (plOutbuf *outbuf);
- extern void _reset_outbuf (plOutbuf *outbuf);
- extern void _update_bbox (plOutbuf *bufp, double x, double y);
- extern void _update_buffer (plOutbuf *outbuf);
- extern void _update_buffer_by_added_bytes (plOutbuf *outbuf, int additional);
- extern void _set_bezier2_bbox (plOutbuf *bufp, double x0, double y0, double x1, double y1, double x2, double y2, double device_line_width, double m[6]);
- extern void _set_bezier3_bbox (plOutbuf *bufp, double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3, double device_line_width, double m[6]);
- extern void _set_ellipse_bbox (plOutbuf *bufp, double x, double y, double rx, double ry, double costheta, double sintheta, double linewidth, double m[6]);
- extern void _set_line_end_bbox (plOutbuf *bufp, double x, double y, double xother, double yother, double linewidth, int capstyle, double m[6]);
- extern void _set_line_join_bbox (plOutbuf *bufp, double xleft, double yleft, double x, double y, double xright, double yright, double linewidth, int joinstyle, double miterlimit, double m[6]);
- extern void _cgm_emit_command_header (plOutbuf *outbuf, int cgm_encoding, int element_class, int id, int data_len, int *byte_count, const char *op_code);
- extern void _cgm_emit_color_component (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, unsigned int x, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_enum (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, int x, int data_len, int *data_byte_count, int *byte_count, const char *text_string);
- extern void _cgm_emit_index (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, int x, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_integer (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, int x, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_point (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, int x, int y, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_points (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, const int *x, const int *y, int npoints, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_real_fixed_point (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, double x, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_real_floating_point (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, double x, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_string (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, const char *s, int string_length, bool use_double_quotes, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_unsigned_integer (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, unsigned int x, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_unsigned_integer_8bit (plOutbuf *outbuf, bool no_partitioning, int cgm_encoding, unsigned int x, int data_len, int *data_byte_count, int *byte_count);
- extern void _cgm_emit_command_terminator (plOutbuf *outbuf, int cgm_encoding, int *byte_count);
- extern const char * _libplot_color_to_svg_color (plColor color_48, char charbuf[8]);
- extern bool _string_to_color (const char *name, plColor *color_p, plColorNameCache *color_name_cache);
- extern plColorNameCache * _create_color_name_cache (void);
- extern void _delete_color_name_cache (plColorNameCache *color_cache);
- #define miClearPaintedSet _pl_miClearPaintedSet
- #define miCopyCanvas _pl_miCopyCanvas
- #define miCopyGC _pl_miCopyGC
- #define miCopyPaintedSetToCanvas _pl_miCopyPaintedSetToCanvas
- #define miDeleteCanvas _pl_miDeleteCanvas
- #define miDeleteEllipseCache _pl_miDeleteEllipseCache
- #define miDeleteGC _pl_miDeleteGC
- #define miDeletePaintedSet _pl_miDeletePaintedSet
- #define miDrawArcs_r _pl_miDrawArcs_r
- #define miDrawLines _pl_miDrawLines
- #define miDrawPoints _pl_miDrawPoints
- #define miDrawRectangles _pl_miDrawRectangles
- #define miFillArcs _pl_miFillArcs
- #define miFillPolygon _pl_miFillPolygon
- #define miFillRectangles _pl_miFillRectangles
- #define miNewCanvas _pl_miNewCanvas
- #define miNewEllipseCache _pl_miNewEllipseCache
- #define miNewGC _pl_miNewGC
- #define miNewPaintedSet _pl_miNewPaintedSet
- #define miSetCanvasStipple _pl_miSetCanvasStipple
- #define miSetCanvasTexture _pl_miSetCanvasTexture
- #define miSetGCAttrib _pl_miSetGCAttrib
- #define miSetGCAttribs _pl_miSetGCAttribs
- #define miSetGCDashes _pl_miSetGCDashes
- #define miSetGCMiterLimit _pl_miSetGCMiterLimit
- #define miSetGCPixels _pl_miSetGCPixels
- #define miSetPixelMerge2 _pl_miSetPixelMerge2
- #define miSetPixelMerge3 _pl_miSetPixelMerge3
- #define mi_libxmi_ver _pl_mi_libxmi_ver
- #define mi_xmalloc _pl_mi_xmalloc
- #define mi_xcalloc _pl_mi_xcalloc
- #define mi_xrealloc _pl_mi_xrealloc
- #define miAddSpansToPaintedSet _pl_miAddSpansToPaintedSet
- #define miDrawArcs_r_internal _pl_miDrawArcs_r_internal
- #define miDrawArcs_internal _pl_miDrawArcs_internal
- #define miDrawLines_internal _pl_miDrawLines_internal
- #define miDrawRectangles_internal _pl_miDrawRectangles_internal
- #define miPolyArc_r _pl_miPolyArc_r
- #define miPolyArc _pl_miPolyArc
- #define miFillArcs_internal _pl_miFillArcs_internal
- #define miFillRectangles_internal _pl_miFillRectangles_internal
- #define miFillSppPoly _pl_miFillSppPoly
- #define miFillPolygon_internal _pl_miFillPolygon_internal
- #define miFillConvexPoly _pl_miFillConvexPoly
- #define miFillGeneralPoly _pl_miFillGeneralPoly
- #define miDrawPoints_internal _pl_miDrawPoints_internal
- #define miCreateETandAET _pl_miCreateETandAET
- #define miloadAET _pl_miloadAET
- #define micomputeWAET _pl_micomputeWAET
- #define miInsertionSort _pl_miInsertionSort
- #define miFreeStorage _pl_miFreeStorage
- #define miQuickSortSpansY _pl_miQuickSortSpansY
- #define miUniquifyPaintedSet _pl_miUniquifyPaintedSet
- #define miWideDash _pl_miWideDash
- #define miStepDash _pl_miStepDash
- #define miWideLine _pl_miWideLine
- #define miZeroPolyArc_r _pl_miZeroPolyArc_r
- #define miZeroPolyArc _pl_miZeroPolyArc
- #define miZeroLine _pl_miZeroLine
- #define miZeroDash _pl_miZeroDash
- #define NO_NONREENTRANT_POLYARC_SUPPORT
- #ifdef LIBPLOTTER
- #define pl_libplot_warning_handler pl_libplotter_warning_handler
- #define pl_libplot_error_handler pl_libplotter_error_handler
- #endif
- #ifndef LIBPLOTTER
- extern int _maybe_output_image (Plotter *_plotter);
- extern void _maybe_switch_to_hpgl (Plotter *_plotter);
- extern void _maybe_switch_from_hpgl (Plotter *_plotter);
- #ifndef X_DISPLAY_MISSING
- extern void _maybe_get_new_colormap (Plotter *_plotter);
- extern void _maybe_handle_x_events (Plotter *_plotter);
- #endif /* not X_DISPLAY_MISSING */
- #endif /* not LIBPLOTTER */
- #ifndef LIBPLOTTER
- #ifdef ___BEGIN_DECLS
- #undef ___BEGIN_DECLS
- #endif
- #ifdef ___END_DECLS
- #undef ___END_DECLS
- #endif
- #ifdef __cplusplus
- # define ___BEGIN_DECLS extern "C" {
- # define ___END_DECLS }
- #else
- # define ___BEGIN_DECLS /* empty */
- # define ___END_DECLS /* empty */
- #endif
- #endif /* not LIBPLOTTER */
- #ifndef LIBPLOTTER
- #define _API_alabel pl_alabel_r
- #define _API_arc pl_arc_r
- #define _API_arcrel pl_arcrel_r
- #define _API_bezier2 pl_bezier2_r
- #define _API_bezier2rel pl_bezier2rel_r
- #define _API_bezier3 pl_bezier3_r
- #define _API_bezier3rel pl_bezier3rel_r
- #define _API_bgcolor pl_bgcolor_r
- #define _API_bgcolorname pl_bgcolorname_r
- #define _API_box pl_box_r
- #define _API_boxrel pl_boxrel_r
- #define _API_capmod pl_capmod_r
- #define _API_circle pl_circle_r
- #define _API_circlerel pl_circlerel_r
- #define _API_closepath pl_closepath_r
- #define _API_closepl pl_closepl_r
- #define _API_color pl_color_r
- #define _API_colorname pl_colorname_r
- #define _API_cont pl_cont_r
- #define _API_contrel pl_contrel_r
- #define _API_ellarc pl_ellarc_r
- #define _API_ellarcrel pl_ellarcrel_r
- #define _API_ellipse pl_ellipse_r
- #define _API_ellipserel pl_ellipserel_r
- #define _API_endpath pl_endpath_r
- #define _API_endsubpath pl_endsubpath_r
- #define _API_erase pl_erase_r
- #define _API_farc pl_farc_r
- #define _API_farcrel pl_farcrel_r
- #define _API_fbezier2 pl_fbezier2_r
- #define _API_fbezier2rel pl_fbezier2rel_r
- #define _API_fbezier3 pl_fbezier3_r
- #define _API_fbezier3rel pl_fbezier3rel_r
- #define _API_fbox pl_fbox_r
- #define _API_fboxrel pl_fboxrel_r
- #define _API_fcircle pl_fcircle_r
- #define _API_fcirclerel pl_fcirclerel_r
- #define _API_fconcat pl_fconcat_r
- #define _API_fcont pl_fcont_r
- #define _API_fcontrel pl_fcontrel_r
- #define _API_fellarc pl_fellarc_r
- #define _API_fellarcrel pl_fellarcrel_r
- #define _API_fellipse pl_fellipse_r
- #define _API_fellipserel pl_fellipserel_r
- #define _API_ffontname pl_ffontname_r
- #define _API_ffontsize pl_ffontsize_r
- #define _API_fillcolor pl_fillcolor_r
- #define _API_fillcolorname pl_fillcolorname_r
- #define _API_fillmod pl_fillmod_r
- #define _API_filltype pl_filltype_r
- #define _API_flabelwidth pl_flabelwidth_r
- #define _API_fline pl_fline_r
- #define _API_flinedash pl_flinedash_r
- #define _API_flinerel pl_flinerel_r
- #define _API_flinewidth pl_flinewidth_r
- #define _API_flushpl pl_flushpl_r
- #define _API_fmarker pl_fmarker_r
- #define _API_fmarkerrel pl_fmarkerrel_r
- #define _API_fmiterlimit pl_fmiterlimit_r
- #define _API_fmove pl_fmove_r
- #define _API_fmoverel pl_fmoverel_r
- #define _API_fontname pl_fontname_r
- #define _API_fontsize pl_fontsize_r
- #define _API_fpoint pl_fpoint_r
- #define _API_fpointrel pl_fpointrel_r
- #define _API_frotate pl_frotate_r
- #define _API_fscale pl_fscale_r
- #define _API_fsetmatrix pl_fsetmatrix_r
- #define _API_fspace pl_fspace_r
- #define _API_fspace2 pl_fspace2_r
- #define _API_ftextangle pl_ftextangle_r
- #define _API_ftranslate pl_ftranslate_r
- #define _API_havecap pl_havecap_r
- #define _API_joinmod pl_joinmod_r
- #define _API_label pl_label_r
- #define _API_labelwidth pl_labelwidth_r
- #define _API_line pl_line_r
- #define _API_linedash pl_linedash_r
- #define _API_linemod pl_linemod_r
- #define _API_linerel pl_linerel_r
- #define _API_linewidth pl_linewidth_r
- #define _API_marker pl_marker_r
- #define _API_markerrel pl_markerrel_r
- #define _API_move pl_move_r
- #define _API_moverel pl_moverel_r
- #define _API_openpl pl_openpl_r
- #define _API_orientation pl_orientation_r
- #define _API_outfile pl_outfile_r /* OBSOLESCENT */
- #define _API_pencolor pl_pencolor_r
- #define _API_pencolorname pl_pencolorname_r
- #define _API_pentype pl_pentype_r
- #define _API_point pl_point_r
- #define _API_pointrel pl_pointrel_r
- #define _API_restorestate pl_restorestate_r
- #define _API_savestate pl_savestate_r
- #define _API_space pl_space_r
- #define _API_space2 pl_space2_r
- #define _API_textangle pl_textangle_r
- ___BEGIN_DECLS
- extern FILE* _API_outfile (Plotter *_plotter, FILE* newstream);
- extern double _API_ffontname (Plotter *_plotter, const char *s);
- extern double _API_ffontsize (Plotter *_plotter, double size);
- extern double _API_flabelwidth (Plotter *_plotter, const char *s);
- extern double _API_ftextangle (Plotter *_plotter, double angle);
- extern int _API_alabel (Plotter *_plotter, int x_justify, int y_justify, const char *s);
- extern int _API_arc (Plotter *_plotter, int xc, int yc, int x0, int y0, int x1, int y1);
- extern int _API_arcrel (Plotter *_plotter, int dxc, int dyc, int dx0, int dy0, int dx1, int dy1);
- extern int _API_bezier2 (Plotter *_plotter, int x0, int y0, int x1, int y1, int x2, int y2);
- extern int _API_bezier2rel (Plotter *_plotter, int dx0, int dy0, int dx1, int dy1, int dx2, int dy2);
- extern int _API_bezier3 (Plotter *_plotter, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3);
- extern int _API_bezier3rel (Plotter *_plotter, int dx0, int dy0, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3);
- extern int _API_bgcolor (Plotter *_plotter, int red, int green, int blue);
- extern int _API_bgcolorname (Plotter *_plotter, const char *name);
- extern int _API_box (Plotter *_plotter, int x0, int y0, int x1, int y1);
- extern int _API_boxrel (Plotter *_plotter, int dx0, int dy0, int dx1, int dy1);
- extern int _API_capmod (Plotter *_plotter, const char *s);
- extern int _API_circle (Plotter *_plotter, int x, int y, int r);
- extern int _API_circlerel (Plotter *_plotter, int dx, int dy, int r);
- extern int _API_closepath (Plotter *_plotter);
- extern int _API_closepl (Plotter *_plotter);
- extern int _API_color (Plotter *_plotter, int red, int green, int blue);
- extern int _API_colorname (Plotter *_plotter, const char *name);
- extern int _API_cont (Plotter *_plotter, int x, int y);
- extern int _API_contrel (Plotter *_plotter, int x, int y);
- extern int _API_ellarc (Plotter *_plotter, int xc, int yc, int x0, int y0, int x1, int y1);
- extern int _API_ellarcrel (Plotter *_plotter, int dxc, int dyc, int dx0, int dy0, int dx1, int dy1);
- extern int _API_ellipse (Plotter *_plotter, int x, int y, int rx, int ry, int angle);
- extern int _API_ellipserel (Plotter *_plotter, int dx, int dy, int rx, int ry, int angle);
- extern int _API_endpath (Plotter *_plotter);
- extern int _API_endsubpath (Plotter *_plotter);
- extern int _API_erase (Plotter *_plotter);
- extern int _API_farc (Plotter *_plotter, double xc, double yc, double x0, double y0, double x1, double y1);
- extern int _API_farcrel (Plotter *_plotter, double dxc, double dyc, double dx0, double dy0, double dx1, double dy1);
- extern int _API_fbezier2 (Plotter *_plotter, double x0, double y0, double x1, double y1, double x2, double y2);
- extern int _API_fbezier2rel (Plotter *_plotter, double dx0, double dy0, double dx1, double dy1, double dx2, double dy2);
- extern int _API_fbezier3 (Plotter *_plotter, double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3);
- extern int _API_fbezier3rel (Plotter *_plotter, double dx0, double dy0, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3);
- extern int _API_fbox (Plotter *_plotter, double x0, double y0, double x1, double y1);
- extern int _API_fboxrel (Plotter *_plotter, double dx0, double dy0, double dx1, double dy1);
- extern int _API_fcircle (Plotter *_plotter, double x, double y, double r);
- extern int _API_fcirclerel (Plotter *_plotter, double dx, double dy, double r);
- extern int _API_fconcat (Plotter *_plotter, double m0, double m1, double m2, double m3, double m4, double m5);
- extern int _API_fcont (Plotter *_plotter, double x, double y);
- extern int _API_fcontrel (Plotter *_plotter, double x, double y);
- extern int _API_fellarc (Plotter *_plotter, double xc, double yc, double x0, double y0, double x1, double y1);
- extern int _API_fellarcrel (Plotter *_plotter, double dxc, double dyc, double dx0, double dy0, double dx1, double dy1);
- extern int _API_fellipse (Plotter *_plotter, double x, double y, double rx, double ry, double angle);
- extern int _API_fellipserel (Plotter *_plotter, double dx, double dy, double rx, double ry, double angle);
- extern int _API_fillcolor (Plotter *_plotter, int red, int green, int blue);
- extern int _API_fillcolorname (Plotter *_plotter, const char *name);
- extern int _API_fillmod (Plotter *_plotter, const char *s);
- extern int _API_filltype (Plotter *_plotter, int level);
- extern int _API_fline (Plotter *_plotter, double x0, double y0, double x1, double y1);
- extern int _API_flinedash (Plotter *_plotter, int n, const double *dashes, double offset);
- extern int _API_flinerel (Plotter *_plotter, double dx0, double dy0, double dx1, double dy1);
- extern int _API_flinewidth (Plotter *_plotter, double size);
- extern int _API_flushpl (Plotter *_plotter);
- extern int _API_fmarker (Plotter *_plotter, double x, double y, int type, double size);
- extern int _API_fmarkerrel (Plotter *_plotter, double dx, double dy, int type, double size);
- extern int _API_fmiterlimit (Plotter *_plotter, double limit);
- extern int _API_fmove (Plotter *_plotter, double x, double y);
- extern int _API_fmoverel (Plotter *_plotter, double x, double y);
- extern int _API_fontname (Plotter *_plotter, const char *s);
- extern int _API_fontsize (Plotter *_plotter, int size);
- extern int _API_fpoint (Plotter *_plotter, double x, double y);
- extern int _API_fpointrel (Plotter *_plotter, double dx, double dy);
- extern int _API_frotate (Plotter *_plotter, double theta);
- extern int _API_fscale (Plotter *_plotter, double x, double y);
- extern int _API_fsetmatrix (Plotter *_plotter, double m0, double m1, double m2, double m3, double m4, double m5);
- extern int _API_fspace (Plotter *_plotter, double x0, double y0, double x1, double y1);
- extern int _API_fspace2 (Plotter *_plotter, double x0, double y0, double x1, double y1, double x2, double y2);
- extern int _API_ftranslate (Plotter *_plotter, double x, double y);
- extern int _API_havecap (Plotter *_plotter, const char *s);
- extern int _API_joinmod (Plotter *_plotter, const char *s);
- extern int _API_label (Plotter *_plotter, const char *s);
- extern int _API_labelwidth (Plotter *_plotter, const char *s);
- extern int _API_line (Plotter *_plotter, int x0, int y0, int x1, int y1);
- extern int _API_linedash (Plotter *_plotter, int n, const int *dashes, int offset);
- extern int _API_linemod (Plotter *_plotter, const char *s);
- extern int _API_linerel (Plotter *_plotter, int dx0, int dy0, int dx1, int dy1);
- extern int _API_linewidth (Plotter *_plotter, int size);
- extern int _API_marker (Plotter *_plotter, int x, int y, int type, int size);
- extern int _API_markerrel (Plotter *_plotter, int dx, int dy, int type, int size);
- extern int _API_move (Plotter *_plotter, int x, int y);
- extern int _API_moverel (Plotter *_plotter, int x, int y);
- extern int _API_openpl (Plotter *_plotter);
- extern int _API_orientation (Plotter *_plotter, int direction);
- extern int _API_pencolor (Plotter *_plotter, int red, int green, int blue);
- extern int _API_pencolorname (Plotter *_plotter, const char *name);
- extern int _API_pentype (Plotter *_plotter, int level);
- extern int _API_point (Plotter *_plotter, int x, int y);
- extern int _API_pointrel (Plotter *_plotter, int dx, int dy);
- extern int _API_restorestate (Plotter *_plotter);
- extern int _API_savestate (Plotter *_plotter);
- extern int _API_space (Plotter *_plotter, int x0, int y0, int x1, int y1);
- extern int _API_space2 (Plotter *_plotter, int x0, int y0, int x1, int y1, int x2, int y2);
- extern int _API_textangle (Plotter *_plotter, int angle);
- extern bool _pl_g_begin_page (Plotter *_plotter);
- extern bool _pl_g_end_page (Plotter *_plotter);
- extern bool _pl_g_erase_page (Plotter *_plotter);
- extern bool _pl_g_flush_output (Plotter *_plotter);
- extern bool _pl_g_paint_marker (Plotter *_plotter, int type, double size);
- extern bool _pl_g_paint_paths (Plotter *_plotter);
- extern bool _pl_g_path_is_flushable (Plotter *_plotter);
- extern bool _pl_g_retrieve_font (Plotter *_plotter);
- extern double _pl_g_get_text_width (Plotter *_plotter, const unsigned char *s);
- extern double _pl_g_paint_text_string (Plotter *_plotter, const unsigned char *s, int x_justify, int y_justify);
- extern void _pl_g_error (Plotter *_plotter, const char *msg);
- extern void _pl_g_initialize (Plotter *_plotter);
- extern void _pl_g_maybe_prepaint_segments (Plotter *_plotter, int prev_num_segments);
- extern void _pl_g_paint_path (Plotter *_plotter);
- extern void _pl_g_paint_point (Plotter *_plotter);
- extern void _pl_g_paint_text_string_with_escapes (Plotter *_plotter, const unsigned char *s, int x_justify, int y_justify);
- extern void _pl_g_pop_state (Plotter *_plotter);
- extern void _pl_g_push_state (Plotter *_plotter);
- extern void _pl_g_terminate (Plotter *_plotter);
- extern void _pl_g_warning (Plotter *_plotter, const char *msg);
- extern void * _pl_get_hershey_font_info (Plotter *_plotter);
- extern void * _pl_get_ps_font_info (Plotter *_plotter);
- extern void * _pl_get_pcl_font_info (Plotter *_plotter);
- extern void * _pl_get_stick_font_info (Plotter *_plotter);
- extern double _pl_g_alabel_hershey (Plotter *_plotter, const unsigned char *s, int x_justify, int y_justify);
- extern double _pl_g_flabelwidth_hershey (Plotter *_plotter, const unsigned char *s);
- extern void _pl_g_draw_hershey_glyph (Plotter *_plotter, int num, double charsize, int type, bool oblique);
- extern void _pl_g_draw_hershey_penup_stroke (Plotter *_plotter, double dx, double dy, double charsize, bool oblique);
- extern void _pl_g_draw_hershey_string (Plotter *_plotter, const unsigned short *string);
- extern void _pl_g_draw_hershey_stroke (Plotter *_plotter, bool pendown, double deltax, double deltay);
- extern double _pl_g_render_non_hershey_string (Plotter *_plotter, const char *s, bool do_render, int x_justify, int y_justify);
- extern double _pl_g_render_simple_string (Plotter *_plotter, const unsigned char *s, bool do_render, int h_just, int v_just);
- extern unsigned short * _pl_g_controlify (Plotter *_plotter, const unsigned char *);
- extern void _pl_g_copy_params_to_plotter (Plotter *_plotter, const PlotterParams *params);
- extern void _pl_g_create_first_drawing_state (Plotter *_plotter);
- extern void _pl_g_delete_first_drawing_state (Plotter *_plotter);
- extern void _pl_g_free_params_in_plotter (Plotter *_plotter);
- extern void _pl_g_maybe_replace_arc (Plotter *_plotter);
- extern void _pl_g_set_font (Plotter *_plotter);
- extern void _pl_g_flush_plotter_outstreams (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define parampl Plotter::parampl
- #define _API_alabel Plotter::alabel
- #define _API_arc Plotter::arc
- #define _API_arcrel Plotter::arcrel
- #define _API_bezier2 Plotter::bezier2
- #define _API_bezier2rel Plotter::bezier2rel
- #define _API_bezier3 Plotter::bezier3
- #define _API_bezier3rel Plotter::bezier3rel
- #define _API_bgcolor Plotter::bgcolor
- #define _API_bgcolorname Plotter::bgcolorname
- #define _API_box Plotter::box
- #define _API_boxrel Plotter::boxrel
- #define _API_capmod Plotter::capmod
- #define _API_circle Plotter::circle
- #define _API_circlerel Plotter::circlerel
- #define _API_closepath Plotter::closepath
- #define _API_closepl Plotter::closepl
- #define _API_color Plotter::color
- #define _API_colorname Plotter::colorname
- #define _API_cont Plotter::cont
- #define _API_contrel Plotter::contrel
- #define _API_ellarc Plotter::ellarc
- #define _API_ellarcrel Plotter::ellarcrel
- #define _API_ellipse Plotter::ellipse
- #define _API_ellipserel Plotter::ellipserel
- #define _API_endpath Plotter::endpath
- #define _API_endsubpath Plotter::endsubpath
- #define _API_erase Plotter::erase
- #define _API_farc Plotter::farc
- #define _API_farcrel Plotter::farcrel
- #define _API_fbezier2 Plotter::fbezier2
- #define _API_fbezier2rel Plotter::fbezier2rel
- #define _API_fbezier3 Plotter::fbezier3
- #define _API_fbezier3rel Plotter::fbezier3rel
- #define _API_fbox Plotter::fbox
- #define _API_fboxrel Plotter::fboxrel
- #define _API_fcircle Plotter::fcircle
- #define _API_fcirclerel Plotter::fcirclerel
- #define _API_fconcat Plotter::fconcat
- #define _API_fcont Plotter::fcont
- #define _API_fcontrel Plotter::fcontrel
- #define _API_fellarc Plotter::fellarc
- #define _API_fellarcrel Plotter::fellarcrel
- #define _API_fellipse Plotter::fellipse
- #define _API_fellipserel Plotter::fellipserel
- #define _API_ffontname Plotter::ffontname
- #define _API_ffontsize Plotter::ffontsize
- #define _API_fillcolor Plotter::fillcolor
- #define _API_fillcolorname Plotter::fillcolorname
- #define _API_fillmod Plotter::fillmod
- #define _API_filltype Plotter::filltype
- #define _API_flabelwidth Plotter::flabelwidth
- #define _API_fline Plotter::fline
- #define _API_flinedash Plotter::flinedash
- #define _API_flinerel Plotter::flinerel
- #define _API_flinewidth Plotter::flinewidth
- #define _API_flushpl Plotter::flushpl
- #define _API_fmarker Plotter::fmarker
- #define _API_fmarkerrel Plotter::fmarkerrel
- #define _API_fmiterlimit Plotter::fmiterlimit
- #define _API_fmove Plotter::fmove
- #define _API_fmoverel Plotter::fmoverel
- #define _API_fontname Plotter::fontname
- #define _API_fontsize Plotter::fontsize
- #define _API_fpoint Plotter::fpoint
- #define _API_fpointrel Plotter::fpointrel
- #define _API_frotate Plotter::frotate
- #define _API_fscale Plotter::fscale
- #define _API_fsetmatrix Plotter::fsetmatrix
- #define _API_fspace Plotter::fspace
- #define _API_fspace2 Plotter::fspace2
- #define _API_ftextangle Plotter::ftextangle
- #define _API_ftranslate Plotter::ftranslate
- #define _API_havecap Plotter::havecap
- #define _API_joinmod Plotter::joinmod
- #define _API_label Plotter::label
- #define _API_labelwidth Plotter::labelwidth
- #define _API_line Plotter::line
- #define _API_linedash Plotter::linedash
- #define _API_linemod Plotter::linemod
- #define _API_linerel Plotter::linerel
- #define _API_linewidth Plotter::linewidth
- #define _API_marker Plotter::marker
- #define _API_markerrel Plotter::markerrel
- #define _API_move Plotter::move
- #define _API_moverel Plotter::moverel
- #define _API_openpl Plotter::openpl
- #define _API_orientation Plotter::orientation
- #define _API_outfile Plotter::outfile /* OBSOLESCENT */
- #define _API_pencolor Plotter::pencolor
- #define _API_pencolorname Plotter::pencolorname
- #define _API_pentype Plotter::pentype
- #define _API_point Plotter::point
- #define _API_pointrel Plotter::pointrel
- #define _API_restorestate Plotter::restorestate
- #define _API_savestate Plotter::savestate
- #define _API_space Plotter::space
- #define _API_space2 Plotter::space2
- #define _API_textangle Plotter::textangle
- #define _pl_g_begin_page Plotter::begin_page
- #define _pl_g_end_page Plotter::end_page
- #define _pl_g_erase_page Plotter::erase_page
- #define _pl_g_error Plotter::error
- #define _pl_g_paint_text_string_with_escapes Plotter::paint_text_string_with_escapes
- #define _pl_g_paint_text_string Plotter::paint_text_string
- #define _pl_g_get_text_width Plotter::get_text_width
- #define _pl_g_flush_output Plotter::flush_output
- #define _pl_g_initialize Plotter::initialize
- #define _pl_g_path_is_flushable Plotter::path_is_flushable
- #define _pl_g_maybe_prepaint_segments Plotter::maybe_prepaint_segments
- #define _pl_g_paint_marker Plotter::paint_marker
- #define _pl_g_paint_path Plotter::paint_path
- #define _pl_g_paint_paths Plotter::paint_paths
- #define _pl_g_paint_point Plotter::paint_point
- #define _pl_g_pop_state Plotter::pop_state
- #define _pl_g_push_state Plotter::push_state
- #define _pl_g_retrieve_font Plotter::retrieve_font
- #define _pl_g_terminate Plotter::terminate
- #define _pl_g_warning Plotter::warning
- #define _pl_get_hershey_font_info Plotter::_get_hershey_font_info
- #define _pl_get_ps_font_info Plotter::_get_ps_font_info
- #define _pl_get_pcl_font_info Plotter::_get_pcl_font_info
- #define _pl_get_stick_font_info Plotter::_get_stick_font_info
- #define _pl_g_alabel_hershey Plotter::_g_alabel_hershey
- #define _pl_g_draw_hershey_glyph Plotter::_g_draw_hershey_glyph
- #define _pl_g_draw_hershey_penup_stroke Plotter::_g_draw_hershey_penup_stroke
- #define _pl_g_draw_hershey_string Plotter::_g_draw_hershey_string
- #define _pl_g_draw_hershey_stroke Plotter::_g_draw_hershey_stroke
- #define _pl_g_flabelwidth_hershey Plotter::_g_flabelwidth_hershey
- #define _pl_g_controlify Plotter::_g_controlify
- #define _pl_g_copy_params_to_plotter Plotter::_g_copy_params_to_plotter
- #define _pl_g_create_first_drawing_state Plotter::_g_create_first_drawing_state
- #define _pl_g_delete_first_drawing_state Plotter::_g_delete_first_drawing_state
- #define _pl_g_free_params_in_plotter Plotter::_g_free_params_in_plotter
- #define _pl_g_maybe_replace_arc Plotter::_g_maybe_replace_arc
- #define _pl_g_render_non_hershey_string Plotter::_g_render_non_hershey_string
- #define _pl_g_render_simple_string Plotter::_g_render_simple_string
- #define _pl_g_set_font Plotter::_g_set_font
- #define _pl_g_flush_plotter_outstreams Plotter::_flush_plotter_outstreams
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_m_begin_page (Plotter *_plotter);
- extern bool _pl_m_end_page (Plotter *_plotter);
- extern bool _pl_m_erase_page (Plotter *_plotter);
- extern bool _pl_m_paint_marker (Plotter *_plotter, int type, double size);
- extern bool _pl_m_paint_paths (Plotter *_plotter);
- extern bool _pl_m_path_is_flushable (Plotter *_plotter);
- extern void _pl_m_initialize (Plotter *_plotter);
- extern void _pl_m_maybe_prepaint_segments (Plotter *_plotter, int prev_num_segments);
- extern void _pl_m_paint_path (Plotter *_plotter);
- extern void _pl_m_paint_point (Plotter *_plotter);
- extern void _pl_m_paint_text_string_with_escapes (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern void _pl_m_terminate (Plotter *_plotter);
- extern void _pl_m_emit_integer (Plotter *_plotter, int x);
- extern void _pl_m_emit_float (Plotter *_plotter, double x);
- extern void _pl_m_emit_op_code (Plotter *_plotter, int c);
- extern void _pl_m_emit_string (Plotter *_plotter, const char *s);
- extern void _pl_m_emit_terminator (Plotter *_plotter);
- extern void _pl_m_paint_path_internal (Plotter *_plotter, const plPath *path);
- extern void _pl_m_set_attributes (Plotter *_plotter, unsigned int mask);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_m_begin_page MetaPlotter::begin_page
- #define _pl_m_end_page MetaPlotter::end_page
- #define _pl_m_erase_page MetaPlotter::erase_page
- #define _pl_m_paint_text_string_with_escapes MetaPlotter::paint_text_string_with_escapes
- #define _pl_m_initialize MetaPlotter::initialize
- #define _pl_m_path_is_flushable MetaPlotter::path_is_flushable
- #define _pl_m_maybe_prepaint_segments MetaPlotter::maybe_prepaint_segments
- #define _pl_m_paint_marker MetaPlotter::paint_marker
- #define _pl_m_paint_path MetaPlotter::paint_path
- #define _pl_m_paint_paths MetaPlotter::paint_paths
- #define _pl_m_paint_point MetaPlotter::paint_point
- #define _pl_m_terminate MetaPlotter::terminate
- #define _pl_m_emit_integer MetaPlotter::_m_emit_integer
- #define _pl_m_emit_float MetaPlotter::_m_emit_float
- #define _pl_m_emit_op_code MetaPlotter::_m_emit_op_code
- #define _pl_m_emit_string MetaPlotter::_m_emit_string
- #define _pl_m_emit_terminator MetaPlotter::_m_emit_terminator
- #define _pl_m_paint_path_internal MetaPlotter::_m_paint_path_internal
- #define _pl_m_set_attributes MetaPlotter::_m_set_attributes
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_b_begin_page (Plotter *_plotter);
- extern bool _pl_b_end_page (Plotter *_plotter);
- extern bool _pl_b_erase_page (Plotter *_plotter);
- extern bool _pl_b_paint_paths (Plotter *_plotter);
- extern void _pl_b_initialize (Plotter *_plotter);
- extern void _pl_b_paint_path (Plotter *_plotter);
- extern void _pl_b_paint_point (Plotter *_plotter);
- extern void _pl_b_terminate (Plotter *_plotter);
- extern int _pl_b_maybe_output_image (Plotter *_plotter);
- extern void _pl_b_delete_image (Plotter *_plotter);
- extern void _pl_b_draw_elliptic_arc (Plotter *_plotter, plPoint p0, plPoint p1, plPoint pc);
- extern void _pl_b_draw_elliptic_arc_2 (Plotter *_plotter, plPoint p0, plPoint p1, plPoint pc);
- extern void _pl_b_draw_elliptic_arc_internal (Plotter *_plotter, int xorigin, int yorigin, unsigned int squaresize_x, unsigned int squaresize_y, int startangle, int anglerange);
- extern void _pl_b_new_image (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_b_begin_page BitmapPlotter::begin_page
- #define _pl_b_end_page BitmapPlotter::end_page
- #define _pl_b_erase_page BitmapPlotter::erase_page
- #define _pl_b_initialize BitmapPlotter::initialize
- #define _pl_b_paint_path BitmapPlotter::paint_path
- #define _pl_b_paint_paths BitmapPlotter::paint_paths
- #define _pl_b_paint_point BitmapPlotter::paint_point
- #define _pl_b_terminate BitmapPlotter::terminate
- #define _pl_b_maybe_output_image BitmapPlotter::_maybe_output_image
- #define _pl_b_delete_image BitmapPlotter::_b_delete_image
- #define _pl_b_draw_elliptic_arc BitmapPlotter::_b_draw_elliptic_arc
- #define _pl_b_draw_elliptic_arc_2 BitmapPlotter::_b_draw_elliptic_arc_2
- #define _pl_b_draw_elliptic_arc_internal BitmapPlotter::_b_draw_elliptic_arc_internal
- #define _pl_b_new_image BitmapPlotter::_b_new_image
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_t_begin_page (Plotter *_plotter);
- extern bool _pl_t_end_page (Plotter *_plotter);
- extern bool _pl_t_erase_page (Plotter *_plotter);
- extern bool _pl_t_path_is_flushable (Plotter *_plotter);
- extern void _pl_t_initialize (Plotter *_plotter);
- extern void _pl_t_maybe_prepaint_segments (Plotter *_plotter, int prev_num_segments);
- extern void _pl_t_paint_point (Plotter *_plotter);
- extern void _pl_t_terminate (Plotter *_plotter);
- extern void _pl_t_set_attributes (Plotter *_plotter);
- extern void _pl_t_set_bg_color (Plotter *_plotter);
- extern void _pl_t_set_pen_color (Plotter *_plotter);
- extern void _pl_t_tek_mode (Plotter *_plotter, int newmode);
- extern void _pl_t_tek_move (Plotter *_plotter, int xx, int yy);
- extern void _pl_t_tek_vector_compressed (Plotter *_plotter, int xx, int yy, int oldxx, int oldyy, bool force);
- extern void _pl_t_tek_vector (Plotter *_plotter, int xx, int yy);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_t_begin_page TekPlotter::begin_page
- #define _pl_t_end_page TekPlotter::end_page
- #define _pl_t_erase_page TekPlotter::erase_page
- #define _pl_t_initialize TekPlotter::initialize
- #define _pl_t_path_is_flushable TekPlotter::path_is_flushable
- #define _pl_t_maybe_prepaint_segments TekPlotter::maybe_prepaint_segments
- #define _pl_t_paint_point TekPlotter::paint_point
- #define _pl_t_terminate TekPlotter::terminate
- #define _pl_t_set_attributes TekPlotter::_t_set_attributes
- #define _pl_t_set_bg_color TekPlotter::_t_set_bg_color
- #define _pl_t_set_pen_color TekPlotter::_t_set_pen_color
- #define _pl_t_tek_mode TekPlotter::_t_tek_mode
- #define _pl_t_tek_move TekPlotter::_t_tek_move
- #define _pl_t_tek_vector TekPlotter::_t_tek_vector
- #define _pl_t_tek_vector_compressed TekPlotter::_t_tek_vector_compressed
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_r_begin_page (Plotter *_plotter);
- extern bool _pl_r_end_page (Plotter *_plotter);
- extern bool _pl_r_erase_page (Plotter *_plotter);
- extern bool _pl_r_paint_paths (Plotter *_plotter);
- extern bool _pl_r_path_is_flushable (Plotter *_plotter);
- extern void _pl_r_initialize (Plotter *_plotter);
- extern void _pl_r_maybe_prepaint_segments (Plotter *_plotter, int prev_num_segments);
- extern void _pl_r_paint_path (Plotter *_plotter);
- extern void _pl_r_paint_point (Plotter *_plotter);
- extern void _pl_r_terminate (Plotter *_plotter);
- extern void _pl_r_regis_move (Plotter *_plotter, int xx, int yy);
- extern void _pl_r_set_attributes (Plotter *_plotter);
- extern void _pl_r_set_bg_color (Plotter *_plotter);
- extern void _pl_r_set_fill_color (Plotter *_plotter);
- extern void _pl_r_set_pen_color (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_r_begin_page ReGISPlotter::begin_page
- #define _pl_r_end_page ReGISPlotter::end_page
- #define _pl_r_erase_page ReGISPlotter::erase_page
- #define _pl_r_initialize ReGISPlotter::initialize
- #define _pl_r_path_is_flushable ReGISPlotter::path_is_flushable
- #define _pl_r_maybe_prepaint_segments ReGISPlotter::maybe_prepaint_segments
- #define _pl_r_paint_path ReGISPlotter::paint_path
- #define _pl_r_paint_paths ReGISPlotter::paint_paths
- #define _pl_r_paint_point ReGISPlotter::paint_point
- #define _pl_r_terminate ReGISPlotter::terminate
- #define _pl_r_regis_move ReGISPlotter::_r_regis_move
- #define _pl_r_set_attributes ReGISPlotter::_r_set_attributes
- #define _pl_r_set_bg_color ReGISPlotter::_r_set_bg_color
- #define _pl_r_set_fill_color ReGISPlotter::_r_set_fill_color
- #define _pl_r_set_pen_color ReGISPlotter::_r_set_pen_color
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_h_begin_page (Plotter *_plotter);
- extern bool _pl_h_end_page (Plotter *_plotter);
- extern bool _pl_h_erase_page (Plotter *_plotter);
- extern bool _pl_h_paint_paths (Plotter *_plotter);
- extern double _pl_h_paint_text_string (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern void _pl_h_paint_point (Plotter *_plotter);
- extern void _pl_h_paint_path (Plotter *_plotter);
- extern void _pl_h_initialize (Plotter *_plotter);
- extern void _pl_h_terminate (Plotter *_plotter);
- extern void _pl_q_initialize (Plotter *_plotter);
- extern void _pl_q_terminate (Plotter *_plotter);
- extern bool _pl_h_hpgl2_maybe_update_font (Plotter *_plotter);
- extern bool _pl_h_hpgl_maybe_update_font (Plotter *_plotter);
- extern bool _pl_h_parse_pen_string (Plotter *_plotter, const char *pen_s);
- extern int _pl_h_hpgl_pseudocolor (Plotter *_plotter, int red, int green, int blue, bool restrict_white);
- extern void _pl_h_hpgl_shaded_pseudocolor (Plotter *_plotter, int red, int green, int blue, int *pen, double *shading);
- extern void _pl_h_set_attributes (Plotter *_plotter);
- extern void _pl_h_set_fill_color (Plotter *_plotter, bool force_pen_color);
- extern void _pl_h_set_font (Plotter *_plotter);
- extern void _pl_h_set_hpgl_fill_type (Plotter *_plotter, int fill_type, double option1, double option2);
- extern void _pl_h_set_hpgl_pen (Plotter *_plotter, int pen);
- extern void _pl_h_set_hpgl_pen_type (Plotter *_plotter, int pen_type, double option1, double option2);
- extern void _pl_h_set_pen_color (Plotter *_plotter, int hpgl_object_type);
- extern void _pl_h_set_position (Plotter *_plotter);
- extern void _pl_h_maybe_switch_to_hpgl (Plotter *_plotter);
- extern void _pl_h_maybe_switch_from_hpgl (Plotter *_plotter);
- extern void _pl_q_maybe_switch_to_hpgl (Plotter *_plotter);
- extern void _pl_q_maybe_switch_from_hpgl (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_h_begin_page HPGLPlotter::begin_page
- #define _pl_h_end_page HPGLPlotter::end_page
- #define _pl_h_erase_page HPGLPlotter::erase_page
- #define _pl_h_paint_text_string HPGLPlotter::paint_text_string
- #define _pl_h_paint_path HPGLPlotter::paint_path
- #define _pl_h_paint_paths HPGLPlotter::paint_paths
- #define _pl_h_paint_point HPGLPlotter::paint_point
- #define _pl_h_initialize HPGLPlotter::initialize
- #define _pl_h_terminate HPGLPlotter::terminate
- #define _pl_q_initialize PCLPlotter::initialize
- #define _pl_q_terminate PCLPlotter::terminate
- #define _pl_h_hpgl2_maybe_update_font HPGLPlotter::_h_hpgl2_maybe_update_font
- #define _pl_h_hpgl_maybe_update_font HPGLPlotter::_h_hpgl_maybe_update_font
- #define _pl_h_hpgl_pseudocolor HPGLPlotter::_h_hpgl_pseudocolor
- #define _pl_h_hpgl_shaded_pseudocolor HPGLPlotter::_h_hpgl_shaded_pseudocolor
- #define _pl_h_parse_pen_string HPGLPlotter::_h_parse_pen_string
- #define _pl_h_set_attributes HPGLPlotter::_h_set_attributes
- #define _pl_h_set_fill_color HPGLPlotter::_h_set_fill_color
- #define _pl_h_set_font HPGLPlotter::_h_set_font
- #define _pl_h_set_hpgl_fill_type HPGLPlotter::_h_set_hpgl_fill_type
- #define _pl_h_set_hpgl_pen HPGLPlotter::_h_set_hpgl_pen
- #define _pl_h_set_hpgl_pen_type HPGLPlotter::_h_set_hpgl_pen_type
- #define _pl_h_set_pen_color HPGLPlotter::_h_set_pen_color
- #define _pl_h_set_position HPGLPlotter::_h_set_position
- #define _pl_h_maybe_switch_to_hpgl HPGLPlotter::_maybe_switch_to_hpgl
- #define _pl_h_maybe_switch_from_hpgl HPGLPlotter::_maybe_switch_from_hpgl
- #define _pl_q_maybe_switch_to_hpgl PCLPlotter::_maybe_switch_to_hpgl
- #define _pl_q_maybe_switch_from_hpgl PCLPlotter::_maybe_switch_from_hpgl
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_f_begin_page (Plotter *_plotter);
- extern bool _pl_f_end_page (Plotter *_plotter);
- extern bool _pl_f_erase_page (Plotter *_plotter);
- extern bool _pl_f_paint_paths (Plotter *_plotter);
- extern bool _pl_f_retrieve_font (Plotter *_plotter);
- extern double _pl_f_paint_text_string (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern void _pl_f_initialize (Plotter *_plotter);
- extern void _pl_f_paint_path (Plotter *_plotter);
- extern void _pl_f_paint_point (Plotter *_plotter);
- extern void _pl_f_terminate (Plotter *_plotter);
- extern int _pl_f_fig_color (Plotter *_plotter, int red, int green, int blue);
- extern void _pl_f_compute_line_style (Plotter *_plotter, int *style, double *spacing);
- extern void _pl_f_draw_arc_internal (Plotter *_plotter, double xc, double yc, double x0, double y0, double x1, double y1);
- extern void _pl_f_draw_box_internal (Plotter *_plotter, plPoint p0, plPoint p1);
- extern void _pl_f_draw_ellipse_internal (Plotter *_plotter, double x, double y, double rx, double ry, double angle, int subtype);
- extern void _pl_f_set_fill_color (Plotter *_plotter);
- extern void _pl_f_set_pen_color (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_f_begin_page FigPlotter::begin_page
- #define _pl_f_end_page FigPlotter::end_page
- #define _pl_f_erase_page FigPlotter::erase_page
- #define _pl_f_paint_text_string FigPlotter::paint_text_string
- #define _pl_f_initialize FigPlotter::initialize
- #define _pl_f_paint_path FigPlotter::paint_path
- #define _pl_f_paint_paths FigPlotter::paint_paths
- #define _pl_f_paint_point FigPlotter::paint_point
- #define _pl_f_retrieve_font FigPlotter::retrieve_font
- #define _pl_f_terminate FigPlotter::terminate
- #define _pl_f_compute_line_style FigPlotter::_f_compute_line_style
- #define _pl_f_draw_arc_internal FigPlotter::_f_draw_arc_internal
- #define _pl_f_draw_box_internal FigPlotter::_f_draw_box_internal
- #define _pl_f_draw_ellipse_internal FigPlotter::_f_draw_ellipse_internal
- #define _pl_f_fig_color FigPlotter::_f_fig_color
- #define _pl_f_set_fill_color FigPlotter::_f_set_fill_color
- #define _pl_f_set_pen_color FigPlotter::_f_set_pen_color
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_c_begin_page (Plotter *_plotter);
- extern bool _pl_c_end_page (Plotter *_plotter);
- extern bool _pl_c_erase_page (Plotter *_plotter);
- extern bool _pl_c_paint_marker (Plotter *_plotter, int type, double size);
- extern bool _pl_c_paint_paths (Plotter *_plotter);
- extern double _pl_c_paint_text_string (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern void _pl_c_initialize (Plotter *_plotter);
- extern void _pl_c_paint_path (Plotter *_plotter);
- extern void _pl_c_paint_point (Plotter *_plotter);
- extern void _pl_c_terminate (Plotter *_plotter);
- extern void _pl_c_set_attributes (Plotter *_plotter, int cgm_object_type);
- extern void _pl_c_set_bg_color (Plotter *_plotter);
- extern void _pl_c_set_fill_color (Plotter *_plotter, int cgm_object_type);
- extern void _pl_c_set_pen_color (Plotter *_plotter, int cgm_object_type);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_c_begin_page CGMPlotter::begin_page
- #define _pl_c_end_page CGMPlotter::end_page
- #define _pl_c_erase_page CGMPlotter::erase_page
- #define _pl_c_paint_text_string CGMPlotter::paint_text_string
- #define _pl_c_initialize CGMPlotter::initialize
- #define _pl_c_paint_marker CGMPlotter::paint_marker
- #define _pl_c_paint_path CGMPlotter::paint_path
- #define _pl_c_paint_paths CGMPlotter::paint_paths
- #define _pl_c_paint_point CGMPlotter::paint_point
- #define _pl_c_terminate CGMPlotter::terminate
- #define _pl_c_set_attributes CGMPlotter::_c_set_attributes
- #define _pl_c_set_bg_color CGMPlotter::_c_set_bg_color
- #define _pl_c_set_fill_color CGMPlotter::_c_set_fill_color
- #define _pl_c_set_pen_color CGMPlotter::_c_set_pen_color
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_p_begin_page (Plotter *_plotter);
- extern bool _pl_p_end_page (Plotter *_plotter);
- extern bool _pl_p_erase_page (Plotter *_plotter);
- extern bool _pl_p_paint_paths (Plotter *_plotter);
- extern double _pl_p_paint_text_string (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern void _pl_p_initialize (Plotter *_plotter);
- extern void _pl_p_paint_path (Plotter *_plotter);
- extern void _pl_p_paint_point (Plotter *_plotter);
- extern void _pl_p_terminate (Plotter *_plotter);
- extern double _pl_p_emit_common_attributes (Plotter *_plotter);
- extern void _pl_p_compute_idraw_bgcolor (Plotter *_plotter);
- extern void _pl_p_fellipse_internal (Plotter *_plotter, double x, double y, double rx, double ry, double angle, bool circlep);
- extern void _pl_p_set_fill_color (Plotter *_plotter);
- extern void _pl_p_set_pen_color (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_p_begin_page PSPlotter::begin_page
- #define _pl_p_end_page PSPlotter::end_page
- #define _pl_p_erase_page PSPlotter::erase_page
- #define _pl_p_paint_text_string PSPlotter::paint_text_string
- #define _pl_p_initialize PSPlotter::initialize
- #define _pl_p_paint_path PSPlotter::paint_path
- #define _pl_p_paint_paths PSPlotter::paint_paths
- #define _pl_p_paint_point PSPlotter::paint_point
- #define _pl_p_terminate PSPlotter::terminate
- #define _pl_p_compute_idraw_bgcolor PSPlotter::_p_compute_idraw_bgcolor
- #define _pl_p_emit_common_attributes PSPlotter::_p_emit_common_attributes
- #define _pl_p_fellipse_internal PSPlotter::_p_fellipse_internal
- #define _pl_p_set_fill_color PSPlotter::_p_set_fill_color
- #define _pl_p_set_pen_color PSPlotter::_p_set_pen_color
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_a_begin_page (Plotter *_plotter);
- extern bool _pl_a_end_page (Plotter *_plotter);
- extern bool _pl_a_erase_page (Plotter *_plotter);
- extern bool _pl_a_paint_paths (Plotter *_plotter);
- extern double _pl_a_paint_text_string (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern void _pl_a_initialize (Plotter *_plotter);
- extern void _pl_a_paint_path (Plotter *_plotter);
- extern void _pl_a_paint_point (Plotter *_plotter);
- extern void _pl_a_terminate (Plotter *_plotter);
- extern void _pl_a_set_attributes (Plotter *_plotter);
- extern void _pl_a_set_fill_color (Plotter *_plotter, bool force_pen_color);
- extern void _pl_a_set_pen_color (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_a_begin_page AIPlotter::begin_page
- #define _pl_a_end_page AIPlotter::end_page
- #define _pl_a_erase_page AIPlotter::erase_page
- #define _pl_a_paint_text_string AIPlotter::paint_text_string
- #define _pl_a_initialize AIPlotter::initialize
- #define _pl_a_paint_path AIPlotter::paint_path
- #define _pl_a_paint_paths AIPlotter::paint_paths
- #define _pl_a_paint_point AIPlotter::paint_point
- #define _pl_a_terminate AIPlotter::terminate
- #define _pl_a_set_attributes AIPlotter::_a_set_attributes
- #define _pl_a_set_fill_color AIPlotter::_a_set_fill_color
- #define _pl_a_set_pen_color AIPlotter::_a_set_pen_color
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_s_begin_page (Plotter *_plotter);
- extern bool _pl_s_end_page (Plotter *_plotter);
- extern bool _pl_s_erase_page (Plotter *_plotter);
- extern bool _pl_s_paint_paths (Plotter *_plotter);
- extern double _pl_s_paint_text_string (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern void _pl_s_initialize (Plotter *_plotter);
- extern void _pl_s_paint_path (Plotter *_plotter);
- extern void _pl_s_paint_point (Plotter *_plotter);
- extern void _pl_s_terminate (Plotter *_plotter);
- extern void _pl_s_set_matrix (Plotter *_plotter, const double m_local[6]);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_s_begin_page SVGPlotter::begin_page
- #define _pl_s_end_page SVGPlotter::end_page
- #define _pl_s_erase_page SVGPlotter::erase_page
- #define _pl_s_paint_text_string SVGPlotter::paint_text_string
- #define _pl_s_initialize SVGPlotter::initialize
- #define _pl_s_paint_path SVGPlotter::paint_path
- #define _pl_s_paint_paths SVGPlotter::paint_paths
- #define _pl_s_paint_point SVGPlotter::paint_point
- #define _pl_s_terminate SVGPlotter::terminate
- #define _pl_s_set_matrix SVGPlotter::_s_set_matrix
- #endif /* LIBPLOTTER */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern void _pl_n_initialize (Plotter *_plotter);
- extern void _pl_n_terminate (Plotter *_plotter);
- extern int _pl_n_maybe_output_image (Plotter *_plotter);
- extern void _pl_n_write_pnm (Plotter *_plotter);
- extern void _pl_n_write_pbm (Plotter *_plotter);
- extern void _pl_n_write_pgm (Plotter *_plotter);
- extern void _pl_n_write_ppm (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_n_initialize PNMPlotter::initialize
- #define _pl_n_terminate PNMPlotter::terminate
- #define _pl_n_maybe_output_image PNMPlotter::_maybe_output_image
- #define _pl_n_write_pnm PNMPlotter::_n_write_pnm
- #define _pl_n_write_pbm PNMPlotter::_n_write_pbm
- #define _pl_n_write_pgm PNMPlotter::_n_write_pgm
- #define _pl_n_write_ppm PNMPlotter::_n_write_ppm
- #endif /* LIBPLOTTER */
- #ifdef INCLUDE_PNG_SUPPORT
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern void _pl_z_initialize (Plotter *_plotter);
- extern void _pl_z_terminate (Plotter *_plotter);
- extern int _pl_z_maybe_output_image (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_z_initialize PNGPlotter::initialize
- #define _pl_z_terminate PNGPlotter::terminate
- #define _pl_z_maybe_output_image PNGPlotter::_maybe_output_image
- #endif /* LIBPLOTTER */
- #endif /* INCLUDE_PNG_SUPPORT */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_i_begin_page (Plotter *_plotter);
- extern bool _pl_i_end_page (Plotter *_plotter);
- extern bool _pl_i_erase_page (Plotter *_plotter);
- extern bool _pl_i_paint_paths (Plotter *_plotter);
- extern void _pl_i_initialize (Plotter *_plotter);
- extern void _pl_i_paint_path (Plotter *_plotter);
- extern void _pl_i_paint_point (Plotter *_plotter);
- extern void _pl_i_terminate (Plotter *_plotter);
- extern int _pl_i_scan_pixel (Plotter *_plotter);
- extern unsigned char _pl_i_new_color_index (Plotter *_plotter, int red, int green, int blue);
- extern void _pl_i_delete_image (Plotter *_plotter);
- extern void _pl_i_draw_elliptic_arc (Plotter *_plotter, plPoint p0, plPoint p1, plPoint pc);
- extern void _pl_i_draw_elliptic_arc_2 (Plotter *_plotter, plPoint p0, plPoint p1, plPoint pc);
- extern void _pl_i_draw_elliptic_arc_internal (Plotter *_plotter, int xorigin, int yorigin, unsigned int squaresize_x, unsigned int squaresize_y, int startangle, int anglerange);
- extern void _pl_i_new_image (Plotter *_plotter);
- extern void _pl_i_set_bg_color (Plotter *_plotter);
- extern void _pl_i_set_fill_color (Plotter *_plotter);
- extern void _pl_i_set_pen_color (Plotter *_plotter);
- extern void _pl_i_start_scan (Plotter *_plotter);
- extern void _pl_i_write_gif_header (Plotter *_plotter);
- extern void _pl_i_write_gif_image (Plotter *_plotter);
- extern void _pl_i_write_gif_trailer (Plotter *_plotter);
- extern void _pl_i_write_short_int (Plotter *_plotter, unsigned int i);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_i_begin_page GIFPlotter::begin_page
- #define _pl_i_end_page GIFPlotter::end_page
- #define _pl_i_erase_page GIFPlotter::erase_page
- #define _pl_i_initialize GIFPlotter::initialize
- #define _pl_i_paint_path GIFPlotter::paint_path
- #define _pl_i_paint_paths GIFPlotter::paint_paths
- #define _pl_i_paint_point GIFPlotter::paint_point
- #define _pl_i_terminate GIFPlotter::terminate
- #define _pl_i_scan_pixel GIFPlotter::_i_scan_pixel
- #define _pl_i_new_color_index GIFPlotter::_i_new_color_index
- #define _pl_i_delete_image GIFPlotter::_i_delete_image
- #define _pl_i_draw_elliptic_arc GIFPlotter::_i_draw_elliptic_arc
- #define _pl_i_draw_elliptic_arc_2 GIFPlotter::_i_draw_elliptic_arc_2
- #define _pl_i_draw_elliptic_arc_internal GIFPlotter::_i_draw_elliptic_arc_internal
- #define _pl_i_new_image GIFPlotter::_i_new_image
- #define _pl_i_set_bg_color GIFPlotter::_i_set_bg_color
- #define _pl_i_set_fill_color GIFPlotter::_i_set_fill_color
- #define _pl_i_set_pen_color GIFPlotter::_i_set_pen_color
- #define _pl_i_start_scan GIFPlotter::_i_start_scan
- #define _pl_i_write_gif_header GIFPlotter::_i_write_gif_header
- #define _pl_i_write_gif_image GIFPlotter::_i_write_gif_image
- #define _pl_i_write_gif_trailer GIFPlotter::_i_write_gif_trailer
- #define _pl_i_write_short_int GIFPlotter::_i_write_short_int
- #endif /* LIBPLOTTER */
- #ifndef X_DISPLAY_MISSING
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern bool _pl_x_begin_page (Plotter *_plotter);
- extern bool _pl_x_end_page (Plotter *_plotter);
- extern bool _pl_x_erase_page (Plotter *_plotter);
- extern bool _pl_x_flush_output (Plotter *_plotter);
- extern bool _pl_x_paint_paths (Plotter *_plotter);
- extern bool _pl_x_path_is_flushable (Plotter *_plotter);
- extern bool _pl_x_retrieve_font (Plotter *_plotter);
- extern double _pl_x_paint_text_string (Plotter *_plotter, const unsigned char *s, int h_just, int v_just);
- extern double _pl_x_get_text_width (Plotter *_plotter, const unsigned char *s);
- extern void _pl_x_initialize (Plotter *_plotter);
- extern void _pl_x_maybe_prepaint_segments (Plotter *_plotter, int prev_num_segments);
- extern void _pl_x_paint_path (Plotter *_plotter);
- extern void _pl_x_paint_point (Plotter *_plotter);
- extern void _pl_x_pop_state (Plotter *_plotter);
- extern void _pl_x_push_state (Plotter *_plotter);
- extern void _pl_x_terminate (Plotter *_plotter);
- extern bool _pl_x_retrieve_color (Plotter *_plotter, XColor *rgb_ptr);
- extern bool _pl_x_select_font_carefully (Plotter *_plotter, const char *name, const unsigned char *s, bool subsetting);
- extern bool _pl_x_select_xlfd_font_carefully (Plotter *_plotter, const char *x_name, const char *x_name_alt, const char *x_name_alt2, const char *x_name_alt3);
- extern void _pl_x_add_gcs_to_first_drawing_state (Plotter *_plotter);
- extern void _pl_x_delete_gcs_from_first_drawing_state (Plotter *_plotter);
- extern void _pl_x_draw_elliptic_arc (Plotter *_plotter, plPoint p0, plPoint p1, plPoint pc);
- extern void _pl_x_draw_elliptic_arc_2 (Plotter *_plotter, plPoint p0, plPoint p1, plPoint pc);
- extern void _pl_x_draw_elliptic_arc_internal (Plotter *_plotter, int xorigin, int yorigin, unsigned int squaresize_x, unsigned int squaresize_y, int startangle, int anglerange);
- extern void _pl_x_set_attributes (Plotter *_plotter, int x_gc_type);
- extern void _pl_x_set_bg_color (Plotter *_plotter);
- extern void _pl_x_set_fill_color (Plotter *_plotter);
- extern void _pl_x_set_pen_color (Plotter *_plotter);
- extern void _pl_x_maybe_get_new_colormap (Plotter *_plotter);
- extern void _pl_x_maybe_handle_x_events (Plotter *_plotter);
- extern bool _pl_y_begin_page (Plotter *_plotter);
- extern bool _pl_y_end_page (Plotter *_plotter);
- extern bool _pl_y_erase_page (Plotter *_plotter);
- extern void _pl_y_initialize (Plotter *_plotter);
- extern void _pl_y_terminate (Plotter *_plotter);
- extern void _pl_y_flush_plotter_outstreams (Plotter *_plotter);
- extern void _pl_y_maybe_get_new_colormap (Plotter *_plotter);
- extern void _pl_y_maybe_handle_x_events (Plotter *_plotter);
- extern void _pl_y_set_data_for_quitting (Plotter *_plotter);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _pl_x_begin_page XDrawablePlotter::begin_page
- #define _pl_x_end_page XDrawablePlotter::end_page
- #define _pl_x_erase_page XDrawablePlotter::erase_page
- #define _pl_x_paint_text_string XDrawablePlotter::paint_text_string
- #define _pl_x_get_text_width XDrawablePlotter::get_text_width
- #define _pl_x_flush_output XDrawablePlotter::flush_output
- #define _pl_x_path_is_flushable XDrawablePlotter::path_is_flushable
- #define _pl_x_maybe_prepaint_segments XDrawablePlotter::maybe_prepaint_segments
- #define _pl_x_paint_path XDrawablePlotter::paint_path
- #define _pl_x_paint_paths XDrawablePlotter::paint_paths
- #define _pl_x_paint_point XDrawablePlotter::paint_point
- #define _pl_x_pop_state XDrawablePlotter::pop_state
- #define _pl_x_push_state XDrawablePlotter::push_state
- #define _pl_x_retrieve_font XDrawablePlotter::retrieve_font
- #define _pl_x_initialize XDrawablePlotter::initialize
- #define _pl_x_terminate XDrawablePlotter::terminate
- #define _pl_y_begin_page XPlotter::begin_page
- #define _pl_y_end_page XPlotter::end_page
- #define _pl_y_erase_page XPlotter::erase_page
- #define _pl_y_initialize XPlotter::initialize
- #define _pl_y_terminate XPlotter::terminate
- #define _pl_x_add_gcs_to_first_drawing_state XDrawablePlotter::_x_add_gcs_to_first_drawing_state
- #define _pl_x_delete_gcs_from_first_drawing_state XDrawablePlotter::_x_delete_gcs_from_first_drawing_state
- #define _pl_x_draw_elliptic_arc XDrawablePlotter::_x_draw_elliptic_arc
- #define _pl_x_draw_elliptic_arc_2 XDrawablePlotter::_x_draw_elliptic_arc_2
- #define _pl_x_draw_elliptic_arc_internal XDrawablePlotter::_x_draw_elliptic_arc_internal
- #define _pl_x_retrieve_color XDrawablePlotter::_x_retrieve_color
- #define _pl_x_select_font XDrawablePlotter::_x_select_font
- #define _pl_x_select_font_carefully XDrawablePlotter::_x_select_font_carefully
- #define _pl_x_select_xlfd_font_carefully XDrawablePlotter::_x_select_xlfd_font_carefully
- #define _pl_x_set_attributes XDrawablePlotter::_x_set_attributes
- #define _pl_x_set_bg_color XDrawablePlotter::_x_set_bg_color
- #define _pl_x_set_fill_color XDrawablePlotter::_x_set_fill_color
- #define _pl_x_set_font_dimensions XDrawablePlotter::_x_set_font_dimensions
- #define _pl_x_set_pen_color XDrawablePlotter::_x_set_pen_color
- #define _pl_x_maybe_get_new_colormap XDrawablePlotter::_maybe_get_new_colormap
- #define _pl_x_maybe_handle_x_events XDrawablePlotter::_maybe_handle_x_events
- #define _pl_y_maybe_get_new_colormap XPlotter::_maybe_get_new_colormap
- #define _pl_y_maybe_handle_x_events XPlotter::_maybe_handle_x_events
- #define _pl_y_flush_plotter_outstreams XPlotter::_y_flush_plotter_outstreams
- #define _pl_y_set_data_for_quitting XPlotter::_y_set_data_for_quitting
- #endif /* LIBPLOTTER */
- #endif /* not X_DISPLAY_MISSING */
- #ifndef LIBPLOTTER
- ___BEGIN_DECLS
- extern int _setplparam (PlotterParams *_plotter_params, const char *parameter, void * value);
- extern int _pushplparams (PlotterParams *_plotter_params);
- extern int _popplparams (PlotterParams *_plotter_params);
- ___END_DECLS
- #else /* LIBPLOTTER */
- #define _setplparam PlotterParams::setplparam
- #define _pushplparams PlotterParams::pushplparams
- #define _popplparams PlotterParams::popplparams
- #endif /* LIBPLOTTER */
|