From: Just van Rossum Date: Wed, 2 Jan 2002 15:11:44 +0000 (+0000) Subject: - Added DrawThemeTextBox() X-Git-Tag: v2.3c1~6904 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4f6fe5242464e7930e0bd410bb68ba8b97b8514f;p=python - Added DrawThemeTextBox() - fixed GetThemeTextDimensions(): it has an in/out Point arg, not just out. --- diff --git a/Mac/Modules/app/_Appmodule.c b/Mac/Modules/app/_Appmodule.c index ab330a5227..062197ac76 100644 --- a/Mac/Modules/app/_Appmodule.c +++ b/Mac/Modules/app/_Appmodule.c @@ -660,6 +660,40 @@ static PyObject *App_UseThemeFont(PyObject *_self, PyObject *_args) #if TARGET_API_MAC_CARBON +static PyObject *App_DrawThemeTextBox(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + OSStatus _err; + CFStringRef inString; + ThemeFontID inFontID; + ThemeDrawState inState; + Boolean inWrapToWidth; + Rect inBoundingBox; + SInt16 inJust; + if (!PyArg_ParseTuple(_args, "O&HlbO&h", + CFStringRefObj_Convert, &inString, + &inFontID, + &inState, + &inWrapToWidth, + PyMac_GetRect, &inBoundingBox, + &inJust)) + return NULL; + _err = DrawThemeTextBox(inString, + inFontID, + inState, + inWrapToWidth, + &inBoundingBox, + inJust, + NULL); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} +#endif + +#if TARGET_API_MAC_CARBON + static PyObject *App_TruncateThemeText(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; @@ -702,11 +736,12 @@ static PyObject *App_GetThemeTextDimensions(PyObject *_self, PyObject *_args) Boolean inWrapToWidth; Point ioBounds; SInt16 outBaseline; - if (!PyArg_ParseTuple(_args, "O&Hlb", + if (!PyArg_ParseTuple(_args, "O&HlbO&", CFStringRefObj_Convert, &inString, &inFontID, &inState, - &inWrapToWidth)) + &inWrapToWidth, + PyMac_GetPoint, &ioBounds)) return NULL; _err = GetThemeTextDimensions(inString, inFontID, @@ -1203,6 +1238,11 @@ static PyMethodDef App_methods[] = { {"UseThemeFont", (PyCFunction)App_UseThemeFont, 1, "(ThemeFontID inFontID, ScriptCode inScript) -> None"}, +#if TARGET_API_MAC_CARBON + {"DrawThemeTextBox", (PyCFunction)App_DrawThemeTextBox, 1, + "(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth, Rect inBoundingBox, SInt16 inJust) -> None"}, +#endif + #if TARGET_API_MAC_CARBON {"TruncateThemeText", (PyCFunction)App_TruncateThemeText, 1, "(CFMutableStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, SInt16 inPixelWidthLimit, TruncCode inTruncWhere) -> (Boolean outTruncated)"}, @@ -1210,7 +1250,7 @@ static PyMethodDef App_methods[] = { #if TARGET_API_MAC_CARBON {"GetThemeTextDimensions", (PyCFunction)App_GetThemeTextDimensions, 1, - "(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth) -> (Point ioBounds, SInt16 outBaseline)"}, + "(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth, Point ioBounds) -> (Point ioBounds, SInt16 outBaseline)"}, #endif #if TARGET_API_MAC_CARBON diff --git a/Mac/Modules/app/appscan.py b/Mac/Modules/app/appscan.py index 62409c7b8a..5a7750adf5 100644 --- a/Mac/Modules/app/appscan.py +++ b/Mac/Modules/app/appscan.py @@ -48,7 +48,6 @@ class MyScanner(Scanner): "appearanceBadTextColorIndexErr", "appearanceThemeHasNoAccents", "appearanceBadCursorIndexErr", - "DrawThemeTextBox", # Funny void* out param ] def makegreylist(self): @@ -58,6 +57,7 @@ class MyScanner(Scanner): 'GetThemeTextShadowOutset', 'GetThemeTextDimensions', 'TruncateThemeText', + 'DrawThemeTextBox', ])] def makeblacklisttypes(self): @@ -80,6 +80,10 @@ class MyScanner(Scanner): def makerepairinstructions(self): return [ + ([("void", 'inContext', "OutMode")], + [("NULL", 'inContext', "InMode")]), + ([("Point", 'ioBounds', "OutMode")], + [("Point", 'ioBounds', "InOutMode")]), ] if __name__ == "__main__": diff --git a/Mac/Modules/app/appsupport.py b/Mac/Modules/app/appsupport.py index a0eff8e6aa..94361a95ef 100644 --- a/Mac/Modules/app/appsupport.py +++ b/Mac/Modules/app/appsupport.py @@ -27,6 +27,8 @@ from macsupport import * #WindowPeek = OpaqueByValueType("WindowPeek", OBJECTPREFIX) RgnHandle = FakeType("(RgnHandle)0") +NULL = FakeType("NULL") + # XXXX Should be next, but this will break a lot of code... # RgnHandle = OpaqueByValueType("RgnHandle", "OptResObj")