File: ATSUI.pxi

package info (click to toggle)
python-enable 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 7,220 kB
  • sloc: cpp: 57,417; python: 28,437; makefile: 314; sh: 43
file content (423 lines) | stat: -rw-r--r-- 14,672 bytes parent folder | download
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
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
# :Author:    Robert Kern
# :Copyright: 2006, Enthought, Inc.
# :License:   BSD Style


cdef extern from "ATSUnicode.h":

    #### Types #################################################################

    ctypedef unsigned int ATSUFontID
    ctypedef void* ATSUTextLayout
    ctypedef void* ATSUStyle
    ctypedef void* ATSUFontFallbacks
    ctypedef int Fixed
    Fixed FloatToFixed(float x)
    float FixedToFloat(Fixed x)
    ctypedef unsigned short ATSUFontFeatureType
    ctypedef unsigned short ATSUFontFeatureSelector
    ctypedef int ATSUAttributeTag

    ctypedef enum:
        kATSULineWidthTag
        kATSULineRotationTag
        kATSULineDirectionTag
        kATSULineJustificationFactorTag
        kATSULineFlushFactorTag
        kATSULineBaselineValuesTag
        kATSULineLayoutOptionsTag
        kATSULineAscentTag
        kATSULineDescentTag
        kATSULineLangRegionTag
        kATSULineTextLocatorTag
        kATSULineTruncationTag
        kATSULineFontFallbacksTag
        kATSULineDecimalTabCharacterTag
        kATSULayoutOperationOverrideTag
        kATSULineHighlightCGColorTag
        kATSUMaxLineTag
        kATSULineLanguageTag
        kATSUCGContextTag
        kATSUQDBoldfaceTag
        kATSUQDItalicTag
        kATSUQDUnderlineTag
        kATSUQDCondensedTag
        kATSUQDExtendedTag
        kATSUFontTag
        kATSUSizeTag
        kATSUColorTag
        kATSULangRegionTag
        kATSUVerticalCharacterTag
        kATSUImposeWidthTag
        kATSUBeforeWithStreamShiftTag
        kATSUAfterWithStreamShiftTag
        kATSUCrossStreamShiftTag
        kATSUTrackingTag
        kATSUHangingInhibitFactorTag
        kATSUKerningInhibitFactorTag
        kATSUDecompositionFactorTag
        kATSUBaselineClassTag
        kATSUPriorityJustOverrideTag
        kATSUNoLigatureSplitTag
        kATSUNoCaretAngleTag
        kATSUSuppressCrossKerningTag
        kATSUNoOpticalAlignmentTag
        kATSUForceHangingTag
        kATSUNoSpecialJustificationTag
        kATSUStyleTextLocatorTag
        kATSUStyleRenderingOptionsTag
        kATSUAscentTag
        kATSUDescentTag
        kATSULeadingTag
        kATSUGlyphSelectorTag
        kATSURGBAlphaColorTag
        kATSUStyleUnderlineCountOptionTag
        kATSUStyleUnderlineColorOptionTag
        kATSUStyleStrikeThroughTag
        kATSUStyleStrikeThroughCountOptionTag
        kATSUStyleStrikeThroughColorOptionTag
        kATSUStyleDropShadowTag
        kATSUStyleDropShadowBlurOptionTag
        kATSUStyleDropShadowOffsetOptionTag
        kATSUStyleDropShadowColorOptionTag
        kATSUMaxStyleTag
        kATSULanguageTag
        kATSUMaxATSUITagValue

    ctypedef enum:
        kFontCopyrightName
        kFontFamilyName
        kFontStyleName
        kFontUniqueName
        kFontFullName
        kFontVersionName
        kFontPostscriptName
        kFontTrademarkName
        kFontManufacturerName
        kFontDesignerName
        kFontDescriptionName
        kFontVendorURLName
        kFontDesignerURLName
        kFontLicenseDescriptionName
        kFontLicenseInfoURLName
        kFontLastReservedName

    ctypedef enum:
        kFontNoPlatformCode
        kFontNoScriptCode
        kFontNoLanguageCode

    ctypedef void* ATSUAttributeValuePtr
    ctypedef void* ConstATSUAttributeValuePtr

    ctypedef struct ATSURGBAlphaColor:
        float red
        float green
        float blue
        float alpha

    #ctypedef int OSStatus

    ctypedef enum:
        kATSULeftToRightBaseDirection = 0
        kATSURightToLeftBaseDirection = 1

    ctypedef enum:
        kATSUStartAlignment = 0x00000000
        kATSUEndAlignment = 0x40000000
        kATSUCenterAlignment = 0x20000000
        kATSUNoJustification = 0x00000000
        kATSUFullJustification = 0x40000000

    ctypedef enum:
        kATSUInvalidFontID = 0

    ctypedef enum:
        kATSUUseLineControlWidth = 0x7FFFFFFF

    ctypedef enum:
        kATSUNoSelector = 0x0000FFFF

    ctypedef enum:
        kATSUFromTextBeginning #= (unsigned long)0xFFFFFFFF
        kATSUToTextEnd #= (unsigned long)0xFFFFFFFF
        kATSUFromPreviousLayout #= (unsigned long)0xFFFFFFFE
        kATSUFromFollowingLayout #= (unsigned long)0xFFFFFFFD

    ctypedef unsigned short ATSUFontFallbackMethod
    ctypedef enum:
        kATSUDefaultFontFallbacks
        kATSULastResortOnlyFallback
        kATSUSequentialFallbacksPreferred
        kATSUSequentialFallbacksExclusive


    ctypedef unsigned int ByteCount
    ctypedef unsigned int ItemCount
    ctypedef unsigned int* ConstUniCharArrayPtr
    ctypedef unsigned int UniCharArrayOffset
    ctypedef unsigned int UniCharCount
    #ctypedef int Boolean
    ctypedef void* Ptr
    #ctypedef unsigned int UInt32
    #ctypedef unsigned short UInt16
    ctypedef UInt32 FontNameCode
    ctypedef UInt32 FontPlatformCode
    ctypedef UInt32 FontScriptCode
    ctypedef UInt32 FontLanguageCode
