#ifndef _FontSelectionBox_h
#define _FontSelectionBox_h
#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"
#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"
#define XtRFloatList "FloatList"
#define XtRDPSContext "DPSContext"
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;
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
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