]> granicus.if.org Git - python/commitdiff
- Added DrawThemeTextBox()
authorJust van Rossum <just@letterror.com>
Wed, 2 Jan 2002 15:11:44 +0000 (15:11 +0000)
committerJust van Rossum <just@letterror.com>
Wed, 2 Jan 2002 15:11:44 +0000 (15:11 +0000)
- fixed GetThemeTextDimensions(): it has an in/out Point arg, not just out.

Mac/Modules/app/_Appmodule.c
Mac/Modules/app/appscan.py
Mac/Modules/app/appsupport.py

index ab330a522785f314092b90738deac7f0f7785c45..062197ac76c2c0b5e41aad9e95ee242f6c233047 100644 (file)
@@ -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
index 62409c7b8a8a5adaf5568aac00481b57e3b3a9e6..5a7750adf5b43fa81acd908021c9cd76c3cbf3d1 100644 (file)
@@ -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__":
index a0eff8e6aa6e5f6c11d2724e70ed60f0d2400bc9..94361a95ef77e7c945458630a1791c620f300d88 100644 (file)
@@ -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")