1{%mainunit appkit.pas}
2(*
3	NSFontManager.h
4	Application Kit
5	Copyright (c) 1994-2005, Apple Computer, Inc.
6	All rights reserved.
7*)
8
9{$ifdef HEADER}
10{$ifndef NSFONTMANAGER_PAS_H}
11{$define NSFONTMANAGER_PAS_H}
12
13//#import <Foundation/NSObject.h>
14type
15  NSFontTraitMask = LongWord;
16
17  //  * Font Traits
18  //  *
19  //  * This list should be kept small since the more traits that are assigned
20  //  * to a given font, the harder it will be to map it to some other family.
21  //  * Some traits are mutually exclusive such as NSExpanded and NSCondensed.
22  //
23const
24  NSItalicFontMask = $00000001;
25  NSBoldFontMask = $00000002;
26  NSUnboldFontMask = $00000004;
27  NSNonStandardCharacterSetFontMask = $00000008;
28  NSNarrowFontMask = $00000010;
29  NSExpandedFontMask = $00000020;
30  NSCondensedFontMask = $00000040;
31  NSSmallCapsFontMask = $00000080;
32  NSPosterFontMask = $00000100;
33  NSCompressedFontMask = $00000200;
34  NSFixedPitchFontMask = $00000400;
35  NSUnitalicFontMask = $01000000;
36
37const
38  NSFontCollectionApplicationOnlyMask = 1 shl 0;
39
40  //  And these "actions" are really tag values in Font Menu cells which send any of the
41  // action messages listed above.  Normally, they're pre-defined in the font panel.
42type
43  NSFontAction = (
44    NSNoFontChangeAction = 0,
45    NSViaPanelFontAction = 1,
46    NSAddTraitFontAction = 2,
47    NSSizeUpFontAction = 3,
48    NSSizeDownFontAction = 4,
49    NSHeavierFontAction = 5,
50    NSLighterFontAction = 6,
51    NSRemoveTraitFontAction = 7
52  );
53
54
55  //  This method is perhaps inappropriately named; it is sent to the delegate of the
56  // shared NSFontPanel instance, not to the delegate of the NSFontManager.
57  //  This is the message that's propagated up the responder chain.
58
59{$endif}
60{$endif}
61
62{$ifdef FORWARD}
63  NSFontManager = class;
64
65{$endif}
66
67{$ifdef CLASSES}
68{$ifndef NSFONTMANAGER_PAS_C}
69{$define NSFONTMANAGER_PAS_C}
70
71
72  { NSFontManager }
73
74  NSFontManager = class(NSObject)
75  public
76    class function getClass: lobjc.id; override;
77    // All instance variables are private
78    class procedure setFontPanelFactory_(_factoryId: _Class);
79    class procedure setFontManagerFactory_(_factoryId: _Class);
80    constructor sharedFontManager;
81    function isMultiple: LongBool;
82    function selectedFont: lobjc.id;
83    procedure setSelectedFont_isMultiple_(_fontObj: lobjc.id; _flag: LongBool);
84    procedure setFontMenu_(_newMenu: lobjc.id);
85    function fontMenu_(_create: LongBool): lobjc.id;
86    function fontPanel_(_create: LongBool): lobjc.id;
87    function fontWithFamily_traits_weight_size_(_family: CFStringRef; _traits: NSFontTraitMask; _weight: Integer; _size: Single): lobjc.id;
88    function traitsOfFont_(_fontObj: lobjc.id): NSFontTraitMask;
89    function weightOfFont_(_fontObj: lobjc.id): Integer;
90    //  Three methods for supporting app font management.  The fonts and names used/returned
91    // by these functions are the same as those used by the NSFontPanel.  The third method
92    // below takes as input a name as returned by "availableFontFamilies" and returns an
93    // NSArray of NSArrays.  The elements of the "inner" arrays are: (0) the font's name,
94    // (1) non-family part of the name as used by NSFontPanel, (2) an NSNumber indicating
95    // the weight, and (3) an NSNumber indicating the traits.
96    function availableFonts: CFArrayRef;
97    function availableFontFamilies: CFArrayRef;
98    function availableMembersOfFontFamily_(_fam: CFStringRef): CFArrayRef;
99    function convertFont_(_fontObj: lobjc.id): lobjc.id;
100    function convertFont_toSize_(_fontObj: lobjc.id; _size: Single): lobjc.id;
101    function convertFont_toFace_(_fontObj: lobjc.id; _typeface: CFStringRef): lobjc.id;
102    function convertFont_toFamily_(_fontObj: lobjc.id; _family: CFStringRef): lobjc.id;
103    function convertFont_toHaveTrait_(_fontObj: lobjc.id; _trait: NSFontTraitMask): lobjc.id;
104    function convertFont_toNotHaveTrait_(_fontObj: lobjc.id; _trait: NSFontTraitMask): lobjc.id;
105    function convertWeight_ofFont_(_upFlag: LongBool; _fontObj: lobjc.id): lobjc.id;
106    function isEnabled: LongBool;
107    procedure setEnabled_(_flag: LongBool);
108    function action: SEL;
109    procedure setAction_(_aSelector: SEL);
110    function sendAction: LongBool;
111    procedure setDelegate_(_anObject: lobjc.id);
112    function delegate: lobjc.id;
113    function localizedNameForFamily_face_(_family: CFStringRef; _faceKey: CFStringRef): CFStringRef;
114    procedure setSelectedAttributes_isMultiple_(_attributes: CFDictionaryRef; _flag: LongBool);
115    function convertAttributes_(_attributes: CFDictionaryRef): CFDictionaryRef;
116    function availableFontNamesMatchingFontDescriptor_(_descriptor: lobjc.id): CFArrayRef;
117    function collectionNames: CFArrayRef;
118    function fontDescriptorsInCollection_(_collectionNames: CFStringRef): CFArrayRef;
119    function addCollection_options_(_collectionName: CFStringRef; _collectionOptions: Integer): LongBool;
120    function removeCollection_(_collectionName: CFStringRef): LongBool;
121    procedure addFontDescriptors_toCollection_(_descriptors: CFArrayRef; _collectionName: CFStringRef);
122    procedure removeFontDescriptor_fromCollection_(_descriptor: lobjc.id; _collection: CFStringRef);
123    function fontNamed_hasTraits_(_fName: CFStringRef; _someTraits: NSFontTraitMask): LongBool;
124    //  The following is like "availableFonts", but checks traits.  Returns an auto-released
125    // instance.  To get fonts with "non-italic" or "non-bold" combine the flags NSUnitalicFontMask
126    // and/or NSUnboldFontMask as the argument "someTraits".
127    function availableFontNamesWithTraits_(_someTraits: NSFontTraitMask): CFArrayRef;
128    //  These methods are action messages sent from Font Menu items:
129    procedure addFontTrait_(_sender: lobjc.id);
130    procedure removeFontTrait_(_sender: lobjc.id);
131    procedure modifyFontViaPanel_(_sender: lobjc.id);
132    procedure modifyFont_(_sender: lobjc.id);
133    procedure orderFrontFontPanel_(_sender: lobjc.id);
134    procedure orderFrontStylesPanel_(_sender: lobjc.id);
135  end;
136
137{$endif}
138{$endif}
139
140{$ifdef IMPLEMENTATION}
141const
142  StrNSFontManager_NSFontManager = 'NSFontManager';
143  StrNSFontManager_setFontPanelFactory_ = 'setFontPanelFactory:';
144  StrNSFontManager_setFontManagerFactory_ = 'setFontManagerFactory:';
145  StrNSFontManager_sharedFontManager = 'sharedFontManager';
146  StrNSFontManager_isMultiple = 'isMultiple';
147  StrNSFontManager_selectedFont = 'selectedFont';
148  StrNSFontManager_setSelectedFont_isMultiple_ = 'setSelectedFont:isMultiple:';
149  StrNSFontManager_setFontMenu_ = 'setFontMenu:';
150  StrNSFontManager_fontMenu_ = 'fontMenu:';
151  StrNSFontManager_fontPanel_ = 'fontPanel:';
152  StrNSFontManager_fontWithFamily_traits_weight_size_ = 'fontWithFamily:traits:weight:size:';
153  StrNSFontManager_traitsOfFont_ = 'traitsOfFont:';
154  StrNSFontManager_weightOfFont_ = 'weightOfFont:';
155  StrNSFontManager_availableFonts = 'availableFonts';
156  StrNSFontManager_availableFontFamilies = 'availableFontFamilies';
157  StrNSFontManager_availableMembersOfFontFamily_ = 'availableMembersOfFontFamily:';
158  StrNSFontManager_convertFont_ = 'convertFont:';
159  StrNSFontManager_convertFont_toSize_ = 'convertFont:toSize:';
160  StrNSFontManager_convertFont_toFace_ = 'convertFont:toFace:';
161  StrNSFontManager_convertFont_toFamily_ = 'convertFont:toFamily:';
162  StrNSFontManager_convertFont_toHaveTrait_ = 'convertFont:toHaveTrait:';
163  StrNSFontManager_convertFont_toNotHaveTrait_ = 'convertFont:toNotHaveTrait:';
164  StrNSFontManager_convertWeight_ofFont_ = 'convertWeight:ofFont:';
165  StrNSFontManager_isEnabled = 'isEnabled';
166  StrNSFontManager_setEnabled_ = 'setEnabled:';
167  StrNSFontManager_action = 'action';
168  StrNSFontManager_setAction_ = 'setAction:';
169  StrNSFontManager_sendAction = 'sendAction';
170  StrNSFontManager_setDelegate_ = 'setDelegate:';
171  StrNSFontManager_delegate = 'delegate';
172  StrNSFontManager_localizedNameForFamily_face_ = 'localizedNameForFamily:face:';
173  StrNSFontManager_setSelectedAttributes_isMultiple_ = 'setSelectedAttributes:isMultiple:';
174  StrNSFontManager_convertAttributes_ = 'convertAttributes:';
175  StrNSFontManager_availableFontNamesMatchingFontDescriptor_ = 'availableFontNamesMatchingFontDescriptor:';
176  StrNSFontManager_collectionNames = 'collectionNames';
177  StrNSFontManager_fontDescriptorsInCollection_ = 'fontDescriptorsInCollection:';
178  StrNSFontManager_addCollection_options_ = 'addCollection:options:';
179  StrNSFontManager_removeCollection_ = 'removeCollection:';
180  StrNSFontManager_addFontDescriptors_toCollection_ = 'addFontDescriptors:toCollection:';
181  StrNSFontManager_removeFontDescriptor_fromCollection_ = 'removeFontDescriptor:fromCollection:';
182
183  StrNSFontManager_fontNamed_hasTraits_ = 'fontNamed:hasTraits:';
184  StrNSFontManager_availableFontNamesWithTraits_ = 'availableFontNamesWithTraits:';
185  StrNSFontManager_addFontTrait_ = 'addFontTrait:';
186  StrNSFontManager_removeFontTrait_ = 'removeFontTrait:';
187  StrNSFontManager_modifyFontViaPanel_ = 'modifyFontViaPanel:';
188  StrNSFontManager_modifyFont_ = 'modifyFont:';
189  StrNSFontManager_orderFrontFontPanel_ = 'orderFrontFontPanel:';
190  StrNSFontManager_orderFrontStylesPanel_ = 'orderFrontStylesPanel:';
191
192{ NSFontManager }
193
194class function NSFontManager.getClass: lobjc.id;
195begin
196  Result := objc_getClass(StrNSFontManager_NSFontManager);
197end;
198
199class procedure NSFontManager.setFontPanelFactory_(_factoryId: _Class);
200type
201  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_factoryId: _Class);cdecl;
202var
203  vmethod: TmsgSendWrapper;
204begin
205  vmethod := TmsgSendWrapper(@objc_msgSend);
206  vmethod(getClass, sel_registerName(PChar(StrNSFontManager_setFontPanelFactory_)), _factoryId);
207end;
208
209class procedure NSFontManager.setFontManagerFactory_(_factoryId: _Class);
210type
211  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_factoryId: _Class);cdecl;
212var
213  vmethod: TmsgSendWrapper;
214begin
215  vmethod := TmsgSendWrapper(@objc_msgSend);
216  vmethod(getClass, sel_registerName(PChar(StrNSFontManager_setFontManagerFactory_)), _factoryId);
217end;
218
219constructor NSFontManager.sharedFontManager;
220type
221  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL): lobjc.id;cdecl;
222var
223  vmethod: TmsgSendWrapper;
224begin
225  ClassID := getClass();
226  vmethod := TmsgSendWrapper(@objc_msgSend);
227  Handle := vmethod(ClassID, sel_registerName(PChar(StrNSFontManager_sharedFontManager)));
228end;
229
230function NSFontManager.isMultiple: LongBool;
231begin
232  Result := {%H-}LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_isMultiple)), []));
233end;
234
235function NSFontManager.selectedFont: lobjc.id;
236begin
237  Result := lobjc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_selectedFont)), []));
238end;
239
240procedure NSFontManager.setSelectedFont_isMultiple_(_fontObj: lobjc.id; _flag: LongBool);
241type
242  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id; _flag: LongBool);cdecl;
243var
244  vmethod: TmsgSendWrapper;
245begin
246  vmethod := TmsgSendWrapper(@objc_msgSend);
247  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_setSelectedFont_isMultiple_)), _fontObj, _flag);
248end;
249
250procedure NSFontManager.setFontMenu_(_newMenu: lobjc.id);
251type
252  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_newMenu: lobjc.id);cdecl;
253var
254  vmethod: TmsgSendWrapper;
255begin
256  vmethod := TmsgSendWrapper(@objc_msgSend);
257  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_setFontMenu_)), _newMenu);
258end;
259
260function NSFontManager.fontMenu_(_create: LongBool): lobjc.id;
261type
262  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_create: LongBool): lobjc.id;cdecl;
263var
264  vmethod: TmsgSendWrapper;
265begin
266  vmethod := TmsgSendWrapper(@objc_msgSend);
267  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_fontMenu_)), _create));
268end;
269
270function NSFontManager.fontPanel_(_create: LongBool): lobjc.id;
271type
272  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_create: LongBool): lobjc.id;cdecl;
273var
274  vmethod: TmsgSendWrapper;
275begin
276  vmethod := TmsgSendWrapper(@objc_msgSend);
277  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_fontPanel_)), _create));
278end;
279
280function NSFontManager.fontWithFamily_traits_weight_size_(_family: CFStringRef; _traits: NSFontTraitMask; _weight: Integer; _size: Single): lobjc.id;
281type
282  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_family: CFStringRef; _traits: NSFontTraitMask; _weight: Integer; _size: Single): lobjc.id;cdecl;
283var
284  vmethod: TmsgSendWrapper;
285begin
286  vmethod := TmsgSendWrapper(@objc_msgSend);
287  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_fontWithFamily_traits_weight_size_)), _family, _traits, _weight, _size));
288end;
289
290function NSFontManager.traitsOfFont_(_fontObj: lobjc.id): NSFontTraitMask;
291type
292  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id): NSFontTraitMask;cdecl;
293var
294  vmethod: TmsgSendWrapper;
295begin
296  vmethod := TmsgSendWrapper(@objc_msgSend);
297  Result := NSFontTraitMask(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_traitsOfFont_)), _fontObj));
298end;
299
300function NSFontManager.weightOfFont_(_fontObj: lobjc.id): Integer;
301type
302  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id): Integer;cdecl;
303var
304  vmethod: TmsgSendWrapper;
305begin
306  vmethod := TmsgSendWrapper(@objc_msgSend);
307  Result := Integer(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_weightOfFont_)), _fontObj));
308end;
309
310function NSFontManager.availableFonts: CFArrayRef;
311begin
312  Result := CFArrayRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_availableFonts)), []));
313end;
314
315function NSFontManager.availableFontFamilies: CFArrayRef;
316begin
317  Result := CFArrayRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_availableFontFamilies)), []));
318end;
319
320function NSFontManager.availableMembersOfFontFamily_(_fam: CFStringRef): CFArrayRef;
321type
322  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fam: CFStringRef): CFArrayRef;cdecl;
323var
324  vmethod: TmsgSendWrapper;
325begin
326  vmethod := TmsgSendWrapper(@objc_msgSend);
327  Result := CFArrayRef(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_availableMembersOfFontFamily_)), _fam));
328end;
329
330function NSFontManager.convertFont_(_fontObj: lobjc.id): lobjc.id;
331type
332  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id): lobjc.id;cdecl;
333var
334  vmethod: TmsgSendWrapper;
335begin
336  vmethod := TmsgSendWrapper(@objc_msgSend);
337  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertFont_)), _fontObj));
338end;
339
340function NSFontManager.convertFont_toSize_(_fontObj: lobjc.id; _size: Single): lobjc.id;
341type
342  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id; _size: Single): lobjc.id;cdecl;
343var
344  vmethod: TmsgSendWrapper;
345begin
346  vmethod := TmsgSendWrapper(@objc_msgSend);
347  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertFont_toSize_)), _fontObj, _size));
348end;
349
350function NSFontManager.convertFont_toFace_(_fontObj: lobjc.id; _typeface: CFStringRef): lobjc.id;
351type
352  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id; _typeface: CFStringRef): lobjc.id;cdecl;
353var
354  vmethod: TmsgSendWrapper;
355begin
356  vmethod := TmsgSendWrapper(@objc_msgSend);
357  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertFont_toFace_)), _fontObj, _typeface));
358end;
359
360function NSFontManager.convertFont_toFamily_(_fontObj: lobjc.id; _family: CFStringRef): lobjc.id;
361type
362  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id; _family: CFStringRef): lobjc.id;cdecl;
363var
364  vmethod: TmsgSendWrapper;
365begin
366  vmethod := TmsgSendWrapper(@objc_msgSend);
367  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertFont_toFamily_)), _fontObj, _family));
368end;
369
370function NSFontManager.convertFont_toHaveTrait_(_fontObj: lobjc.id; _trait: NSFontTraitMask): lobjc.id;
371type
372  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id; _trait: NSFontTraitMask): lobjc.id;cdecl;
373var
374  vmethod: TmsgSendWrapper;
375begin
376  vmethod := TmsgSendWrapper(@objc_msgSend);
377  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertFont_toHaveTrait_)), _fontObj, _trait));
378end;
379
380function NSFontManager.convertFont_toNotHaveTrait_(_fontObj: lobjc.id; _trait: NSFontTraitMask): lobjc.id;
381type
382  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fontObj: lobjc.id; _trait: NSFontTraitMask): lobjc.id;cdecl;
383var
384  vmethod: TmsgSendWrapper;
385begin
386  vmethod := TmsgSendWrapper(@objc_msgSend);
387  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertFont_toNotHaveTrait_)), _fontObj, _trait));
388end;
389
390function NSFontManager.convertWeight_ofFont_(_upFlag: LongBool; _fontObj: lobjc.id): lobjc.id;
391type
392  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_upFlag: LongBool; _fontObj: lobjc.id): lobjc.id;cdecl;
393var
394  vmethod: TmsgSendWrapper;
395begin
396  vmethod := TmsgSendWrapper(@objc_msgSend);
397  Result := lobjc.id(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertWeight_ofFont_)), _upFlag, _fontObj));
398end;
399
400function NSFontManager.isEnabled: LongBool;
401begin
402  Result := {%H-}LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_isEnabled)), []));
403end;
404
405procedure NSFontManager.setEnabled_(_flag: LongBool);
406type
407  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_flag: LongBool);cdecl;
408var
409  vmethod: TmsgSendWrapper;
410begin
411  vmethod := TmsgSendWrapper(@objc_msgSend);
412  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_setEnabled_)), _flag);
413end;
414
415function NSFontManager.action: SEL;
416begin
417  Result := SEL(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_action)), []));
418end;
419
420procedure NSFontManager.setAction_(_aSelector: SEL);
421type
422  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_aSelector: SEL);cdecl;
423var
424  vmethod: TmsgSendWrapper;
425begin
426  vmethod := TmsgSendWrapper(@objc_msgSend);
427  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_setAction_)), _aSelector);
428end;
429
430function NSFontManager.sendAction: LongBool;
431begin
432  Result := {%H-}LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_sendAction)), []));
433end;
434
435procedure NSFontManager.setDelegate_(_anObject: lobjc.id);
436type
437  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_anObject: lobjc.id);cdecl;
438var
439  vmethod: TmsgSendWrapper;
440begin
441  vmethod := TmsgSendWrapper(@objc_msgSend);
442  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_setDelegate_)), _anObject);
443end;
444
445function NSFontManager.delegate: lobjc.id;
446begin
447  Result := lobjc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_delegate)), []));
448end;
449
450function NSFontManager.localizedNameForFamily_face_(_family: CFStringRef; _faceKey: CFStringRef): CFStringRef;
451type
452  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_family: CFStringRef; _faceKey: CFStringRef): CFStringRef;cdecl;
453var
454  vmethod: TmsgSendWrapper;
455begin
456  vmethod := TmsgSendWrapper(@objc_msgSend);
457  Result := CFStringRef(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_localizedNameForFamily_face_)), _family, _faceKey));
458end;
459
460procedure NSFontManager.setSelectedAttributes_isMultiple_(_attributes: CFDictionaryRef; _flag: LongBool);
461type
462  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_attributes: CFDictionaryRef; _flag: LongBool);cdecl;
463var
464  vmethod: TmsgSendWrapper;
465begin
466  vmethod := TmsgSendWrapper(@objc_msgSend);
467  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_setSelectedAttributes_isMultiple_)), _attributes, _flag);
468end;
469
470function NSFontManager.convertAttributes_(_attributes: CFDictionaryRef): CFDictionaryRef;
471type
472  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_attributes: CFDictionaryRef): CFDictionaryRef;cdecl;
473var
474  vmethod: TmsgSendWrapper;
475begin
476  vmethod := TmsgSendWrapper(@objc_msgSend);
477  Result := CFDictionaryRef(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_convertAttributes_)), _attributes));
478end;
479
480function NSFontManager.availableFontNamesMatchingFontDescriptor_(_descriptor: lobjc.id): CFArrayRef;
481type
482  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_descriptor: lobjc.id): CFArrayRef;cdecl;
483var
484  vmethod: TmsgSendWrapper;
485begin
486  vmethod := TmsgSendWrapper(@objc_msgSend);
487  Result := CFArrayRef(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_availableFontNamesMatchingFontDescriptor_)), _descriptor));
488end;
489
490function NSFontManager.collectionNames: CFArrayRef;
491begin
492  Result := CFArrayRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSFontManager_collectionNames)), []));
493end;
494
495function NSFontManager.fontDescriptorsInCollection_(_collectionNames: CFStringRef): CFArrayRef;
496type
497  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_collectionNames: CFStringRef): CFArrayRef;cdecl;
498var
499  vmethod: TmsgSendWrapper;
500begin
501  vmethod := TmsgSendWrapper(@objc_msgSend);
502  Result := CFArrayRef(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_fontDescriptorsInCollection_)), _collectionNames));
503end;
504
505function NSFontManager.addCollection_options_(_collectionName: CFStringRef; _collectionOptions: Integer): LongBool;
506type
507  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_collectionName: CFStringRef; _collectionOptions: Integer): LongBool;cdecl;
508var
509  vmethod: TmsgSendWrapper;
510begin
511  vmethod := TmsgSendWrapper(@objc_msgSend);
512  Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_addCollection_options_)), _collectionName, _collectionOptions));
513end;
514
515function NSFontManager.removeCollection_(_collectionName: CFStringRef): LongBool;
516type
517  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_collectionName: CFStringRef): LongBool;cdecl;
518var
519  vmethod: TmsgSendWrapper;
520begin
521  vmethod := TmsgSendWrapper(@objc_msgSend);
522  Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_removeCollection_)), _collectionName));
523end;
524
525procedure NSFontManager.addFontDescriptors_toCollection_(_descriptors: CFArrayRef; _collectionName: CFStringRef);
526type
527  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_descriptors: CFArrayRef; _collectionName: CFStringRef);cdecl;
528var
529  vmethod: TmsgSendWrapper;
530begin
531  vmethod := TmsgSendWrapper(@objc_msgSend);
532  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_addFontDescriptors_toCollection_)), _descriptors, _collectionName);
533end;
534
535procedure NSFontManager.removeFontDescriptor_fromCollection_(_descriptor: lobjc.id; _collection: CFStringRef);
536type
537  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_descriptor: lobjc.id; _collection: CFStringRef);cdecl;
538var
539  vmethod: TmsgSendWrapper;
540begin
541  vmethod := TmsgSendWrapper(@objc_msgSend);
542  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_removeFontDescriptor_fromCollection_)), _descriptor, _collection);
543end;
544
545function NSFontManager.fontNamed_hasTraits_(_fName: CFStringRef; _someTraits: NSFontTraitMask): LongBool;
546type
547  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_fName: CFStringRef; _someTraits: NSFontTraitMask): LongBool;cdecl;
548var
549  vmethod: TmsgSendWrapper;
550begin
551  vmethod := TmsgSendWrapper(@objc_msgSend);
552  Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_fontNamed_hasTraits_)), _fName, _someTraits));
553end;
554
555function NSFontManager.availableFontNamesWithTraits_(_someTraits: NSFontTraitMask): CFArrayRef;
556type
557  TmsgSendWrapper = function (param1: lobjc.id; param2: SEL;_someTraits: NSFontTraitMask): CFArrayRef;cdecl;
558var
559  vmethod: TmsgSendWrapper;
560begin
561  vmethod := TmsgSendWrapper(@objc_msgSend);
562  Result := CFArrayRef(vmethod(Handle, sel_registerName(PChar(StrNSFontManager_availableFontNamesWithTraits_)), _someTraits));
563end;
564
565procedure NSFontManager.addFontTrait_(_sender: lobjc.id);
566type
567  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_sender: lobjc.id);cdecl;
568var
569  vmethod: TmsgSendWrapper;
570begin
571  vmethod := TmsgSendWrapper(@objc_msgSend);
572  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_addFontTrait_)), _sender);
573end;
574
575procedure NSFontManager.removeFontTrait_(_sender: lobjc.id);
576type
577  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_sender: lobjc.id);cdecl;
578var
579  vmethod: TmsgSendWrapper;
580begin
581  vmethod := TmsgSendWrapper(@objc_msgSend);
582  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_removeFontTrait_)), _sender);
583end;
584
585procedure NSFontManager.modifyFontViaPanel_(_sender: lobjc.id);
586type
587  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_sender: lobjc.id);cdecl;
588var
589  vmethod: TmsgSendWrapper;
590begin
591  vmethod := TmsgSendWrapper(@objc_msgSend);
592  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_modifyFontViaPanel_)), _sender);
593end;
594
595procedure NSFontManager.modifyFont_(_sender: lobjc.id);
596type
597  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_sender: lobjc.id);cdecl;
598var
599  vmethod: TmsgSendWrapper;
600begin
601  vmethod := TmsgSendWrapper(@objc_msgSend);
602  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_modifyFont_)), _sender);
603end;
604
605procedure NSFontManager.orderFrontFontPanel_(_sender: lobjc.id);
606type
607  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_sender: lobjc.id);cdecl;
608var
609  vmethod: TmsgSendWrapper;
610begin
611  vmethod := TmsgSendWrapper(@objc_msgSend);
612  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_orderFrontFontPanel_)), _sender);
613end;
614
615procedure NSFontManager.orderFrontStylesPanel_(_sender: lobjc.id);
616type
617  TmsgSendWrapper = procedure (param1: lobjc.id; param2: SEL;_sender: lobjc.id);cdecl;
618var
619  vmethod: TmsgSendWrapper;
620begin
621  vmethod := TmsgSendWrapper(@objc_msgSend);
622  vmethod(Handle, sel_registerName(PChar(StrNSFontManager_orderFrontStylesPanel_)), _sender);
623end;
624
625{$endif}
626