// Copyright 2019 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CONSTANTS_ANNOTATION_COMMON_H_
#define CONSTANTS_ANNOTATION_COMMON_H_

namespace pdfium {
namespace annotation {

extern const char kType[];
extern const char kSubtype[];
extern const char kRect[];
extern const char kContents[];
extern const char kP[];
extern const char kNM[];
extern const char kM[];
extern const char kF[];
extern const char kAP[];
extern const char kAS[];
extern const char kBorder[];
extern const char kC[];
extern const char kStructParent[];
extern const char kOC[];

extern const char kVertices[];

extern const char kInkList[];

extern const char kL[];

}  // namespace annotation
}  // namespace pdfium

#endif  // CONSTANTS_ANNOTATION_COMMON_H_
