Got ZeroScrap() and PutScrap() to work under Carbon.
This commit is contained in:
parent
64aa1e2c83
commit
bf21bef254
|
@ -97,7 +97,6 @@ static PyObject *Scrap_GetScrap(_self, _args)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !TARGET_API_MAC_CARBON
|
|
||||||
|
|
||||||
static PyObject *Scrap_ZeroScrap(_self, _args)
|
static PyObject *Scrap_ZeroScrap(_self, _args)
|
||||||
PyObject *_self;
|
PyObject *_self;
|
||||||
|
@ -107,15 +106,22 @@ static PyObject *Scrap_ZeroScrap(_self, _args)
|
||||||
OSStatus _err;
|
OSStatus _err;
|
||||||
if (!PyArg_ParseTuple(_args, ""))
|
if (!PyArg_ParseTuple(_args, ""))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
#if TARGET_API_MAC_CARBON
|
||||||
|
{
|
||||||
|
ScrapRef scrap;
|
||||||
|
|
||||||
|
_err = ClearCurrentScrap();
|
||||||
|
if (_err != noErr) return PyMac_Error(_err);
|
||||||
|
_err = GetCurrentScrap(&scrap);
|
||||||
|
}
|
||||||
|
#else
|
||||||
_err = ZeroScrap();
|
_err = ZeroScrap();
|
||||||
|
#endif
|
||||||
if (_err != noErr) return PyMac_Error(_err);
|
if (_err != noErr) return PyMac_Error(_err);
|
||||||
Py_INCREF(Py_None);
|
Py_INCREF(Py_None);
|
||||||
_res = Py_None;
|
_res = Py_None;
|
||||||
return _res;
|
return _res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !TARGET_API_MAC_CARBON
|
|
||||||
|
|
||||||
static PyObject *Scrap_PutScrap(_self, _args)
|
static PyObject *Scrap_PutScrap(_self, _args)
|
||||||
PyObject *_self;
|
PyObject *_self;
|
||||||
|
@ -128,22 +134,31 @@ static PyObject *Scrap_PutScrap(_self, _args)
|
||||||
char *sourceBuffer__in__;
|
char *sourceBuffer__in__;
|
||||||
int sourceBuffer__len__;
|
int sourceBuffer__len__;
|
||||||
int sourceBuffer__in_len__;
|
int sourceBuffer__in_len__;
|
||||||
|
#if TARGET_API_MAC_CARBON
|
||||||
|
ScrapRef scrap;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(_args, "O&s#",
|
if (!PyArg_ParseTuple(_args, "O&s#",
|
||||||
PyMac_GetOSType, &flavorType,
|
PyMac_GetOSType, &flavorType,
|
||||||
&sourceBuffer__in__, &sourceBuffer__in_len__))
|
&sourceBuffer__in__, &sourceBuffer__in_len__))
|
||||||
return NULL;
|
return NULL;
|
||||||
sourceBufferByteCount = sourceBuffer__in_len__;
|
sourceBufferByteCount = sourceBuffer__in_len__;
|
||||||
sourceBuffer__len__ = sourceBuffer__in_len__;
|
sourceBuffer__len__ = sourceBuffer__in_len__;
|
||||||
|
#if TARGET_API_MAC_CARBON
|
||||||
|
_err = GetCurrentScrap(&scrap);
|
||||||
|
if (_err != noErr) return PyMac_Error(_err);
|
||||||
|
_err = PutScrapFlavor(scrap, flavorType, 0, sourceBufferByteCount, sourceBuffer__in__);
|
||||||
|
#else
|
||||||
_err = PutScrap(sourceBufferByteCount,
|
_err = PutScrap(sourceBufferByteCount,
|
||||||
flavorType,
|
flavorType,
|
||||||
sourceBuffer__in__);
|
sourceBuffer__in__);
|
||||||
|
#endif
|
||||||
if (_err != noErr) return PyMac_Error(_err);
|
if (_err != noErr) return PyMac_Error(_err);
|
||||||
Py_INCREF(Py_None);
|
Py_INCREF(Py_None);
|
||||||
_res = Py_None;
|
_res = Py_None;
|
||||||
sourceBuffer__error__: ;
|
sourceBuffer__error__: ;
|
||||||
return _res;
|
return _res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if TARGET_API_MAC_CARBON
|
#if TARGET_API_MAC_CARBON
|
||||||
|
|
||||||
|
@ -197,15 +212,11 @@ static PyMethodDef Scrap_methods[] = {
|
||||||
"(Handle destination, ScrapFlavorType flavorType) -> (long _rv, SInt32 offset)"},
|
"(Handle destination, ScrapFlavorType flavorType) -> (long _rv, SInt32 offset)"},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !TARGET_API_MAC_CARBON
|
|
||||||
{"ZeroScrap", (PyCFunction)Scrap_ZeroScrap, 1,
|
{"ZeroScrap", (PyCFunction)Scrap_ZeroScrap, 1,
|
||||||
"() -> None"},
|
"() -> None"},
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !TARGET_API_MAC_CARBON
|
|
||||||
{"PutScrap", (PyCFunction)Scrap_PutScrap, 1,
|
{"PutScrap", (PyCFunction)Scrap_PutScrap, 1,
|
||||||
"(SInt32 sourceBufferByteCount, ScrapFlavorType flavorType, Buffer sourceBuffer) -> None"},
|
"(ScrapFlavorType flavorType, Buffer sourceBuffer) -> None"},
|
||||||
#endif
|
|
||||||
|
|
||||||
#if TARGET_API_MAC_CARBON
|
#if TARGET_API_MAC_CARBON
|
||||||
{"ClearCurrentScrap", (PyCFunction)Scrap_ClearCurrentScrap, 1,
|
{"ClearCurrentScrap", (PyCFunction)Scrap_ClearCurrentScrap, 1,
|
||||||
|
|
Loading…
Reference in New Issue