VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
END
Attribute VB_Name = "IShape"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'Interface IShape
'Author Kenneth R. McVay
'Date December 24, 1998
' This interface is used for spatial operations on all shape types

Option Explicit

'These are the error codes defined for all errors in these classes
Public Enum ERRORCODES
    NoSuchRecord = vbObjectError + 512 + 4
    RecordsNotMatch = vbObjectError + 512 + 5
    OffsetPastEOF = vbObjectError + 512 + 6
    InvalidShapeFile = vbObjectError + 512 + 7
    WrongShapeType = vbObjectError + 512 + 9
    TypeNotSupported = vbObjectError + 512 + 11
    FileDoesNotExist = vbObjectError + 512 + 12
    ArgNotOptional = vbObjectError + 512 + 13
    ShapeNotMatch = vbObjectError + 512 + 14
    InvalidObject = vbObjectError + 512 + 15
    CollectionERROR = vbObjectError + 512 + 16
    InvalidShapeType = vbObjectError + 512 + 17
    NullShape = vbObjectError + 512 + 18
End Enum


'Top   returns the top coord for a shape extent
Public Property Get Top() As Double
End Property

'Bottom returns the bottom coord for a shape extent
Public Property Get Bottom() As Double
End Property

' Left  returns the left coord for a shape extent
Public Property Get Left() As Double
End Property

'Right returns the right coord for a shape extent
Public Property Get Right() As Double
End Property

'IsNull returns either true or false
'returns true for null shapes and false otherwise
Public Property Get IsNull() As Boolean
End Property

'MakeNull
'allows one to set a shape to null
Public Property Let MakeNull(TrueORFalse As Boolean)
End Property



Public Function Distance(aShape As Object) As Double
End Function
