// Copyright 2014 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.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _JAVASCRIPT_H_
#define _JAVASCRIPT_H_


#ifndef _INC_PDFAPI
	#define _INC_PDFAPI

	#include "../../../core/include/fpdfapi/fpdf_module.h" 
	#include "../../../core/include/fpdfdoc/fpdf_doc.h" 
	#include "../../../core/include/fpdfdoc/fpdf_vt.h" 
	#include "../../../core/include/fxcrt/fx_xml.h" 
	#include "../../../core/include/fdrm/fx_crypt.h" 
	#include "../../../core/include/fpdfapi/fpdf_pageobj.h" 
	#include "../../../core/include/fpdfapi/fpdf_serial.h"


	#include "../../include/fx_systemhandler.h"	
#endif


#include "../jsapi/fxjs_v8.h"
#include "../fxedit/fx_edit.h"
#include "../pdfwindow/IPDFWindow.h"
#include "../fsdk_mgr.h"


#include <string>
//#pragma warning( disable : 4786) 
#include <vector>


#endif //_JAVASCRIPT_H_

