// Copyright 1998-2000 Omni Development, Inc.  All rights reserved.
//
// This software may only be used and reproduced according to the
// terms in the file OmniSourceLicense.html, which should be
// distributed with this project and can also be found at
// http://www.omnigroup.com/DeveloperResources/OmniSourceLicense.html.
//
// $Header: /Network/Source/CVS/OmniGroup/Frameworks/OmniHTML/View.subproj/OHHTMLView-TrackingRect.h,v 1.6 2000/01/20 00:28:04 kc Exp $

#import <Foundation/Foundation.h>
#import <OmniFoundation/OmniFoundation.h>
#import <AppKit/NSView.h>

@class OHHTMLAnchor, OHBasicCell, OHMarginalCell;
@class NSEvent;

@interface OHHTMLView_TrackingRect : OFObject
{
    NSRect rectangle;
    id anchorOrCell;
    NSTrackingRectTag tag;
    enum {
        OHHVTR_Anchor,
        OHHVTR_ImageCell,
    } objectType : 8;
    BOOL isInside;
}

- initWithRectangle:(NSRect)aRect anchor:(OHHTMLAnchor *)anAnchor;
- initWithRectangle:(NSRect)aRect imageCell:(OHBasicCell *)aCell;

- (NSRect)rectangle;
- (NSTrackingRectTag)tag;
- (void)setTag:(NSTrackingRectTag)newTag;

- (BOOL)isInside;

- (void)mouseEntered:(NSEvent *)theEvent;
- (void)mouseExited:(NSEvent *)theEvent;

// NSSet methods
- (unsigned)hash;
- (BOOL)isEqual:anObject;

@end
