Mercurial > cpython-lru_cache-weakref
diff Modules/stdwinmodule.c @ 184:1b08df41587b legacy-trunk
More flexible font setting (mainly for the Mac).
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 04 Apr 1991 15:24:07 +0000 |
| parents | 0cee01b68d9c |
| children | 89115e7534d5 |
line wrap: on
line diff
--- a/Modules/stdwinmodule.c Thu Apr 04 15:21:57 1991 +0000 +++ b/Modules/stdwinmodule.c Thu Apr 04 15:24:07 1991 +0000 @@ -459,11 +459,54 @@ drawingobject *self; object *args; { - TEXTATTR saveattr, winattr; - object *str; - if (!getstrarg(args, &str)) + object *font, *style; + int size; + if (args == NULL) { + err_badarg(); + return NULL; + } + if (is_stringobject(args)) { + font = args; + style = NULL; + size = 0; + } + else if (is_tupleobject(args)) { + int n = gettuplesize(args); + if (n == 2) { + if (!getstrintarg(args, &font, &size)) + return NULL; + style = NULL; + } + else if (!getstrstrintarg(args, &font, &style, &size)) + return NULL; + } + else { + err_badarg(); return NULL; - wsetfont(getstringvalue(str)); + } + if (getstringsize(font) != 0) + wsetfont(getstringvalue(font)); + if (style != NULL) { + switch (*getstringvalue(style)) { + case 'b': + wsetbold(); + break; + case 'i': + wsetitalic(); + break; + case 'o': + wsetbolditalic(); + break; + case 'u': + wsetunderline(); + break; + default: + wsetplain(); + break; + } + } + if (size != 0) + wsetsize(size); INCREF(None); return None; }
