# HG changeset patch # User Sam Lantinga # Date 991924091 0 # Node ID 45b1c4303f8715444c96a8a2091d8ff4a07b18b1 # Parent 3dcf26fa9d15d53d551719492ec5c37593053e48 Added initial support for Quartz video (thanks Darrell!) diff -r 3dcf26fa9d15 -r 45b1c4303f87 BUGS --- a/BUGS Thu Jun 07 13:53:51 2001 +0000 +++ b/BUGS Thu Jun 07 14:28:11 2001 +0000 @@ -70,22 +70,35 @@ Not all of the keys are properly recognized on the keyboard. MacOS X: - Fullscreen mode doesn't work - it requires the QuickTime framework - and that the new SDL window gets raised to the top of the Z order. + Joystick and CD-ROM functions are not implemented yet. + Closing window from window's close widget not implemented yet. + + Minimizing the window erases the framebuffer to the pinstripe pattern. + + Window may not close when unsetting video mode and resetting. + + Depth switching for windowed mode isn't implemented yet. + Palette handling isn't implemented in windowed mode yet. - - Native sound and video routines are not finished, though Carbon - seems to work fairly well. + + Command-line arguments Dialog is not implemented yet. - Joysticks and CD-ROM functions are not implemented yet. + Fullscreen drawing has some artifacts. + + Fullscreen window covers *all* other windows - even force quit. + + Fullscreen OpenGL for the software renderer is broken. - SDL_WM_GrabInput() is not implemented. - Does anyone know how to do this? SDL_WM_GrabInput() is designed - to prevent the user from switching input and mouse focus away from - the SDL application. + Some OpenGL parameters are not accounted for, for example color bits customization. + + Getting OpenGL context parameters is not implemented. + + Continuous mouse motion perhaps is not as smooth as it should be. - Continuous relative mouse motion is not implemented. + SDL_WM_GrabInput() is implemented, but it "freezes" the hardware + cursor in the center of the window/screen. Also, mouse moved events + are not generated, and the keyboard cannot be grabbed. Not all of the keys are properly recognized on the keyboard. diff -r 3dcf26fa9d15 -r 45b1c4303f87 README.MacOSX --- a/README.MacOSX Thu Jun 07 13:53:51 2001 +0000 +++ b/README.MacOSX Thu Jun 07 14:28:11 2001 +0000 @@ -34,11 +34,80 @@ sdl-config knows about the linking path and -framework, so it's recommended to use it to fill in your Makefile variables. -[Add instructions for how to build using PB] +============================================================================== +Using the Simple DirectMedia Layer with Project Builder +============================================================================== + +These instructions are for using Apple's Project Builder IDE to build SDL applications. + +- Building the Framework + +The SDL Library is packaged as a framework bundle, an organized +relocatable folder heirarchy of executible code, interface headers, +and additional resources. For practical purposes, you can think of a +framework as a more user and system-friendly shared library, whose library +file behaves more or less like a standard UNIX shared library. + +To build the framework, simply open the framework project and build it. +By default, the framework bundle "SDL.framework" is installed in +~/Library/Frameworks. Therefore, the testers and project stationary expect +it to be located there. However, it will function the same in any of the +following locations: + + ~/Library/Frameworks + /Local/Library/Frameworks + /System/Library/Frameworks + +- Build Options + There are two "Build Styles" (See the "Targets" tab) for SDL. + "Deployment" should be used if you aren't tweaking the SDL library. + "Development" should be used to debug SDL apps or the library itself. + +- Building the Testers + Open the SDLTest project and build away! + +- Using the Project Stationary + Copy the stationary to the indicated folders to access it from + the "New Project" and "Add target" menus. What could be easier? -As of this writing (Sep 2000), OS X is in public beta. This means -that while most of the APIs are frozen, things are still subject to -change, and many of the known problems will be resolved before the -final release comes out. +- Setting up a new project by hand + Some of you won't want to use the Stationary so I'll give some tips: + * Create a new "Cocoa Application" + * Add src/main/macosx/SDLMain.m , .h and .nib to your project + * Remove "main.c" from your project + * Remove "MainMenu.nib" from your project + * Add "$(HOME)/Library/Frameworks/SDL.framework/Headers" to include path + * Add "$(HOME)/Library/Frameworks" to the frameworks search path + * Add "-framework SDL" to the "OTHER_LDFLAGS" variable + * Set the "Main Nib File" under "Application Settings" to "SDLMain.nib" + * Add your files + * Clean and build +- Building from command line + Use pbxbuild in the same directory as your .pbproj file + +- Running your app + You can send command line args to your app by either invoking it from + the command line (in *.app/Contents/MacOS) or by entering them in the + "Executibles" panel of the target settings. + +- Implementation Notes + Some things that may be of interest about how it all works... + * Working directory + As defined in the SDLMain.m file, the working directory of your SDL app + is by default set to its parent. You may wish to change this to better + suit your needs. + * You have a Cocoa App! + Your SDL app is essentially a Cocoa application. When your app + starts up and the libraries finish loading, a Cocoa procedure is called, + which sets up the working directory and calls your main() method. + You are free to modify your Cocoa app with generally no consequence + to SDL. You cannot, however, easily change the SDL window itself. + Functionality may be added in the future to help this. + * My development setup: + I am using version 1.0.1 (v63.0) of Project Builder on MacOS X 10.0.3, + from the Developer Tools CD for May 2001. + As of May 31 2001, Apple hasn't released this version of the tools to the public, + but I expect that things will still work on older versions. + Known bugs are listed in the file "BUGS" diff -r 3dcf26fa9d15 -r 45b1c4303f87 configure.in --- a/configure.in Thu Jun 07 13:53:51 2001 +0000 +++ b/configure.in Thu Jun 07 14:28:11 2001 +0000 @@ -63,6 +63,10 @@ *-*-linux*) AC_PROG_CXX ;; + *-*-darwin*) + OBJC="???" + AC_SUBST(OBJC) + ;; esac AC_PROG_INSTALL AC_FUNC_ALLOCA @@ -1979,6 +1983,7 @@ src/video/maccommon/Makefile src/video/macdsp/Makefile src/video/macrom/Makefile +src/video/quartz/Makefile src/video/svga/Makefile src/video/aalib/Makefile src/video/wincommon/Makefile diff -r 3dcf26fa9d15 -r 45b1c4303f87 docs.html --- a/docs.html Thu Jun 07 13:53:51 2001 +0000 +++ b/docs.html Thu Jun 07 14:28:11 2001 +0000 @@ -16,6 +16,7 @@ Major changes since SDL 1.0.0: