diff options
Diffstat (limited to 'nx-X11/include/DPS/FontSB.h')
-rw-r--r-- | nx-X11/include/DPS/FontSB.h | 287 |
1 files changed, 287 insertions, 0 deletions
diff --git a/nx-X11/include/DPS/FontSB.h b/nx-X11/include/DPS/FontSB.h new file mode 100644 index 000000000..d37d126c7 --- /dev/null +++ b/nx-X11/include/DPS/FontSB.h @@ -0,0 +1,287 @@ +/* + * FontSB.h + * + * (c) Copyright 1991-1994 Adobe Systems Incorporated. + * All rights reserved. + * + * Permission to use, copy, modify, distribute, and sublicense this software + * and its documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notices appear in all copies and that + * both those copyright notices and this permission notice appear in + * supporting documentation and that the name of Adobe Systems Incorporated + * not be used in advertising or publicity pertaining to distribution of the + * software without specific, written prior permission. No trademark license + * to use the Adobe trademarks is hereby granted. If the Adobe trademark + * "Display PostScript"(tm) is used to describe this software, its + * functionality or for any other purpose, such use shall be limited to a + * statement that this software works in conjunction with the Display + * PostScript system. Proper trademark attribution to reflect Adobe's + * ownership of the trademark shall be given whenever any such reference to + * the Display PostScript system is made. + * + * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR + * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. + * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE + * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT + * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE. + * + * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems + * Incorporated which may be registered in certain jurisdictions + * + * Author: Adobe Systems Incorporated + */ +/* $XFree86$ */ + +#ifndef _FontSelectionBox_h +#define _FontSelectionBox_h + +/* New resouce names and classes */ + +#define XtNcontext "context" +#define XtCContext "Context" +#define XtNpreviewString "previewString" +#define XtCPreviewString "PreviewString" +#define XtNsizes "sizes" +#define XtCSizes "Sizes" +#define XtNsizeCount "sizeCount" +#define XtCSizeCount "SizeCount" +#define XtNdefaultResourcePath "defaultResourcePath" +#define XtCDefaultResourcePath "DefaultResourcePath" +#define XtNresourcePathOverride "resourcePathOverride" +#define XtCResourcePathOverride "ResourcePathOverride" +#define XtNuseFontName "useFontName" +#define XtCUseFontName "UseFontName" +#define XtNfontName "fontName" +#define XtCFontName "FontName" +#define XtNfontFamily "fontFamily" +#define XtCFontFamily "FontFamily" +#define XtNfontFace "fontFace" +#define XtCFontFace "FontFace" +#define XtNfontSize "fontSize" +#define XtCFontSize "FontSize" +#define XtNfontBlend "fontBlend" +#define XtCFontBlend "FontBlend" +#define XtNfontNameMultiple "fontNameMultiple" +#define XtCFontNameMultiple "FontNameMultiple" +#define XtNfontFamilyMultiple "fontFamilyMultiple" +#define XtCFontFamilyMultiple "FontFamilyMultiple" +#define XtNfontFaceMultiple "fontFaceMultiple" +#define XtCFontFaceMultiple "FontFaceMultiple" +#define XtNfontSizeMultiple "fontSizeMultiple" +#define XtCFontSizeMultiple "FontSizeMultiple" +#define XtNgetServerFonts "getServerFonts" +#define XtCGetServerFonts "GetServerFonts" +#define XtNgetAFM "getAFM" +#define XtCGetAFM "GetAFM" +#define XtNautoPreview "autoPreview" +#define XtCAutoPreview "AutoPreview" +#define XtNpreviewOnChange "previewOnChange" +#define XtCPreviewOnChange "PreviewOnChange" +#define XtNundefUnusedFonts "undefUnusedFonts" +#define XtCUndefUnusedFonts "UndefUnusedFonts" +#define XtNmaxPendingDeletes "maxPendingDeletes" +#define XtCMaxPendingDeletes "MaxPendingDeletes" +#define XtNmakeFontsShared "makeFontsShared" +#define XtCMakeFontsShared "MakeFontsShared" +#define XtNshowSampler "showSampler" +#define XtCShowSampler "ShowSampler" +#define XtNshowSamplerButton "showSamplerButton" +#define XtCShowSamplerButton "ShowSamplerButton" +#define XtNtypographicSort "typographicSort" +#define XtCTypographicSort "TypographicSort" +#define XtNokCallback "okCallback" +#define XtNapplyCallback "applyCallback" +#define XtNresetCallback "resetCallback" +#ifndef XtNcancelCallback +#define XtNcancelCallback "cancelCallback" +#endif +#define XtNvalidateCallback "validateCallback" +#define XtNfaceSelectCallback "faceSelectCallback" +#define XtNvalueChangedCallback "valueChangedCallback" +#define XtNcreateSamplerCallback "createSamplerCallback" +#define XtNcreateCreatorCallback "createCreatorCallback" + +/* Read-only resources for all the subwidgets */ + +#define XtNpaneChild "paneChild" +#define XtNpreviewChild "previewChild" +#define XtNpanelChild "panelChild" +#define XtNfamilyLabelChild "familyLabelChild" +#define XtNfamilyMultipleLabelChild "familyMultipleLabelChild" +#define XtNfamilyScrolledListChild "familyScrolledListChild" +#define XtNfaceLabelChild "faceLabelChild" +#define XtNfaceMultipleLabelChild "faceMultipleLabelChild" +#define XtNfaceScrolledListChild "faceScrolledListChild" +#define XtNsizeLabelChild "sizeLabelChild" +#define XtNsizeTextFieldChild "sizeTextFieldChild" +#define XtNsizeOptionMenuChild "sizeOptionMenuChild" +#define XtNsizeMultipleLabelChild "sizeMultipleLabelChild" +#define XtNsamplerButtonChild "samplerButtonChild" +#define XtNpreviewButtonChild "previewButtonChild" +#define XtNseparatorChild "separatorChild" +#define XtNokButtonChild "okButtonChild" +#define XtNapplyButtonChild "applyButtonChild" +#define XtNresetButtonChild "resetButtonChild" +#define XtNcancelButtonChild "cancelButtonChild" +#define XtNmultipleMasterButtonChild "multipleMasterButtonChild" + +/* New resource types */ + +#define XtRFloatList "FloatList" +#define XtRDPSContext "DPSContext" + +/* Class record constants */ + +extern WidgetClass fontSelectionBoxWidgetClass; + +typedef struct _FontSelectionBoxRec *FontSelectionBoxWidget; + +typedef enum {FSBNone, FSBOne, FSBMultiple} FSBSelectionType; +typedef enum {FSBOK, FSBApply, FSBReset, FSBCancel, + FSBValueChanged} FSBCallbackReason; + +typedef struct { + FSBCallbackReason reason; + String family; + String face; + float size; + String name; + String afm_filename; + FSBSelectionType family_selection; + FSBSelectionType face_selection; + FSBSelectionType size_selection; + FSBSelectionType name_selection; + Boolean afm_present; + Boolean unused; + String blend; + String base_name; + float axis_percent[4]; +} FSBCallbackRec; + +typedef struct { + FSBCallbackReason reason; + String family; + String face; + float size; + String name; + String afm_filename; + FSBSelectionType family_selection; + FSBSelectionType face_selection; + FSBSelectionType size_selection; + FSBSelectionType name_selection; + Boolean afm_present; + Boolean doit; + String blend; + String base_name; + float axis_percent[4]; +} FSBValidateCallbackRec; + +typedef struct { + String *available_faces; + int num_available_faces; + String current_face; + String new_face; +} FSBFaceSelectCallbackRec; + +typedef struct { + Widget sampler; + Widget sampler_shell; +} FSBCreateSamplerCallbackRec; + +typedef struct { + Widget creator; + Widget creator_shell; +} FSBCreateCreatorCallbackRec; + +typedef enum {FSBAddBlend, FSBReplaceBlend, FSBDeleteBlend} FSBBlendAction; + +/* Convenience and info routines */ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* Note use of Bool and double in prototypes: this makes the library + work correctly when linked with no-prototype compiled objects */ + +extern void FSBSetFontName(Widget w, + String font_name, + Bool font_name_multiple); + +extern void FSBSetFontFamilyFace(Widget w, + String font_family, String font_face, + Bool font_family_multiple, + Bool font_face_multiple); + +extern void FSBSetFontSize(Widget w, double font_size, + Bool font_size_multiple); + +extern void FSBRefreshFontList(Widget w); + +extern void FSBGetFamilyList(Widget w, int *count_return, + String **family_return); + +extern void FSBGetFaceList(Widget w, String family, int *count_return, + String **face_return, String **font_return); + +extern void FSBUndefineUnusedFonts(Widget w); + +extern Boolean FSBDownloadFontName(Widget w, String font_name); + +extern Boolean FSBMatchFontFace(Widget w, String old_face, String new_family, + String *new_face); + +extern void FSBFontNameToFamilyFace(Widget w, String font_name, + String *family, String *face); + +extern void FSBFontFamilyFaceToName(Widget w, String family, String face, + String *font_name); + +extern String FSBFindAFM(Widget w, String font_name); + +extern String FSBFindFontFile(Widget w, String font_name); + +extern void FSBGetTextDimensions(Widget w, String text, String font, + double size, double x, double y, + float *dx, float *dy, + float *left, float *right, + float *top, float *bottom); + +extern void FSBSetFontFamilyFaceBlend(Widget w, String family, String face, + String blend, Bool family_multiple, + Bool face_multiple); + +extern void FSBFontNameToFamilyFaceBlend(Widget w, String font_name, + String *family, String *face, + String *blend); + +extern void FSBFontFamilyFaceBlendToName(Widget w, String family, String face, + String blend, String *font_name); + +extern void FSBGetBlendList(Widget w, String font_name, int *count_return, + String **blend_return, String **font_name_return, + float **axis_values_return); + +extern void FSBGetBlendInfo(Widget w, String name, int *num_axes_return, + int *num_designs_return, + String **axis_names_return, + float **blend_positions_return, + int **blend_map_count_return, + int **blend_design_coords_return, + float **blend_normalized_coords_return); + +extern Boolean FSBChangeBlends(Widget w, String base_name, String blend_name, + FSBBlendAction action, int *axis_values, + float *axis_percents); + +#if defined(__cplusplus) || defined(c_plusplus) +} +#endif + +#endif /* _FontSelectionBox_h */ +/* DON'T ADD ANYTHING AFTER THIS #endif */ |