CTParagraphStyle.h
1 #import <CoreFoundation/CFBase.h> 2 3 #include <stdint.h> 4 5 typedef const struct __CTParagraphStyle* CTParagraphStyleRef; 6 7 typedef CF_ENUM(uint32_t, CTParagraphStyleSpecifier) { 8 kCTParagraphStyleSpecifierAlignment = 0, 9 kCTParagraphStyleSpecifierFirstLineHeadIndent = 1, 10 kCTParagraphStyleSpecifierHeadIndent = 2, 11 kCTParagraphStyleSpecifierTailIndent = 3, 12 kCTParagraphStyleSpecifierTabStops = 4, 13 kCTParagraphStyleSpecifierDefaultTabInterval = 5, 14 kCTParagraphStyleSpecifierLineBreakMode = 6, 15 kCTParagraphStyleSpecifierLineHeightMultiple = 7, 16 kCTParagraphStyleSpecifierMaximumLineHeight = 8, 17 kCTParagraphStyleSpecifierMinimumLineHeight = 9, 18 kCTParagraphStyleSpecifierLineSpacing = 10, 19 kCTParagraphStyleSpecifierParagraphSpacing = 11, 20 kCTParagraphStyleSpecifierParagraphSpacingBefore = 12, 21 kCTParagraphStyleSpecifierBaseWritingDirection = 13, 22 kCTParagraphStyleSpecifierMaximumLineSpacing = 14, 23 kCTParagraphStyleSpecifierMinimumLineSpacing = 15, 24 kCTParagraphStyleSpecifierLineSpacingAdjustment = 16, 25 kCTParagraphStyleSpecifierLineBoundsOptions = 17, 26 27 kCTParagraphStyleSpecifierCount 28 }; 29 30 typedef CF_ENUM(uint8_t, CTTextAlignment) { 31 kCTTextAlignmentLeft = 0, 32 kCTTextAlignmentRight = 1, 33 kCTTextAlignmentCenter = 2, 34 kCTTextAlignmentJustified = 3, 35 kCTTextAlignmentNatural = 4, 36 37 kCTLeftTextAlignment = kCTTextAlignmentLeft, 38 kCTRightTextAlignment = kCTTextAlignmentRight, 39 kCTCenterTextAlignment = kCTTextAlignmentCenter, 40 kCTJustifiedTextAlignment = kCTTextAlignmentJustified, 41 kCTNaturalTextAlignment = kCTTextAlignmentNatural, 42 }; 43 44 typedef CF_ENUM(uint8_t, CTLineBreakMode) { 45 kCTLineBreakByWordWrapping = 0, 46 kCTLineBreakByCharWrapping = 1, 47 kCTLineBreakByClipping = 2, 48 kCTLineBreakByTruncatingHead = 3, 49 kCTLineBreakByTruncatingTail = 4, 50 kCTLineBreakByTruncatingMiddle = 5, 51 }; 52 53 typedef CF_ENUM(int8_t, CTWritingDirection) { 54 kCTWritingDirectionNatural = -1, 55 kCTWritingDirectionLeftToRight = 0, 56 kCTWritingDirectionRightToLeft = 1, 57 }; 58 59 typedef struct CTParagraphStyleSetting { 60 CTParagraphStyleSpecifier spec; 61 size_t valueSize; 62 const void* value; 63 } CTParagraphStyleSetting; 64 65 extern CTParagraphStyleRef CTParagraphStyleCreate(const CTParagraphStyleSetting *settings, size_t settingCount); 66 extern bool CTParagraphStyleGetValueForSpecifier(CTParagraphStyleRef paragraphStyle, CTParagraphStyleSpecifier spec, size_t valueBufferSize, void *valueBuffer);