tkMacOSXEvent.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /*
  2.  * tkMacOSXEvent.h --
  3.  *
  4.  * Declarations of Macintosh specific functions for implementing the
  5.  * Mac OS X Notifier.
  6.  *
  7.  * Copyright 2001, Apple Computer, Inc.
  8.  * Copyright (c) 2005-2007 Daniel A. Steffen <das@users.sourceforge.net>
  9.  *
  10.  * See the file "license.terms" for information on usage and redistribution of
  11.  * this file, and for a DISCLAIMER OF ALL WARRANTIES.
  12.  *
  13.  * The following terms apply to all files originating from Apple
  14.  * Computer, Inc. ("Apple") and associated with the software
  15.  * unless explicitly disclaimed in individual files.
  16.  *
  17.  *
  18.  * Apple hereby grants permission to use, copy, modify,
  19.  * distribute, and license this software and its documentation
  20.  * for any purpose, provided that existing copyright notices are
  21.  * retained in all copies and that this notice is included
  22.  * verbatim in any distributions. No written agreement, license,
  23.  * or royalty fee is required for any of the authorized
  24.  * uses. Modifications to this software may be copyrighted by
  25.  * their authors and need not follow the licensing terms
  26.  * described here, provided that the new terms are clearly
  27.  * indicated on the first page of each file where they apply.
  28.  *
  29.  *
  30.  * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE
  31.  * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
  32.  * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
  33.  * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
  34.  * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE
  35.  * POSSIBILITY OF SUCH DAMAGE.  APPLE, THE AUTHORS AND
  36.  * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
  37.  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
  38.  * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS
  39.  * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE
  40.  * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
  41.  * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  42.  *
  43.  * GOVERNMENT USE: If you are acquiring this software on behalf
  44.  * of the U.S. government, the Government shall have only
  45.  * "Restricted Rights" in the software and related documentation
  46.  * as defined in the Federal Acquisition Regulations (FARs) in
  47.  * Clause 52.227.19 (c) (2).  If you are acquiring the software
  48.  * on behalf of the Department of Defense, the software shall be
  49.  * classified as "Commercial Computer Software" and the
  50.  * Government shall have only "Restricted Rights" as defined in
  51.  * Clause 252.227-7013 (c) (1) of DFARs.  Notwithstanding the
  52.  * foregoing, the authors grant the U.S. Government and others
  53.  * acting in its behalf permission to use and distribute the
  54.  * software in accordance with the terms specified in this
  55.  * license.
  56.  *
  57.  * RCS: @(#) $Id: tkMacOSXEvent.h,v 1.3.2.8 2007/04/29 02:26:49 das Exp $
  58.  */
  59. #ifndef _TKMACEVENT
  60. #define _TKMACEVENT
  61. #ifndef _TKMACINT
  62. #include "tkMacOSXInt.h"
  63. #endif
  64. typedef struct {
  65.     int stopProcessing;
  66.     int err;
  67.     char errMsg[1024];
  68. } MacEventStatus;
  69. /*
  70.  * The event information in passed in the following structures
  71.  */
  72. typedef struct {
  73.     EventRef   eventRef;
  74.     UInt32     eClass; /* Defines the class of event : see CarbonEvents.h */
  75.     UInt32     eKind; /* Defines the kind of the event : see CarbonEvents.h */
  76.     Tcl_Interp *interp; /* Interp to handle events in */
  77.     EventHandlerCallRef callRef;
  78. } TkMacOSXEvent;
  79. MODULE_SCOPE void TkMacOSXFlushWindows(void);
  80. MODULE_SCOPE int TkMacOSXProcessEvent(TkMacOSXEvent *eventPtr,
  81. MacEventStatus *statusPtr);
  82. MODULE_SCOPE int TkMacOSXProcessMouseEvent(TkMacOSXEvent *e,
  83. MacEventStatus *statusPtr);
  84. MODULE_SCOPE int TkMacOSXProcessWindowEvent(TkMacOSXEvent *e,
  85. MacEventStatus *statusPtr);
  86. MODULE_SCOPE int TkMacOSXProcessKeyboardEvent(TkMacOSXEvent *e,
  87. MacEventStatus *statusPtr);
  88. MODULE_SCOPE int TkMacOSXProcessApplicationEvent(TkMacOSXEvent *e,
  89. MacEventStatus *statusPtr);
  90. MODULE_SCOPE int TkMacOSXProcessAppearanceEvent(TkMacOSXEvent *e,
  91. MacEventStatus *statusPtr);
  92. MODULE_SCOPE int TkMacOSXProcessMenuEvent(TkMacOSXEvent *e,
  93. MacEventStatus *statusPtr);
  94. MODULE_SCOPE int TkMacOSXProcessCommandEvent(TkMacOSXEvent *e,
  95. MacEventStatus *statusPtr);
  96. MODULE_SCOPE int TkMacOSXKeycodeToUnicode(
  97. UniChar * uniChars, int maxChars,
  98. EventKind eKind,
  99. UInt32 keycode, UInt32 modifiers,
  100. UInt32 * deadKeyStatePtr);
  101. #endif