comparison dwt/internal/cocoa/NSParagraphStyle.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
comparison
equal deleted inserted replaced
-1:000000000000 0:380af2bdd8e5
1 /*******************************************************************************
2 * Copyright (c) 2007 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 *
11 * Port to the D Programming language:
12 * Jacob Carlborg <jacob.carlborg@gmail.com>
13 *******************************************************************************/
14 module dwt.internal.cocoa.NSParagraphStyle;
15
16 import dwt.internal.cocoa.CGFloat;
17 import dwt.internal.cocoa.NSArray;
18 import dwt.internal.cocoa.NSInteger;
19 import dwt.internal.cocoa.NSObject;
20 import dwt.internal.cocoa.NSString;
21 import dwt.internal.cocoa.NSText : NSTextAlignment;
22 import dwt.internal.cocoa.OS;
23 import objc = dwt.internal.objc.runtime;
24
25 enum NSLineBreakMode
26 {
27 NSLineBreakByWordWrapping = 0,
28 NSLineBreakByCharWrapping,
29 NSLineBreakByClipping,
30 NSLineBreakByTruncatingHead,
31 NSLineBreakByTruncatingTail,
32 NSLineBreakByTruncatingMiddle
33 }
34
35 alias NSLineBreakMode.NSLineBreakByWordWrapping NSLineBreakByWordWrapping;
36 alias NSLineBreakMode.NSLineBreakByCharWrapping NSLineBreakByCharWrapping;
37 alias NSLineBreakMode.NSLineBreakByClipping NSLineBreakByClipping;
38 alias NSLineBreakMode.NSLineBreakByTruncatingHead NSLineBreakByTruncatingHead;
39 alias NSLineBreakMode.NSLineBreakByTruncatingTail NSLineBreakByTruncatingTail;
40 alias NSLineBreakMode.NSLineBreakByTruncatingMiddle NSLineBreakByTruncatingMiddle;
41
42 public class NSParagraphStyle : NSObject
43 {
44
45 public this ()
46 {
47 super();
48 }
49
50 public this (objc.id id)
51 {
52 super(id);
53 }
54
55 public NSTextAlignment alignment ()
56 {
57 return cast(NSTextAlignment) OS.objc_msgSend(this.id, OS.sel_alignment);
58 }
59
60 public NSWritingDirection baseWritingDirection ()
61 {
62 return cast(NSWritingDirection) OS.objc_msgSend(this.id, OS.sel_baseWritingDirection);
63 }
64
65 public static NSParagraphStyle defaultParagraphStyle ()
66 {
67 objc.id result = OS.objc_msgSend(OS.class_NSParagraphStyle, OS.sel_defaultParagraphStyle);
68 return result !is null ? new NSParagraphStyle(result) : null;
69 }
70
71 public CGFloat defaultTabInterval ()
72 {
73 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_defaultTabInterval);
74 }
75
76 public static NSWritingDirection defaultWritingDirectionForLanguage (NSString languageName)
77 {
78 return cast(NSWritingDirection) OS.objc_msgSend(OS.class_NSParagraphStyle, OS.sel_defaultWritingDirectionForLanguage_1,
79 languageName !is null ? languageName.id : null);
80 }
81
82 public CGFloat firstLineHeadIndent ()
83 {
84 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_firstLineHeadIndent);
85 }
86
87 public CGFloat headIndent ()
88 {
89 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_headIndent);
90 }
91
92 public NSInteger headerLevel ()
93 {
94 return OS.objc_msgSend(this.id, OS.sel_headerLevel);
95 }
96
97 public float hyphenationFactor ()
98 {
99 return cast(float) OS.objc_msgSend_fpret(this.id, OS.sel_hyphenationFactor);
100 }
101
102 public NSLineBreakMode lineBreakMode ()
103 {
104 return OS.objc_msgSend(this.id, OS.sel_lineBreakMode);
105 }
106
107 public CGFloat lineHeightMultiple ()
108 {
109 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_lineHeightMultiple);
110 }
111
112 public CGFloat lineSpacing ()
113 {
114 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_lineSpacing);
115 }
116
117 public CGFloat maximumLineHeight ()
118 {
119 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_maximumLineHeight);
120 }
121
122 public CGFloat minimumLineHeight ()
123 {
124 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_minimumLineHeight);
125 }
126
127 public CGFloat paragraphSpacing ()
128 {
129 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_paragraphSpacing);
130 }
131
132 public CGFloat paragraphSpacingBefore ()
133 {
134 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_paragraphSpacingBefore);
135 }
136
137 public NSArray tabStops ()
138 {
139 objc.id result = OS.objc_msgSend(this.id, OS.sel_tabStops);
140 return result !is null ? new NSArray(result) : null;
141 }
142
143 public CGFloat tailIndent ()
144 {
145 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_tailIndent);
146 }
147
148 public NSArray textBlocks ()
149 {
150 objc.id result = OS.objc_msgSend(this.id, OS.sel_textBlocks);
151 return result !is null ? new NSArray(result) : null;
152 }
153
154 public NSArray textLists ()
155 {
156 objc.id result = OS.objc_msgSend(this.id, OS.sel_textLists);
157 return result !is null ? new NSArray(result) : null;
158 }
159
160 public float tighteningFactorForTruncation ()
161 {
162 return cast(float) OS.objc_msgSend_fpret(this.id, OS.sel_tighteningFactorForTruncation);
163 }
164
165 }