aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/include/DPS/FontSBP.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/include/DPS/FontSBP.h')
-rw-r--r--nx-X11/include/DPS/FontSBP.h335
1 files changed, 335 insertions, 0 deletions
diff --git a/nx-X11/include/DPS/FontSBP.h b/nx-X11/include/DPS/FontSBP.h
new file mode 100644
index 000000000..99a867f52
--- /dev/null
+++ b/nx-X11/include/DPS/FontSBP.h
@@ -0,0 +1,335 @@
+/*
+ * FontSBP.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 _FontSelectionBoxP_H
+#define _FontSelectionBoxP_H
+
+#include <DPS/FontSB.h>
+
+/* Typedefs used in private fields */
+
+#define MAX_AXES 4
+#define MAX_BLENDS 16 /* = 2**MAX_AXES */
+
+typedef struct _BlendRec {
+ char *blend_name;
+ char *font_name;
+ XmString CS_blend_name;
+ XmString CS_space_blend_name;
+ float data[MAX_AXES];
+ struct _BlendRec *next;
+} BlendRec;
+
+typedef struct {
+ int num_axes, num_designs;
+ int min[MAX_AXES], max[MAX_AXES];
+ String name[MAX_AXES];
+ int internal_points[MAX_AXES];
+ int *internal_break[MAX_AXES];
+ float *internal_value[MAX_AXES];
+ float *design_positions;
+ BlendRec *blends;
+} BlendDataRec;
+
+typedef struct _FontRec {
+ char *font_name;
+ char *face_name;
+ XmString CS_face_name;
+ char *full_name;
+ Boolean resident;
+ Boolean temp_resident;
+ struct _FontRec *pending_delete_next;
+ struct _FontRec *next;
+ int blend_count;
+ Boolean in_font_creator;
+ BlendDataRec *blend_data;
+} FontRec;
+
+typedef struct _FontFamilyRec {
+ char *family_name;
+ char *sort_key;
+ FontRec *fonts;
+ int font_count;
+ struct _FontFamilyRec *next;
+ int blend_count;
+} FontFamilyRec;
+
+typedef struct {
+ DPSContext context;
+ String preview_string;
+ float *sizes;
+ int size_count;
+ String default_resource_path;
+ String resource_path_override;
+ String font_name;
+ String font_family;
+ String font_face;
+ float font_size;
+ Boolean use_font_name;
+ Boolean font_name_multiple;
+ Boolean font_family_multiple;
+ Boolean font_face_multiple;
+ Boolean font_size_multiple;
+ Boolean get_server_fonts;
+ Boolean get_afm;
+ Boolean auto_preview;
+ Boolean preview_on_change;
+ Boolean undef_unused_fonts;
+ Boolean make_fonts_shared;
+ Boolean show_sampler;
+ Boolean show_sampler_button;
+ Cardinal max_pending_deletes;
+ XtCallbackList ok_callback;
+ XtCallbackList apply_callback;
+ XtCallbackList reset_callback;
+ XtCallbackList cancel_callback;
+ XtCallbackList validate_callback;
+ XtCallbackList face_select_callback;
+ XtCallbackList create_sampler_callback;
+ Widget pane_child;
+ Widget preview_child;
+ Widget panel_child;
+ Widget family_label_child;
+ Widget family_multiple_label_child;
+ Widget family_scrolled_list_child;
+ Widget face_label_child;
+ Widget face_multiple_label_child;
+ Widget face_scrolled_list_child;
+ Widget size_label_child;
+ Widget size_text_field_child;
+ Widget size_option_menu_child;
+ Widget size_multiple_label_child;
+ Widget sampler_button_child;
+ Widget preview_button_child;
+ Widget separator_child;
+ Widget ok_button_child;
+ Widget apply_button_child;
+ Widget reset_button_child;
+ Widget cancel_button_child;
+
+ /* Private fields */
+
+ DPSGState gstate;
+ Widget other_size;
+ Widget size_menu;
+ Widget sampler;
+ FontFamilyRec *known_families;
+ int family_count;
+ Boolean preview_fixed;
+ Boolean current_family_multiple, current_face_multiple;
+ Boolean current_size_multiple;
+ FontRec *pending_delete_font;
+ int pending_delete_count;
+ FontRec *currently_previewed;
+ FontRec *currently_selected_face;
+ FontFamilyRec *currently_selected_family;
+ float currently_previewed_size;
+ float currently_selected_size;
+
+ /* New resource fields */
+
+ String font_blend;
+ Boolean typographic_sort;
+ XtCallbackList create_creator_callback;
+ XtCallbackList value_changed_callback;
+ Widget multiple_master_button_child;
+
+ /* New private fields */
+
+ Widget creator, creator_shell;
+ BlendRec *currently_previewed_blend;
+ BlendRec *currently_selected_blend;
+ Boolean blends_changed;
+ Boolean old_server;
+} FontSelectionBoxPart;
+
+typedef struct _FontSelectionBoxRec {
+ CorePart core;
+ CompositePart composite;
+ ConstraintPart constraint;
+ XmManagerPart manager;
+ FontSelectionBoxPart fsb;
+} FontSelectionBoxRec;
+
+#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 */
+
+typedef void (*FSBSetFontNameProc) (Widget w,
+ String font_name,
+ Bool font_name_multiple);
+
+typedef void (*FSBSetFontFamilyFaceProc) (Widget w,
+ String font_family,
+ String font_face,
+ Bool font_family_multiple,
+ Bool font_face_multiple);
+
+typedef void (*FSBSetFontSizeProc) (Widget w,
+ double font_size,
+ Bool font_size_multiple);
+
+typedef void (*FSBRefreshFontListProc) (Widget w);
+
+typedef void (*FSBGetFamilyListProc) (Widget w, int *count_return,
+ String **family_return);
+
+typedef void (*FSBGetFaceListProc) (Widget w, String family, int *count_return,
+ String **face_return,
+ String **font_return);
+
+typedef void (*FSBUndefUnusedFontsProc) (Widget w);
+
+typedef Boolean (*FSBDownloadFontNameProc) (Widget w, String font_name);
+
+typedef Boolean (*FSBMatchFontFaceProc) (Widget w, String old_face,
+ String new_family, String *new_face);
+
+typedef void (*FSBFontNameToFamilyFaceProc) (Widget w, String font_name,
+ String *family, String *face);
+
+typedef void (*FSBFontFamilyFaceToNameProc) (Widget w, String family,
+ String face, String *font_name);
+
+typedef String (*FSBFindAFMProc) (Widget w, String font_name);
+
+typedef String (*FSBFindFontFileProc) (Widget w, String font_name);
+
+typedef void (*FSBGetTextDimensionsProc) (Widget w, String text, String font,
+ double size, double x, double y,
+ float *dx, float *dy,
+ float *left, float *right,
+ float *top, float *bottom);
+
+typedef void (*FSBSetFontFamilyFaceBlendProc) (Widget w,
+ String font_family,
+ String font_face,
+ String font_blend,
+ Bool font_family_multiple,
+ Bool font_face_multiple);
+typedef void (*FSBFontNameToFamilyFaceBlendProc) (Widget w, String font_name,
+ String *family, String *face,
+ String *blend);
+typedef void (*FSBFontFamilyFaceBlendToNameProc) (Widget w, String family,
+ String face, String blend,
+ String *font_name);
+typedef void (*FSBGetBlendListProc) (Widget w, String name,
+ int *count_return, String **blend_return,
+ String **font_name_return,
+ float **axis_values_return);
+typedef void (*FSBGetBlendInfoProc) (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);
+typedef Boolean (*FSBChangeBlendsProc) (Widget w, String base_name,
+ String blend_name,
+ FSBBlendAction action,
+ int *axis_values,
+ float *axis_percents);
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#define InheritSetFontName ((FSBSetFontNameProc) _XtInherit)
+#define InheritSetFontFamilyFace ((FSBSetFontFamilyFaceProc) _XtInherit)
+#define InheritSetFontSize ((FSBSetFontSizeProc) _XtInherit)
+#define InheritRefreshFontList ((FSBRefreshFontListProc) _XtInherit)
+#define InheritGetFamilyList ((FSBGetFamilyListProc) _XtInherit)
+#define InheritGetFaceList ((FSBGetFaceListProc) _XtInherit)
+#define InheritUndefUnusedFonts ((FSBUndefUnusedFontsProc) _XtInherit)
+#define InheritDownloadFontName ((FSBDownloadFontNameProc) _XtInherit)
+#define InheritMatchFontFace ((FSBMatchFontFaceProc) _XtInherit)
+#define InheritFontNameToFamilyFace ((FSBFontNameToFamilyFaceProc) _XtInherit)
+#define InheritFontFamilyFaceToName ((FSBFontFamilyFaceToNameProc) _XtInherit)
+#define InheritFindAFM ((FSBFindAFMProc) _XtInherit)
+#define InheritFindFontFile ((FSBFindFontFileProc) _XtInherit)
+#define InheritGetTextDimensions ((FSBGetTextDimensionsProc) _XtInherit)
+#define InheritSetFontFamilyFaceBlend \
+ ((FSBSetFontFamilyFaceBlendProc) _XtInherit)
+#define InheritFontNameToFamilyFaceBlend \
+ ((FSBFontNameToFamilyFaceBlendProc) _XtInherit)
+#define InheritFontFamilyFaceBlendToName \
+ ((FSBFontFamilyFaceBlendToNameProc) _XtInherit)
+#define InheritGetBlendList ((FSBGetBlendListProc) _XtInherit)
+#define InheritGetBlendInfo ((FSBGetBlendInfoProc) _XtInherit)
+#define InheritChangeBlends ((FSBChangeBlendsProc) _XtInherit)
+
+typedef struct {
+ FSBSetFontNameProc set_font_name;
+ FSBSetFontFamilyFaceProc set_font_family_face;
+ FSBSetFontSizeProc set_font_size;
+ FSBRefreshFontListProc refresh_font_list;
+ FSBGetFamilyListProc get_family_list;
+ FSBGetFaceListProc get_face_list;
+ FSBUndefUnusedFontsProc undef_unused_fonts;
+ FSBDownloadFontNameProc download_font_name;
+ FSBMatchFontFaceProc match_font_face;
+ FSBFontNameToFamilyFaceProc font_name_to_family_face;
+ FSBFontFamilyFaceToNameProc font_family_face_to_name;
+ FSBFindAFMProc find_afm;
+ FSBFindFontFileProc find_font_file;
+ FSBGetTextDimensionsProc get_text_dimensions;
+ FSBSetFontFamilyFaceBlendProc set_font_family_face_blend;
+ FSBFontNameToFamilyFaceBlendProc font_name_to_family_face_blend;
+ FSBFontFamilyFaceBlendToNameProc font_family_face_blend_to_name;
+ FSBGetBlendListProc get_blend_list;
+ FSBGetBlendInfoProc get_blend_info;
+ FSBChangeBlendsProc change_blends;
+ XtPointer extension;
+} FontSelectionBoxClassPart;
+
+typedef struct _FontSelectionBoxClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ConstraintClassPart constraint_class;
+ XmManagerClassPart manager_class;
+ FontSelectionBoxClassPart fsb_class;
+} FontSelectionBoxClassRec, *FontSelectionBoxWidgetClass;
+
+extern FontSelectionBoxClassRec fontSelectionBoxClassRec;
+
+#endif /* _FontSelectionBoxP_H */
+/* DON'T ADD ANYTHING AFTER THIS #endif */