@@ -6612,6 +6612,179 @@ curses_init_dict(PyObject *module)
66126612 SetDictInt ("ACS_STERLING" , (ACS_STERLING ));
66136613#endif
66146614
6615+ #ifdef HAVE_NCURSESW
6616+ /* The same graphic symbols as character cells, for the methods that take
6617+ a complexchar. Unlike the ACS_* codes, these are not restricted to the
6618+ 8-bit alternate character set. */
6619+ cursesmodule_state * state = get_cursesmodule_state (module );
6620+ #define SetDictWACS (NAME , VALUE ) \
6621+ do { \
6622+ PyObject *value = PyCursesComplexChar_New(state, (VALUE)); \
6623+ if (value == NULL) { \
6624+ return -1; \
6625+ } \
6626+ int rc = PyDict_SetItemString(module_dict, (NAME), value); \
6627+ Py_DECREF(value); \
6628+ if (rc < 0) { \
6629+ return -1; \
6630+ } \
6631+ } while (0)
6632+
6633+ SetDictWACS ("WACS_ULCORNER" , WACS_ULCORNER );
6634+ SetDictWACS ("WACS_LLCORNER" , WACS_LLCORNER );
6635+ SetDictWACS ("WACS_URCORNER" , WACS_URCORNER );
6636+ SetDictWACS ("WACS_LRCORNER" , WACS_LRCORNER );
6637+ SetDictWACS ("WACS_LTEE" , WACS_LTEE );
6638+ SetDictWACS ("WACS_RTEE" , WACS_RTEE );
6639+ SetDictWACS ("WACS_BTEE" , WACS_BTEE );
6640+ SetDictWACS ("WACS_TTEE" , WACS_TTEE );
6641+ SetDictWACS ("WACS_HLINE" , WACS_HLINE );
6642+ SetDictWACS ("WACS_VLINE" , WACS_VLINE );
6643+ SetDictWACS ("WACS_PLUS" , WACS_PLUS );
6644+ SetDictWACS ("WACS_S1" , WACS_S1 );
6645+ SetDictWACS ("WACS_S9" , WACS_S9 );
6646+ SetDictWACS ("WACS_DIAMOND" , WACS_DIAMOND );
6647+ SetDictWACS ("WACS_CKBOARD" , WACS_CKBOARD );
6648+ SetDictWACS ("WACS_DEGREE" , WACS_DEGREE );
6649+ SetDictWACS ("WACS_PLMINUS" , WACS_PLMINUS );
6650+ SetDictWACS ("WACS_BULLET" , WACS_BULLET );
6651+ SetDictWACS ("WACS_LARROW" , WACS_LARROW );
6652+ SetDictWACS ("WACS_RARROW" , WACS_RARROW );
6653+ SetDictWACS ("WACS_DARROW" , WACS_DARROW );
6654+ SetDictWACS ("WACS_UARROW" , WACS_UARROW );
6655+ SetDictWACS ("WACS_BOARD" , WACS_BOARD );
6656+ SetDictWACS ("WACS_LANTERN" , WACS_LANTERN );
6657+ SetDictWACS ("WACS_BLOCK" , WACS_BLOCK );
6658+
6659+ SetDictWACS ("WACS_BSSB" , WACS_ULCORNER );
6660+ SetDictWACS ("WACS_SSBB" , WACS_LLCORNER );
6661+ SetDictWACS ("WACS_BBSS" , WACS_URCORNER );
6662+ SetDictWACS ("WACS_SBBS" , WACS_LRCORNER );
6663+ SetDictWACS ("WACS_SBSS" , WACS_RTEE );
6664+ SetDictWACS ("WACS_SSSB" , WACS_LTEE );
6665+ SetDictWACS ("WACS_SSBS" , WACS_BTEE );
6666+ SetDictWACS ("WACS_BSSS" , WACS_TTEE );
6667+ SetDictWACS ("WACS_BSBS" , WACS_HLINE );
6668+ SetDictWACS ("WACS_SBSB" , WACS_VLINE );
6669+ SetDictWACS ("WACS_SSSS" , WACS_PLUS );
6670+
6671+ /* The following are never available with strict SYSV curses */
6672+ #ifdef WACS_S3
6673+ SetDictWACS ("WACS_S3" , WACS_S3 );
6674+ #endif
6675+ #ifdef WACS_S7
6676+ SetDictWACS ("WACS_S7" , WACS_S7 );
6677+ #endif
6678+ #ifdef WACS_LEQUAL
6679+ SetDictWACS ("WACS_LEQUAL" , WACS_LEQUAL );
6680+ #endif
6681+ #ifdef WACS_GEQUAL
6682+ SetDictWACS ("WACS_GEQUAL" , WACS_GEQUAL );
6683+ #endif
6684+ #ifdef WACS_PI
6685+ SetDictWACS ("WACS_PI" , WACS_PI );
6686+ #endif
6687+ #ifdef WACS_NEQUAL
6688+ SetDictWACS ("WACS_NEQUAL" , WACS_NEQUAL );
6689+ #endif
6690+ #ifdef WACS_STERLING
6691+ SetDictWACS ("WACS_STERLING" , WACS_STERLING );
6692+ #endif
6693+
6694+ /* Double-line and thick-line symbols have no ACS_* counterpart, and are
6695+ only provided by some implementations. */
6696+ #ifdef WACS_D_ULCORNER
6697+ SetDictWACS ("WACS_D_ULCORNER" , WACS_D_ULCORNER );
6698+ SetDictWACS ("WACS_BDDB" , WACS_D_ULCORNER );
6699+ #endif
6700+ #ifdef WACS_D_LLCORNER
6701+ SetDictWACS ("WACS_D_LLCORNER" , WACS_D_LLCORNER );
6702+ SetDictWACS ("WACS_DDBB" , WACS_D_LLCORNER );
6703+ #endif
6704+ #ifdef WACS_D_URCORNER
6705+ SetDictWACS ("WACS_D_URCORNER" , WACS_D_URCORNER );
6706+ SetDictWACS ("WACS_BBDD" , WACS_D_URCORNER );
6707+ #endif
6708+ #ifdef WACS_D_LRCORNER
6709+ SetDictWACS ("WACS_D_LRCORNER" , WACS_D_LRCORNER );
6710+ SetDictWACS ("WACS_DBBD" , WACS_D_LRCORNER );
6711+ #endif
6712+ #ifdef WACS_D_LTEE
6713+ SetDictWACS ("WACS_D_LTEE" , WACS_D_LTEE );
6714+ SetDictWACS ("WACS_DDDB" , WACS_D_LTEE );
6715+ #endif
6716+ #ifdef WACS_D_RTEE
6717+ SetDictWACS ("WACS_D_RTEE" , WACS_D_RTEE );
6718+ SetDictWACS ("WACS_DBDD" , WACS_D_RTEE );
6719+ #endif
6720+ #ifdef WACS_D_BTEE
6721+ SetDictWACS ("WACS_D_BTEE" , WACS_D_BTEE );
6722+ SetDictWACS ("WACS_DDBD" , WACS_D_BTEE );
6723+ #endif
6724+ #ifdef WACS_D_TTEE
6725+ SetDictWACS ("WACS_D_TTEE" , WACS_D_TTEE );
6726+ SetDictWACS ("WACS_BDDD" , WACS_D_TTEE );
6727+ #endif
6728+ #ifdef WACS_D_HLINE
6729+ SetDictWACS ("WACS_D_HLINE" , WACS_D_HLINE );
6730+ SetDictWACS ("WACS_BDBD" , WACS_D_HLINE );
6731+ #endif
6732+ #ifdef WACS_D_VLINE
6733+ SetDictWACS ("WACS_D_VLINE" , WACS_D_VLINE );
6734+ SetDictWACS ("WACS_DBDB" , WACS_D_VLINE );
6735+ #endif
6736+ #ifdef WACS_D_PLUS
6737+ SetDictWACS ("WACS_D_PLUS" , WACS_D_PLUS );
6738+ SetDictWACS ("WACS_DDDD" , WACS_D_PLUS );
6739+ #endif
6740+
6741+ #ifdef WACS_T_ULCORNER
6742+ SetDictWACS ("WACS_T_ULCORNER" , WACS_T_ULCORNER );
6743+ SetDictWACS ("WACS_BTTB" , WACS_T_ULCORNER );
6744+ #endif
6745+ #ifdef WACS_T_LLCORNER
6746+ SetDictWACS ("WACS_T_LLCORNER" , WACS_T_LLCORNER );
6747+ SetDictWACS ("WACS_TTBB" , WACS_T_LLCORNER );
6748+ #endif
6749+ #ifdef WACS_T_URCORNER
6750+ SetDictWACS ("WACS_T_URCORNER" , WACS_T_URCORNER );
6751+ SetDictWACS ("WACS_BBTT" , WACS_T_URCORNER );
6752+ #endif
6753+ #ifdef WACS_T_LRCORNER
6754+ SetDictWACS ("WACS_T_LRCORNER" , WACS_T_LRCORNER );
6755+ SetDictWACS ("WACS_TBBT" , WACS_T_LRCORNER );
6756+ #endif
6757+ #ifdef WACS_T_LTEE
6758+ SetDictWACS ("WACS_T_LTEE" , WACS_T_LTEE );
6759+ SetDictWACS ("WACS_TTTB" , WACS_T_LTEE );
6760+ #endif
6761+ #ifdef WACS_T_RTEE
6762+ SetDictWACS ("WACS_T_RTEE" , WACS_T_RTEE );
6763+ SetDictWACS ("WACS_TBTT" , WACS_T_RTEE );
6764+ #endif
6765+ #ifdef WACS_T_BTEE
6766+ SetDictWACS ("WACS_T_BTEE" , WACS_T_BTEE );
6767+ SetDictWACS ("WACS_TTBT" , WACS_T_BTEE );
6768+ #endif
6769+ #ifdef WACS_T_TTEE
6770+ SetDictWACS ("WACS_T_TTEE" , WACS_T_TTEE );
6771+ SetDictWACS ("WACS_BTTT" , WACS_T_TTEE );
6772+ #endif
6773+ #ifdef WACS_T_HLINE
6774+ SetDictWACS ("WACS_T_HLINE" , WACS_T_HLINE );
6775+ SetDictWACS ("WACS_BTBT" , WACS_T_HLINE );
6776+ #endif
6777+ #ifdef WACS_T_VLINE
6778+ SetDictWACS ("WACS_T_VLINE" , WACS_T_VLINE );
6779+ SetDictWACS ("WACS_TBTB" , WACS_T_VLINE );
6780+ #endif
6781+ #ifdef WACS_T_PLUS
6782+ SetDictWACS ("WACS_T_PLUS" , WACS_T_PLUS );
6783+ SetDictWACS ("WACS_TTTT" , WACS_T_PLUS );
6784+ #endif
6785+ #undef SetDictWACS
6786+ #endif /* HAVE_NCURSESW */
6787+
66156788 SetDictInt ("LINES" , LINES );
66166789 SetDictInt ("COLS" , COLS );
66176790#undef SetDictInt
0 commit comments