Branch libreoffice-5-0-4
[LibreOffice.git] / vcl / inc / android / androidinst.hxx
blob79dad74d9bb879feeaeea0ebeaa4fbd128c2e981
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #ifndef INCLUDED_VCL_INC_ANDROID_ANDROIDINST_HXX
11 #define INCLUDED_VCL_INC_ANDROID_ANDROIDINST_HXX
13 #include <jni.h>
14 #include <android/input.h>
15 #include <android/native_window.h>
16 #include <headless/svpinst.hxx>
17 #include <headless/svpframe.hxx>
19 class AndroidSalFrame;
20 class AndroidSalInstance : public SvpSalInstance
22 void BlitFrameToWindow(ANativeWindow_Buffer *pOutBuffer,
23 const basebmp::BitmapDeviceSharedPtr& aDev);
25 // This JNIEnv is valid only in the thread where this
26 // AndroidSalInstance object is created, which is the "LO" thread
27 // in which soffice_main() runs
28 JNIEnv *m_pJNIEnv;
30 public:
31 AndroidSalInstance( SalYieldMutex *pMutex );
32 virtual ~AndroidSalInstance();
33 static AndroidSalInstance *getInstance();
35 virtual SalSystem* CreateSalSystem();
37 // frame management
38 void GetWorkArea( Rectangle& rRect );
39 SalFrame* CreateFrame( SalFrame* pParent, sal_uLong nStyle );
40 SalFrame* CreateChildFrame( SystemParentData* pParent, sal_uLong nStyle );
42 // mainloop pieces
43 virtual bool AnyInput( VclInputFlags nType );
45 void RedrawWindows(ANativeWindow_Buffer *pBuffer);
46 SalFrame *getFocusFrame() const;
48 void damaged(AndroidSalFrame *frame);
51 #endif // INCLUDED_VCL_INC_ANDROID_ANDROIDINST_HXX
53 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */