summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/MacApplication.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/MacApplication.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/MacApplication.h')
-rw-r--r--common/quicktime_win32/MacApplication.h534
1 files changed, 534 insertions, 0 deletions
diff --git a/common/quicktime_win32/MacApplication.h b/common/quicktime_win32/MacApplication.h
new file mode 100644
index 0000000..cc6dc4c
--- /dev/null
+++ b/common/quicktime_win32/MacApplication.h
@@ -0,0 +1,534 @@
+/*
+ File: MacApplication.h
+
+ Contains: Application-level APIs
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
+
+ Bugs?: For bug reports, consult the following page on
+ the World Wide Web:
+
+ http://developer.apple.com/bugreporter/
+
+*/
+#ifndef __MACAPPLICATION__
+#define __MACAPPLICATION__
+
+#ifndef __CGCONTEXT__
+#include <CGContext.h>
+#endif
+
+#ifndef __QUICKDRAW__
+#include <Quickdraw.h>
+#endif
+
+#ifndef __MENUS__
+#include <Menus.h>
+#endif
+
+#ifndef __HIOBJECT__
+#include <HIObject.h>
+#endif
+
+
+
+
+#if PRAGMA_ONCE
+#pragma once
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if PRAGMA_IMPORT
+#pragma import on
+#endif
+
+
+/*
+ * Summary:
+ * Controls the presentation of system-provided user interface
+ * elements.
+ *
+ * Discussion:
+ * Note that the system UI mode is a per-process state. Switching
+ * from a process that is suppressing system UI to another process
+ * that is not will cause system UI elements to become visible
+ * automatically. Switching back to the first process will suppress
+ * system UI elements again.
+ */
+enum {
+
+ /*
+ * In this mode, all standard system UI elements are visible.
+ */
+ kUIModeNormal = 0,
+
+ /*
+ * In this mode, system UI elements which cover the "content area" of
+ * the screen (the area other than the menubar) are hidden. However,
+ * these elements may automatically show themselves in response to
+ * mouse movements or other user activity; specifically, the Dock
+ * will still show itself automatically when the mouse moves into the
+ * Dock's auto-show region.
+ */
+ kUIModeContentSuppressed = 1,
+
+ /*
+ * In this mode, system UI elements which cover the "content area" of
+ * the screen (the area other than the menubar) are hidden. Unlike
+ * kUIModeContentSuppressed, most UI elements will not automatically
+ * show themselves in this mode.
+ */
+ kUIModeContentHidden = 2,
+
+ /*
+ * In this mode, all system UI elements, including the menubar, are
+ * hidden. Most system UI elements will not automatically show
+ * themselves in this mode. The application may request that the
+ * menubar automatically show itself while in this mode by passing
+ * the kUIOptionAutoShowMenuBar flag to SetSystemUIMode.
+ */
+ kUIModeAllHidden = 3
+};
+
+typedef UInt32 SystemUIMode;
+
+/*
+ * Summary:
+ * Controls optional behavior of system-provided user interface
+ * elements.
+ */
+enum {
+
+ /*
+ * Requests that the menubar automatically show itself when the user
+ * moves the mouse into the screen area that would ordinarily be
+ * occupied by the menubar. Only valid with kUIModeAllHidden.
+ */
+ kUIOptionAutoShowMenuBar = 1 << 0,
+
+ /*
+ * Disables all items in the Apple menu. Valid for all modes.
+ */
+ kUIOptionDisableAppleMenu = 1 << 2,
+
+ /*
+ * The active application may not be changed while this process is
+ * active. Currently disables the Command-Tab and Command-Shift-Tab
+ * key sequences to switch the active process, and the global window
+ * rotation key sequence selected by the user in the Keyboard
+ * preference pane. SetFrontProcess may still be used to explicitly
+ * switch the active process. Only valid with modes other than
+ * kUIModeNormal.
+ */
+ kUIOptionDisableProcessSwitch = 1 << 3,
+
+ /*
+ * The Force Quit window may not be displayed while this process is
+ * active. Currently disables the Command-Option-Escape key sequence
+ * to open the Force Quit window and the Force Quit menu item in the
+ * Apple menu. Only valid with modes other than kUIModeNormal.
+ */
+ kUIOptionDisableForceQuit = 1 << 4,
+
+ /*
+ * The current login session may not be terminated while this process
+ * is active. Currently disables the Power key and the Restart, Shut
+ * Down, and Log Out menu items in the Apple menu. Only valid with
+ * modes other than kUIModeNormal.
+ */
+ kUIOptionDisableSessionTerminate = 1 << 5
+};
+
+typedef OptionBits SystemUIOptions;
+/*
+ * SetSystemUIMode()
+ *
+ * Summary:
+ * Sets the presentation mode for system-provided user interface
+ * elements.
+ *
+ * Discussion:
+ * The presentation mode of an application determines which
+ * system-provided user interface elements are visible on thes
+ * screen. When the frontmost application changes its presentation
+ * mode, a kEventAppSystemUIModeChanged Carbon event is sent to all
+ * applications that have registered for the event. This event is
+ * also sent when an application is activated; it contains the newly
+ * active application's presentation mode.
+ *
+ * Parameters:
+ *
+ * inMode:
+ * The new mode.
+ *
+ * inOptions:
+ * Options controlling how the new mode behaves.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetSystemUIMode(
+ SystemUIMode inMode,
+ SystemUIOptions inOptions);
+
+
+/*
+ * GetSystemUIMode()
+ *
+ * Summary:
+ * Returns the current presentation mode of the application.
+ *
+ * Parameters:
+ *
+ * outMode:
+ * On exit, contains the current mode. You may pass NULL if you
+ * don't need this information.
+ *
+ * outOptions:
+ * On exit, contains the current options for the mode. You may
+ * pass NULL if you don't need this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+GetSystemUIMode(
+ SystemUIMode * outMode, /* can be NULL */
+ SystemUIOptions * outOptions); /* can be NULL */
+
+
+/*
+ * HIApplicationGetCurrent()
+ *
+ * Discussion:
+ * Returns the HIObjectRef of the currently running application
+ * object. This HIObject's EventTargetRef is what will be returned
+ * from GetApplicationEventTarget.
+ *
+ * Result:
+ * The HIObjectRef of the currently running application object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIObjectRef )
+HIApplicationGetCurrent(void);
+
+
+/*
+ * SetApplicationDockTileImage()
+ *
+ * Discussion:
+ * Sets the image for the tile in the dock that represents your
+ * application while it is running. If you set the image, it will
+ * NOT revert back to its original image when your application
+ * terminates. You need to manually restore it before quitting.
+ *
+ * Parameters:
+ *
+ * inImage:
+ * The image you wish to have as your tile image.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetApplicationDockTileImage(CGImageRef inImage);
+
+
+/*
+ * OverlayApplicationDockTileImage()
+ *
+ * Discussion:
+ * Takes the image passed in and composites it on top of the current
+ * image of your application's dock tile. You might do this to put a
+ * standard badge over your application's icon to indicate something
+ * to the user.
+ *
+ * Parameters:
+ *
+ * inImage:
+ * The image you wish to overlay onto your tile image.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+OverlayApplicationDockTileImage(CGImageRef inImage);
+
+
+/*
+ * RestoreApplicationDockTileImage()
+ *
+ * Discussion:
+ * Restores the tile for your appliation in the dock to its normal
+ * image (your application icon). You would use this if some overlay
+ * or change of the application icon needed to be removed.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+RestoreApplicationDockTileImage(void);
+
+
+/*
+ * BeginCGContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Creates and returns a CGContextRef. You can use this context to
+ * draw into your application's dock tile with Quartz. You **MUST**
+ * call EndCGContextForApplicationDockTile and NOT CGEndContext when
+ * using this API, as it locks your application's tile in the dock.
+ * If you call CGEndContext, the dock will never know you are done
+ * with the tile.
+ *
+ * Result:
+ * An Quartz (Core Graphics) context reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGContextRef )
+BeginCGContextForApplicationDockTile(void);
+
+
+/*
+ * EndCGContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Ends the CG context for your application tile and frees the lock
+ * on the application dock tile. You **MUST** call this routine and
+ * NOT CGEndContext when using BeginCGContextForApplicationDockTile,
+ * as it locks your application's tile in the dock. If you call
+ * CGEndContext, the dock will never know you are done with the tile.
+ *
+ * Parameters:
+ *
+ * inContext:
+ * The context to end. The context is invalid after this call and
+ * should no longer be used.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+EndCGContextForApplicationDockTile(CGContextRef inContext);
+
+
+
+
+/*
+ * BeginQDContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Creates and returns a CGrafPtr for your application's tile in the
+ * dock. You can use this port to draw into your application's dock
+ * tile with Quickdraw. You **MUST** call
+ * EndQDContextForApplicationDockTile and NOT DisposePort when using
+ * this API, as it locks your application's tile in the dock. If you
+ * call DisposePort, the dock will never know you are done with the
+ * tile.
+ *
+ * Result:
+ * A Quickdraw port reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGrafPtr )
+BeginQDContextForApplicationDockTile(void);
+
+
+/*
+ * EndQDContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Disposes the Quickdraw port for your application tile and frees
+ * the lock on the application dock tile. You **MUST** call this
+ * routine and NOT DisposePort when using
+ * BeginQDContextForApplicationDockTile, else the dock will never
+ * know you are done with the tile.
+ *
+ * Parameters:
+ *
+ * inContext:
+ * The context to end. The context is invalid after this call and
+ * should no longer be used.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+EndQDContextForApplicationDockTile(CGrafPtr inContext);
+
+
+
+/*
+ * SetApplicationDockTileMenu()
+ *
+ * Summary:
+ * Sets the menu that is displayed by the application's dock tile.
+ *
+ * Discussion:
+ * The Carbon Window Manager and the Dock will always automatically
+ * display a menu containing a list of the application's document
+ * windows. If the application wants to add other additional menu
+ * items, it can use the SetApplicationDockTileMenu API to provide
+ * those items. The items in the specified menu will be combined
+ * with the window title items. This API increments the refcount of
+ * the specified menu. Before the menu is actually displayed, it
+ * will receive kEventMenuPopulate, kEventMenuOpening, and
+ * kEventMenuEnableItems Carbon events, so any event handlers for
+ * these events may update the menu appropriately for the current
+ * state of the application. The application should set a command ID
+ * for each menu item in the dock tile menu, and when that item is
+ * chosen, a kEventCommandProcess Carbon event containing the item's
+ * command ID will be sent to the user focus target.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu to display, or NULL to remove the current dock tile
+ * menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+SetApplicationDockTileMenu(MenuRef inMenu);
+
+
+/*
+ * GetApplicationDockTileMenu()
+ *
+ * Summary:
+ * Returns the menu that is displayed by the application's dock tile.
+ *
+ * Result:
+ * The application's dock tile menu, or NULL if none.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( MenuRef )
+GetApplicationDockTileMenu(void);
+
+
+
+/*
+ * CreateCGImageFromPixMaps()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateCGImageFromPixMaps(
+ PixMapHandle inImage,
+ PixMapHandle inMask,
+ CGImageRef * outImage);
+
+
+/*
+ * GetApplicationTextEncoding()
+ *
+ * Summary:
+ * Returns the application's primary text encoding.
+ *
+ * Discussion:
+ * The application text encoding is used when you create a
+ * CFStringRef from text stored in Resource Manager resources, which
+ * typically uses one of the Mac encodings such as MacRoman or
+ * MacJapanese. The encoding is determined by: (a) if your app is
+ * bundled, the encoding of the .lproj directory chosen by CFBundle,
+ * (b) else if your plist has a CFBundleDevelopmentRegionKey, the
+ * encoding specified by that key, (c) else if your app has a 'vers'
+ * resource, the encoding for the region field in the 'vers', (d)
+ * else the current localization of the operating system.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TextEncoding )
+GetApplicationTextEncoding(void);
+
+
+/*
+ * GetApplicationScript()
+ *
+ * Summary:
+ * Returns the application script.
+ *
+ * Discussion:
+ * The application script is used when you need a ScriptCode to pass
+ * to some other API, such as UseThemeFont.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ScriptCode )
+GetApplicationScript(void);
+
+
+
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MACAPPLICATION__ */
+