[Pythonmac-SIG] QuickTime: BeginFullScreen

Edward Hartley ed.hartley at gmail.com
Mon Jun 11 13:31:02 CEST 2007


Hi
I've been examining the functions exposed in the PythonMac Qt and
QuickTime libraries
and it seems that whilst the EndFullScreen call and the appropriate
flags are exposed
as can be seen from this snip from ipython help(Qt)

 EndFullScreen(...)
        (Ptr fullState, long flags) -> None

however the corresponding BeginFullScreen is not available.
My question is what is needed to make BeginFullScreen available to the
MacPython API.
I am willing to commit time to doing the development and have
comnsiderable experience of using SWIG under Linux. I am not familiar
with the build mechanism for MacPython but I am willing to learn.

I had initially thought that this might depend on having QuickTime Pro
but further investigation
shows that BeginFullScreen is an integral part of the framework and
available in from
Movies.h which I'm assuming is the basis for the MacPython Quicktime wrapper
The declaration is in /System/Frameworks/QuickTime.framework/Headers as follows:

/*
 *  BeginFullScreen()
 *
 *  Availability:
 *    Mac OS X:         in version 10.0 and later in QuickTime.framework
 *    CarbonLib:        in CarbonLib 1.0 and later
 *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
 *    Windows:          in qtmlClient.lib 3.0 and later
 */
extern OSErr
BeginFullScreen(
  Ptr *        restoreState,
  GDHandle     whichGD,
  short *      desiredWidth,
  short *      desiredHeight,
  WindowRef *  newWindow,
  RGBColor *   eraseColor,
  long         flags)
AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER;


Interestingly the Java Quicktime quicktime bridge has  BeginFullScreen
available.
http://developer.apple.com/documentation/Java/Reference/1.4.1/Java141API_QTJ/quicktime/std/movies/FullScreen.html

Also there is an example of the use of the C API available in the
developer documentation:
http://developer.apple.com/samplecode/qtfullscreen/listing1.html

So I'm assuming that any restrictions on exposing BeginFullScreen that
may have applied in the past are no longer in force.
TIA
Ed Hartley


More information about the Pythonmac-SIG mailing list