#    ctypedef struct QDRect "Rect":
#        short    top
#        short    left
#        short    bottom
#        short    right
    ctypedef struct FixedPoint:
      Fixed               x
      Fixed               y
    ctypedef struct FixedRect:
      Fixed               left
      Fixed               top
      Fixed               right
      Fixed               bottom
    ctypedef struct ATSTrapezoid:
      FixedPoint          upperLeft
      FixedPoint          upperRight
      FixedPoint          lowerRight
      FixedPoint          lowerLeft

    ctypedef unsigned long FourCharCode
    ctypedef FourCharCode ATSUFontVariationAxis
    ctypedef Fixed ATSUFontVariationValue
    ctypedef Fixed ATSUTextMeasurement


    #### Objects ###############################################################

    OSStatus ATSUCreateStyle(ATSUStyle * oStyle)
    OSStatus ATSUCreateAndCopyStyle(ATSUStyle iStyle, ATSUStyle* oStyle)
    OSStatus ATSUDisposeStyle(ATSUStyle iStyle)
    OSStatus ATSUSetStyleRefCon(ATSUStyle iStyle, unsigned int iRefCon)
    OSStatus ATSUGetStyleRefCon(ATSUStyle iStyle, unsigned int* oRefCon)
    OSStatus ATSUClearStyle(ATSUStyle iStyle)
    OSStatus ATSUSetAttributes(
        ATSUStyle               iStyle,
        unsigned int            iAttributeCount,
        ATSUAttributeTag *      iTag,
        ByteCount *             iValueSize,
        ATSUAttributeValuePtr * iValue)
    OSStatus ATSUGetAttribute(
        ATSUStyle               iStyle,
        ATSUAttributeTag        iTag,
        ByteCount               iExpectedValueSize,
        ATSUAttributeValuePtr   oValue,
        ByteCount *             oActualValueSize)

    OSStatus ATSUCreateTextLayout(ATSUTextLayout * oTextLayout)
    OSStatus ATSUCreateAndCopyTextLayout(
        ATSUTextLayout    iTextLayout,
        ATSUTextLayout *  oTextLayout)
    OSStatus ATSUGetLineControl(
        ATSUTextLayout          iTextLayout,
        UniCharArrayOffset      iLineStart,
        ATSUAttributeTag        iTag,
        ByteCount               iExpectedValueSize,
        ATSUAttributeValuePtr   oValue,
        ByteCount *             oActualValueSize)

    OSStatus ATSUCreateTextLayoutWithTextPtr(
        ConstUniCharArrayPtr   iText,
        UniCharArrayOffset     iTextOffset,
        UniCharCount           iTextLength,
        UniCharCount           iTextTotalLength,
        ItemCount              iNumberOfRuns,
        UniCharCount *         iRunLengths,
        ATSUStyle *            iStyles,
        ATSUTextLayout *       oTextLayout)
    OSStatus ATSUClearLayoutCache(
        ATSUTextLayout       iTextLayout,
        UniCharArrayOffset   iLineStart)
    OSStatus ATSUDisposeTextLayout(ATSUTextLayout iTextLayout)

    OSStatus ATSUSetTextPointerLocation(
      ATSUTextLayout         iTextLayout,
      ConstUniCharArrayPtr   iText,
      UniCharArrayOffset     iTextOffset,
      UniCharCount           iTextLength,
      UniCharCount           iTextTotalLength)
    OSStatus ATSUGetTextLocation(
      ATSUTextLayout        iTextLayout,
      void **               oText,
      int *             oTextIsStoredInHandle,
      UniCharArrayOffset *  oOffset,
      UniCharCount *        oTextLength,
      UniCharCount *        oTextTotalLength)

    OSStatus ATSUSetLayoutControls(
      ATSUTextLayout                iTextLayout,
      ItemCount                     iAttributeCount,
      ATSUAttributeTag *      iTag,
      ByteCount *             iValueSize,
      ATSUAttributeValuePtr * iValue)
    OSStatus ATSUGetLayoutControl(
      ATSUTextLayout          iTextLayout,
      ATSUAttributeTag        iTag,
      ByteCount               iExpectedValueSize,
      ATSUAttributeValuePtr   oValue,
      ByteCount *             oActualValueSize)

    OSStatus ATSUClearLayoutControls(
      ATSUTextLayout           iTextLayout,
      ItemCount                iTagCount,
      ATSUAttributeTag * iTag)

    OSStatus ATSUSetRunStyle(
      ATSUTextLayout       iTextLayout,
      ATSUStyle            iStyle,
      UniCharArrayOffset   iRunStart,
      UniCharCount         iRunLength)
    OSStatus ATSUGetRunStyle(
      ATSUTextLayout        iTextLayout,
      UniCharArrayOffset    iOffset,
      ATSUStyle *           oStyle,
      UniCharArrayOffset *  oRunStart,
      UniCharCount *        oRunLength)
    OSStatus ATSUGetContinuousAttributes(
      ATSUTextLayout       iTextLayout,
      UniCharArrayOffset   iOffset,
      UniCharCount         iLength,
      ATSUStyle            oStyle)

    OSStatus ATSUCreateFontFallbacks(ATSUFontFallbacks * oFontFallback)
    OSStatus ATSUDisposeFontFallbacks(ATSUFontFallbacks iFontFallbacks)
    OSStatus ATSUSetObjFontFallbacks(
      ATSUFontFallbacks        iFontFallbacks,
      ItemCount                iFontFallbacksCount,
      ATSUFontID *             iFonts,
      ATSUFontFallbackMethod   iFontFallbackMethod)
    OSStatus ATSUGetObjFontFallbacks(
      ATSUFontFallbacks         iFontFallbacks,
      ItemCount                 iMaxFontFallbacksCount,
      ATSUFontID *              oFonts,
      ATSUFontFallbackMethod *  oFontFallbackMethod,
      ItemCount *               oActualFallbacksCount)
    OSStatus ATSUSetTransientFontMatching(
      ATSUTextLayout   iTextLayout,
      Boolean          iTransientFontMatching)


    #### Fonts #################################################################

    OSStatus ATSUFontCount(ItemCount * oFontCount)
    OSStatus ATSUGetFontIDs(
      ATSUFontID * oFontIDs,
      ItemCount    iArraySize,
      ItemCount *  oFontCount)
    OSStatus ATSUCountFontNames(
      ATSUFontID   iFontID,
      ItemCount *  oFontNameCount)
    OSStatus ATSUGetIndFontName(
      ATSUFontID          iFontID,
      ItemCount           iFontNameIndex,
      ByteCount           iMaximumNameLength,
      Ptr                 oName,
      ByteCount *         oActualNameLength,
      FontNameCode *      oFontNameCode,
      FontPlatformCode *  oFontNamePlatform,
      FontScriptCode *    oFontNameScript,
      FontLanguageCode *  oFontNameLanguage)
    OSStatus ATSUFindFontName(
      ATSUFontID         iFontID,
      FontNameCode       iFontNameCode,
      FontPlatformCode   iFontNamePlatform,
      FontScriptCode     iFontNameScript,
      FontLanguageCode   iFontNameLanguage,
      ByteCount          iMaximumNameLength,
      Ptr                oName,
      ByteCount *        oActualNameLength,
      ItemCount *        oFontNameIndex)
    OSStatus ATSUFindFontFromName(
      void *       iName,
      ByteCount          iNameLength,
      FontNameCode       iFontNameCode,
      FontPlatformCode   iFontNamePlatform,
      FontScriptCode     iFontNameScript,
      FontLanguageCode   iFontNameLanguage,
      ATSUFontID *       oFontID)

    OSStatus ATSUCountFontInstances(
      ATSUFontID   iFontID,
      ItemCount *  oInstances)
    OSStatus ATSUGetFontInstance(
      ATSUFontID               iFontID,
      ItemCount                iFontInstanceIndex,
      ItemCount                iMaximumVariations,
      ATSUFontVariationAxis *  oAxes,
      ATSUFontVariationValue * oValues,
      ItemCount *              oActualVariationCount)
    OSStatus ATSUGetFontInstanceNameCode(
      ATSUFontID      iFontID,
      ItemCount       iInstanceIndex,
      FontNameCode *  oNameCode)


    #### Drawing ###############################################################

    OSStatus ATSUDrawText(
      ATSUTextLayout        iTextLayout,
      UniCharArrayOffset    iLineOffset,
      UniCharCount          iLineLength,
      ATSUTextMeasurement   iLocationX,
      ATSUTextMeasurement   iLocationY)
    OSStatus ATSUGetUnjustifiedBounds(
      ATSUTextLayout         iTextLayout,
      UniCharArrayOffset     iLineStart,
      UniCharCount           iLineLength,
      ATSUTextMeasurement *  oTextBefore,
      ATSUTextMeasurement *  oTextAfter,
      ATSUTextMeasurement *  oAscent,
      ATSUTextMeasurement *  oDescent)
    OSStatus ATSUMeasureTextImage(
      ATSUTextLayout        iTextLayout,
      UniCharArrayOffset    iLineOffset,
      UniCharCount          iLineLength,
      ATSUTextMeasurement   iLocationX,
      ATSUTextMeasurement   iLocationY,
      QDRect *                oTextImageRect)
    OSStatus ATSUGetGlyphBounds(
      ATSUTextLayout        iTextLayout,
      ATSUTextMeasurement   iTextBasePointX,
      ATSUTextMeasurement   iTextBasePointY,
      UniCharArrayOffset    iBoundsCharStart,
      UniCharCount          iBoundsCharLength,
      UInt16                iTypeOfBounds,
      ItemCount             iMaxNumberOfBounds,
      ATSTrapezoid *        oGlyphBounds,
      ItemCount *           oActualNumberOfBounds)
    OSStatus ATSUBatchBreakLines(
      ATSUTextLayout        iTextLayout,
      UniCharArrayOffset    iRangeStart,
      UniCharCount          iRangeLength,
      ATSUTextMeasurement   iLineWidth,
      ItemCount *           oBreakCount)
    OSStatus ATSUBreakLine(
      ATSUTextLayout        iTextLayout,
      UniCharArrayOffset    iLineStart,
      ATSUTextMeasurement   iLineWidth,
      Boolean               iUseAsSoftLineBreak,
      UniCharArrayOffset *  oLineBreak)
    OSStatus ATSUSetSoftLineBreak(
      ATSUTextLayout       iTextLayout,
      UniCharArrayOffset   iLineBreak)
    OSStatus ATSUGetSoftLineBreaks(
      ATSUTextLayout       iTextLayout,
      UniCharArrayOffset   iRangeStart,
      UniCharCount         iRangeLength,
      ItemCount            iMaximumBreaks,
      UniCharArrayOffset * oBreaks,
      ItemCount *          oBreakCount)
    OSStatus ATSUClearSoftLineBreaks(
      ATSUTextLayout       iTextLayout,
      UniCharArrayOffset   iRangeStart,
      UniCharCount         iRangeLength)


#### EOF #######################################################################