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

#ifndef CONSTANTS_FORM_FIELDS_H_
#define CONSTANTS_FORM_FIELDS_H_

namespace pdfium {
namespace form_fields {

extern const char kFT[];
extern const char kParent[];
extern const char kKids[];
extern const char kT[];
extern const char kTU[];
extern const char kTM[];
extern const char kFf[];
extern const char kV[];
extern const char kDV[];
extern const char kAA[];

extern const char kBtn[];
extern const char kTx[];
extern const char kCh[];
extern const char kSig[];

extern const char kDA[];
extern const char kQ[];
extern const char kDS[];
extern const char kRV[];

}  // namespace form_fields
}  // namespace pdfium

#endif  // CONSTANTS_FORM_FIELDS_H_
