Skip to content

Commit 738d710

Browse files
committed
Added @Property to the ACS functions to better simulate the original macros
1 parent dc21221 commit 738d710

File tree

1 file changed

+43
-46
lines changed

1 file changed

+43
-46
lines changed

deimos/ncurses/curses.d

Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -160,82 +160,79 @@ __gshared chtype acs_map[256];
160160

161161

162162
/* acs symbols */
163-
///I couldn't make it perfect, this is the best that I have come up with...
164-
///Instead of calling ACS_VAR, you use ACS_VAR().
165-
///Close enough for now??
166163
/* VT100 symbols begin here */
167164

168-
auto ACS_ULCORNER()()
165+
@property auto ACS_ULCORNER()()
169166
{ return acs_map[cast(ubyte)'l']; }
170-
auto ACS_LLCORNER()()
167+
@property auto ACS_LLCORNER()()
171168
{ return acs_map[cast(ubyte)'m']; }
172-
auto ACS_URCORNER()()
169+
@property auto ACS_URCORNER()()
173170
{ return acs_map[cast(ubyte)'k']; }
174-
auto ACS_LRCORNER()()
171+
@property auto ACS_LRCORNER()()
175172
{ return acs_map[cast(ubyte)'j']; }
176-
auto ACS_LTEE()()
173+
@property auto ACS_LTEE()()
177174
{ return acs_map[cast(ubyte)'t']; }
178-
auto ACS_RTEE()()
175+
@property auto ACS_RTEE()()
179176
{ return acs_map[cast(ubyte)'u']; }
180-
auto ACS_BTEE()()
177+
@property auto ACS_BTEE()()
181178
{ return acs_map[cast(ubyte)'v']; }
182-
auto ACS_TTEE()()
179+
@property auto ACS_TTEE()()
183180
{ return acs_map[cast(ubyte)'w']; }
184-
auto ACS_HLINE()()
181+
@property auto ACS_HLINE()()
185182
{ return acs_map[cast(ubyte)'q']; }
186-
auto ACS_VLINE()()
183+
@property auto ACS_VLINE()()
187184
{ return acs_map[cast(ubyte)'x']; }
188-
auto ACS_PLUS()()
185+
@property auto ACS_PLUS()()
189186
{ return acs_map[cast(ubyte)'n']; }
190-
auto ACS_S1()()
187+
@property auto ACS_S1()()
191188
{ return acs_map[cast(ubyte)'o']; }
192-
auto ACS_S9()()
189+
@property auto ACS_S9()()
193190
{ return acs_map[cast(ubyte)'s']; }
194-
auto ACS_DIAMOND()()
191+
@property auto ACS_DIAMOND()()
195192
{ return acs_map[cast(ubyte)'`']; }
196-
auto ACS_CKBOARD()()
193+
@property auto ACS_CKBOARD()()
197194
{ return acs_map[cast(ubyte)'a']; }
198-
auto ACS_DEGREE()()
195+
@property auto ACS_DEGREE()()
199196
{ return acs_map[cast(ubyte)'f']; }
200-
auto ACS_PLMINUS()()
197+
@property auto ACS_PLMINUS()()
201198
{ return acs_map[cast(ubyte)'g']; }
202-
auto ACS_BULLET()()
199+
@property auto ACS_BULLET()()
203200
{ return acs_map[cast(ubyte)'~']; }
204201

205202
/* Teletype 5410v1 symbols begin here */
206-
auto ACS_LARROW()()
203+
@property auto ACS_LARROW()()
207204
{ return acs_map[cast(ubyte)',']; }
208-
auto ACS_RARROW()()
205+
@property auto ACS_RARROW()()
209206
{ return acs_map[cast(ubyte)'+'];}
210-
auto ACS_DARROW()()
207+
@property auto ACS_DARROW()()
211208
{ return acs_map[cast(ubyte)'.']; }
212-
auto ACS_UARROW()()
209+
@property auto ACS_UARROW()()
213210
{ return acs_map[cast(ubyte)'-']; }
214-
auto ACS_BOARD()()
211+
@property auto ACS_BOARD()()
215212
{ return acs_map[cast(ubyte)'h']; }
216-
auto ACS_LANTERN()()
213+
@property auto ACS_LANTERN()()
217214
{ return acs_map[cast(ubyte)'i']; }
218-
auto ACS_BLOCK()()
215+
@property auto ACS_BLOCK()()
219216
{ return acs_map[cast(ubyte)'0']; }
220217

221218
/*
222219
* These aren't documented, but a lot of System Vs have them anyway
223220
* (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
224221
* The ACS_names may not match AT&T's, our source didn't know them.
225222
*/
226-
auto ACS_S3()()
223+
@property auto ACS_S3()()
227224
{ return acs_map[cast(ubyte)'p']; }
228-
auto ACS_S7()()
225+
@property auto ACS_S7()()
229226
{ return acs_map[cast(ubyte)'r']; }
230-
auto ACS_LEQUAL()()
227+
@property auto ACS_LEQUAL()()
231228
{ return acs_map[cast(ubyte)'y']; }
232-
auto ACS_GEQUAL()()
229+
@property auto ACS_GEQUAL()()
233230
{ return acs_map[cast(ubyte)'z']; }
234-
auto ACS_PI()()
231+
@property auto ACS_PI()()
235232
{ return acs_map[cast(ubyte)'{']; }
236-
auto ACS_NEQUAL()()
233+
@property auto ACS_NEQUAL()()
237234
{ return acs_map[cast(ubyte)'|']; }
238-
auto ACS_STERLING()()
235+
@property auto ACS_STERLING()()
239236
{ return acs_map[cast(ubyte)'}']; }
240237

241238
/*
@@ -244,27 +241,27 @@ auto ACS_STERLING()()
244241
* be B (blank), S (single), D (double), or T (thick). The subset defined
245242
* here only uses B and S.
246243
*/
247-
auto ACS_BSSB()()
244+
@property auto ACS_BSSB()()
248245
{ return ACS_ULCORNER(); }
249-
auto ACS_SSBB()()
246+
@property auto ACS_SSBB()()
250247
{ return ACS_LLCORNER(); }
251-
auto ACS_BBSS()()
248+
@property auto ACS_BBSS()()
252249
{ return ACS_URCORNER(); }
253-
auto ACS_SBBS()()
250+
@property auto ACS_SBBS()()
254251
{ return ACS_LRCORNER(); }
255-
auto ACS_SBSS()()
252+
@property auto ACS_SBSS()()
256253
{ return ACS_RTEE(); }
257-
auto ACS_SSSB()()
254+
@property auto ACS_SSSB()()
258255
{ return ACS_LTEE(); }
259-
auto ACS_SSBS()()
256+
@property auto ACS_SSBS()()
260257
{ return ACS_BTEE(); }
261-
auto ACS_BSSS()()
258+
@property auto ACS_BSSS()()
262259
{ return ACS_TTEE(); }
263-
auto ACS_BSBS()()
260+
@property auto ACS_BSBS()()
264261
{ return ACS_HLINE(); }
265-
auto ACS_SBSB()()
262+
@property auto ACS_SBSB()()
266263
{ return ACS_VLINE(); }
267-
auto ACS_SSSS()()
264+
@property auto ACS_SSSS()()
268265
{ return ACS_PLUS(); }
269266

270267

0 commit comments

Comments
 (0)