1 /* 2 GSTrackingRect.h 3 4 Tracking rectangle class 5 6 Copyright (C) 1996,1999 Free Software Foundation, Inc. 7 8 Author: Scott Christley <scottc@net-community.com> 9 Date: 1996 10 11 This file is part of the GNUstep GUI Library. 12 13 This library is free software; you can redistribute it and/or 14 modify it under the terms of the GNU Lesser General Public 15 License as published by the Free Software Foundation; either 16 version 2 of the License, or (at your option) any later version. 17 18 This library is distributed in the hope that it will be useful, 19 but WITHOUT ANY WARRANTY; without even the implied warranty of 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 Lesser General Public License for more details. 22 23 You should have received a copy of the GNU Lesser General Public 24 License along with this library; see the file COPYING.LIB. 25 If not, see <http://www.gnu.org/licenses/> or write to the 26 Free Software Foundation, 51 Franklin Street, Fifth Floor, 27 Boston, MA 02110-1301, USA. 28 */ 29 30 #ifndef _GNUstep_H_GSTrackingRect 31 #define _GNUstep_H_GSTrackingRect 32 33 #import <Foundation/NSObject.h> 34 #import <AppKit/NSView.h> 35 36 @interface GSTrackingRect : NSObject <NSCoding> 37 { 38 @public 39 NSRect rectangle; 40 NSTrackingRectTag tag; 41 id owner; 42 void *user_data; 43 struct TrackFlagsType { 44 unsigned inside:1; 45 unsigned isValid:1; 46 unsigned checked:1; 47 unsigned ownerRespondsToMouseEntered:1; 48 unsigned ownerRespondsToMouseExited:1; 49 } flags; 50 } 51 52 - (id) initWithRect: (NSRect)aRect 53 tag: (NSTrackingRectTag)aTag 54 owner: (id)anObject 55 userData: (void *)theData 56 inside: (BOOL)flag; 57 58 - (NSRect) rectangle; 59 - (void) reset: (NSRect)aRect inside: (BOOL)flag; 60 - (NSTrackingRectTag) tag; 61 - (id) owner; 62 - (void*) userData; 63 - (BOOL) inside; 64 65 - (BOOL) isValid; 66 - (void) invalidate; 67 68 @end 69 70 #endif /* _GNUstep_H_GSTrackingRect */ 71 72