A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-January/019305.html below:

better support for "wrapper" objects

[Python-Dev] Feature request: better support for "wrapper" objectsThomas Heller thomas.heller@ion-tof.com
Wed, 9 Jan 2002 15:00:48 +0100
From: "Jack Jansen" <jack@oratrix.nl>
> And to give a complete example of how useful this would be consider the 
> following. I'll give a mac-centric example, because I don't know enough about 
> calldll on windows (and I don't think there's a unix version yet).
> 
> Assume you're using Python to extend Photoshop. Assume Photoshop has an API to 
> allow the plugin to get at the screen. Let's assume that there's a C call
> extern GrafPtr ps_GetDrawableSurface(void);
> to get at the datastructure you need to draw to.
> These GrafPtr's are (in Mac/Modules/qd/_Quickdraw.c) wrapped in 
> Carbon.Qd.GrafPortType objects in Python.
> 
> In the current situation, if you would want to wrap this ps_GetDrawableSurface 
> function you would need to write a C wrapper (which means you would need a C 
> compiler, etc etc) because you would need to convert the return value with 
> ("O&", GrafObj_new). If we had something like ("O@", typeobject) calldll could 
> be extended so you could do something like
> psapilib = calldll.getlibrary(....)
> ps_GetDrawableSurface = calldll.newcall(psapilib.ps_GetDrawableSurface,
> Carbon.Qd.GrafPortType)
> 
> (newcall() arguments are funcpointer, return value type, arg1 type, ...)
> 
> You cannot do this currently, because there is no way to get from the type 
> object (which is the only thing you have available in Python) to the functions 
> you need to pass to O&.

In Python 2.2, the type object can itself be an instance, and you could call
classmethods on it...
I'm doing something similar on windows.

Thomas




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4