/usr/include/Xm/FontSP.h is in libmotif-dev 2.3.4-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | /*
* Motif
*
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these librararies and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*
*/
#ifndef _XmFontSelectorP_h
#define _XmFontSelectorP_h
#if defined(VMS) || defined(__VMS)
#include <X11/apienvset.h>
#endif
/************************************************************
* INCLUDE FILES
*************************************************************/
#include <Xm/ManagerP.h>
#include <Xm/PanedP.h>
#include <Xm/FontS.h>
#ifdef __cplusplus
extern "C" {
#endif
#define XmFontSelectorIndex (XmPanedIndex + 1)
#define XmFontS_current_font(w) (((XmFontSelectorWidget)(w))->fs.current_font)
#define XmFontS_show_font_name(w) (((XmFontSelectorWidget)(w))->fs.show_font_name)
#define XmFontS_iso_fonts_only(w) (((XmFontSelectorWidget)(w))->fs.iso_fonts_only)
#define XmFontS_use_scaling(w) (((XmFontSelectorWidget)(w))->fs.use_scaling)
#define XmFontS_text_rows(w) (((XmFontSelectorWidget)(w))->fs.text_rows)
#define XmFontS_font_changed_callback(w) (((XmFontSelectorWidget)(w))->fs.font_changed_callback)
#define XmFontS_strings(w) (((XmFontSelectorWidget)(w))->fs.strings)
#define XmFontS_xlfd_mode(w) (((XmFontSelectorWidget)(w))->fs.xlfd_mode)
#define XmFontS_font_info(w) (((XmFontSelectorWidget)(w))->fs.font_info)
#define XmFontS_text(w) (((XmFontSelectorWidget)(w))->fs.text)
#define XmFontS_name_label(w) (((XmFontSelectorWidget)(w))->fs.name_label)
#define XmFontS_middle_pane(w) (((XmFontSelectorWidget)(w))->fs.middle_pane)
#define XmFontS_family_box(w) (((XmFontSelectorWidget)(w))->fs.family_box)
#define XmFontS_size_box(w) (((XmFontSelectorWidget)(w))->fs.size_box)
#define XmFontS_bold_toggle(w) (((XmFontSelectorWidget)(w))->fs.bold_toggle)
#define XmFontS_italic_toggle(w) (((XmFontSelectorWidget)(w))->fs.italic_toggle)
#define XmFontS_xlfd_toggle(w) (((XmFontSelectorWidget)(w))->fs.xlfd_toggle)
#define XmFontS_other_toggle(w) (((XmFontSelectorWidget)(w))->fs.other_toggle)
#define XmFontS_show_font_toggle(w) (((XmFontSelectorWidget)(w))->fs.show_font_toggle)
#define XmFontS_use_scaling_toggle(w) (((XmFontSelectorWidget)(w))->fs.use_scaling_toggle)
#define XmFontS_option_menu(w) (((XmFontSelectorWidget)(w))->fs.option_menu)
#define XmFontS_encoding_menu_shell(w) (((XmFontSelectorWidget)(w))->fs.encoding_menu_shell)
#define XmFontS_xlfd_only(w) (((XmFontSelectorWidget)(w))->fs.xlfd_only)
#define XmFontS_xlfd_sensitive(w) (((XmFontSelectorWidget)(w))->fs.xlfd_sensitive)
#define XmFontS_num_xlfd_only(w) (((XmFontSelectorWidget)(w))->fs.num_xlfd_only)
#define XmFontS_num_xlfd_sensitive(w) (((XmFontSelectorWidget)(w))->fs.num_xlfd_sensitive)
#define XmFontS_alloc_xlfd_only(w) (((XmFontSelectorWidget)(w))->fs.alloc_xlfd_only)
#define XmFontS_alloc_xlfd_sensitive(w) (((XmFontSelectorWidget)(w))->fs.alloc_xlfd_sensitive)
#define XmFontS_user_state(w) (((XmFontSelectorWidget)(w))->fs.user_state)
#define XmFontS_current_text(w) (((XmFontSelectorWidget)(w))->fs.current_text)
#define XmFontS_get_font(w) (((XmFontSelectorWidget)(w))->fs.get_font)
#define XmFontS_encoding(w) (((XmFontSelectorWidget)(w))->fs.encoding)
#define XmFontS_old_fontlist(w) (((XmFontSelectorWidget)(w))->fs.old_fontlist)
#define XmFontS_old_fontdata(w) (((XmFontSelectorWidget)(w))->fs.old_fontdata)
#define XmFontS_dpi75(w) (((XmFontSelectorWidget)(w))->fs.dpi75)
#define XmFontS_dpi100(w) (((XmFontSelectorWidget)(w))->fs.dpi100)
#define XmFontS_dpiAny(w) (((XmFontSelectorWidget)(w))->fs.dpiAny)
#define XmFontS_proportional(w) (((XmFontSelectorWidget)(w))->fs.proportional)
#define XmFontS_monospace(w) (((XmFontSelectorWidget)(w))->fs.monospace)
#define XmFontS_any_spacing(w) (((XmFontSelectorWidget)(w))->fs.any_spacing)
#define SAMPLE_TEXT(fsw) (XmFontS_strings((fsw)).sample_text)
#define ANY_STRING(fsw) (XmFontS_strings((fsw)).any)
#define LOWER_ANY_STRING(fsw) (XmFontS_strings((fsw)).lower_any)
#define FAMILY_STRING(fsw) (XmFontS_strings((fsw)).family)
#define SIZE_STRING(fsw) (XmFontS_strings((fsw)).size)
#define BOLD_STRING(fsw) (XmFontS_strings((fsw)).bold)
#define ITALIC_STRING(fsw) (XmFontS_strings((fsw)).italic)
#define OPTION_STRING(fsw) (XmFontS_strings((fsw)).option)
#define BOTH_STRING(fsw) (XmFontS_strings((fsw)).both)
#define MONO_SPACE_STRING(fsw) (XmFontS_strings((fsw)).mono_space)
#define PROPORTIONAL_STRING(fsw)(XmFontS_strings((fsw)).prop_space)
#define XLFD_STRING(fsw) (XmFontS_strings((fsw)).xlfd)
#define OTHER_FONT_STRING(fsw) (XmFontS_strings((fsw)).other_font)
#define DPI75_STRING(fsw) (XmFontS_strings((fsw)).dpi_75)
#define DPI100_STRING(fsw) (XmFontS_strings((fsw)).dpi_100)
#define SCALING_STRING(fsw) (XmFontS_strings((fsw)).scaling)
#define SHOW_NAME_STRING(fsw) (XmFontS_strings((fsw)).show_name)
#define ENCODING_ONLY_STRING(fsw) (XmFontS_strings((fsw)).encoding_only)
#define ENCODING_LIST(fsw) (XmFontS_strings((fsw)).encoding_list)
#define ENCODING_STRING(fsw) XmFontS_encoding((fsw))
/* this structure provides the table for font selection */
#define WEIGHT_LEN 15
#define SLANT_LEN 3
#define SPACING_LEN 3
typedef unsigned char Flag;
typedef unsigned int LongFlag;
#define FIXED ((Flag) 1 << 0)
#define BOLD ((Flag) 1 << 1)
#define ITALIC ((Flag) 1 << 2)
#define PROPORTIONAL ((Flag) 1 << 3)
#define SCALED_75 ((Flag) 1 << 4)
#define SCALED_100 ((Flag) 1 << 5)
#define DPI_75 ((Flag) 1 << 6)
#define DPI_100 ((Flag) 1 << 7)
/*
* This allows me to reuse flag bits in the user_state since
* ISO is never set in the user state.
*/
#define USER_PROPORTIONAL PROPORTIONAL
#define USER_FIXED FIXED
typedef struct _FontData {
XrmQuark familyq; /* quarkified family name. */
XrmQuark weightq; /* quarkified weight name. */
char slant[SLANT_LEN + 1];
char spacing[SPACING_LEN + 1];
short resolution_x, resolution_y;
short point_size;
XrmQuark encoding;
Flag state;
} FontData;
typedef struct FamilyInfo {
XrmQuark nameq; /* quarkified family name. */
XrmQuark bold_nameq, medium_nameq;
XrmQuark italic_nameq, upright_nameq;
char fixed_spacing[SPACING_LEN + 1];
LongFlag sizes_75, sizes_100;
Flag state;
XrmQuark *encodings;
int encoding_alloc;
} FamilyInfo;
typedef struct FontInfo {
FontData *current_font;
String *others;
FamilyInfo *family_info;
short num_others;
short num_families;
short resolution;
} FontInfo;
typedef struct _XmFontSelStringInfo {
XmString sample_text;
XmString any, lower_any;
XmString family, size;
XmString bold, italic, option, both;
XmString mono_space, prop_space;
XmString xlfd, other_font;
XmString dpi_75, dpi_100;
XmString scaling, encoding_only, show_name;
String *encoding_list;
} XmFontSelStringInfo;
/************************************************************
* TYPEDEFS AND DEFINES
*************************************************************/
typedef struct _FontSelectorClassPart
{
XtPointer extension; /* For later use. */
} FontSelectorClassPart;
typedef struct _XmFontSelectorClassRec
{
CoreClassPart core_class;
CompositeClassPart composite_class;
ConstraintClassPart constraint_class;
XmManagerClassPart manager_class;
XmPanedClassPart paned_class;
FontSelectorClassPart font_selector_class;
} XmFontSelectorClassRec;
typedef struct _XmFontSelectorPart
{
/* Resources */
String current_font; /* The currently shown font. */
Boolean show_font_name; /* show the font name window? */
Boolean iso_fonts_only; /* show only iso fonts? */
Boolean use_scaling; /* use font scaling? */
Dimension text_rows; /* The number of text rows to display*/
XtCallbackList font_changed_callback; /* when font changes. */
XmFontSelStringInfo strings; /* The font selectors external strings. */
/* Private Data */
Boolean xlfd_mode; /* True if we are int xlfd mode. */
FontInfo *font_info; /* The font information. */
Widget text, name_label; /* Text and label widget below top area. */
Widget middle_pane; /* The option info middle pane. */
Widget family_box; /* The family choices combo box. */
Widget size_box; /* The family choices combo box. */
Widget bold_toggle, italic_toggle; /* The bold and italic toggle buttons */
Widget xlfd_toggle, other_toggle; /* The xlfd and other font toggles. */
Widget show_font_toggle, use_scaling_toggle;
Widget option_menu; /* The option menu. */
Widget encoding_menu_shell; /* The menu shell associated with the */
/* encoding menu. */
WidgetList xlfd_only; /* Only visable when in xlfd mode. */
WidgetList xlfd_sensitive; /* Only sensitive when in xlfd mode. */
char num_xlfd_only, num_xlfd_sensitive;
char alloc_xlfd_only, alloc_xlfd_sensitive;
Flag user_state; /* The current user selections. */
String current_text; /* The current text in the text widget. */
String get_font; /* Where to store returned get values on
current_font. */
String encoding; /* The encoding, may change. */
/*
* The previously set font_data, free when font changed, or widget
* destroyed.
*/
XmFontList old_fontlist;
XFontStruct * old_fontdata;
/*
* These values were added 2/1/94
*/
Widget dpi75, dpi100, dpiAny; /* DPI toggle buttons. */
Widget proportional, monospace, any_spacing;
/* Spacing toggle buttons */
} XmFontSelectorPart;
typedef struct _XmFontSelectorRec
{
CorePart core;
CompositePart composite;
ConstraintPart constraint;
XmManagerPart manager;
XmPanedPart paned;
XmFontSelectorPart fs;
} XmFontSelectorRec;
typedef struct _XmFontSelectorConstraintsPart
{
XtPointer dummy;
} XmFontSelectorConstraintsPart;
typedef struct _XmFontSelectorConstraintsRec
{
XmManagerConstraintPart manager;
XmPanedConstraintsPart paned;
XmFontSelectorConstraintsPart fs;
} XmFontSelectorConstraintsRec, *XmFontSelectorConstraints;
/************************************************************
* MACROS
*************************************************************/
/************************************************************
* GLOBAL DECLARATIONS
*************************************************************/
/************************************************************
* EXTERNAL DECLARATIONS
************************************************************/
/************************************************************
* STATIC DECLARATIONS
************************************************************/
extern XmFontSelectorClassRec xmFontSelectorClassRec;
#ifdef __cplusplus
} /* Closes scope of 'extern "C"' declaration */
#endif
#if defined(VMS) || defined(__VMS)
#include <X11/apienvrst.h>
#endif
#endif /* _XmFontSelectorP_h - DON'T ADD STUFF AFTER THIS #endif */
|