LibreOffice Module vcl (master)  1
androidinst.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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  */
9 
10 #ifndef INCLUDED_VCL_INC_ANDROID_ANDROIDINST_HXX
11 #define INCLUDED_VCL_INC_ANDROID_ANDROIDINST_HXX
12 
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>
18 
19 class AndroidSalFrame;
21 {
22  // This JNIEnv is valid only in the thread where this
23  // AndroidSalInstance object is created, which is the "LO" thread
24  // in which soffice_main() runs
25  JNIEnv *m_pJNIEnv;
26 
27 public:
28  AndroidSalInstance( std::unique_ptr<SalYieldMutex> pMutex );
29  virtual ~AndroidSalInstance();
31 
32  virtual SalSystem* CreateSalSystem();
33 
34  // frame management
35  void GetWorkArea( tools::Rectangle& rRect );
36  SalFrame* CreateFrame( SalFrame* pParent, SalFrameStyleFlags nStyle );
38 
39  // mainloop pieces
40  virtual bool AnyInput( VclInputFlags nType );
41 };
42 
43 #endif // INCLUDED_VCL_INC_ANDROID_ANDROIDINST_HXX
44 
45 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
AndroidSalInstance(std::unique_ptr< SalYieldMutex > pMutex)
VclInputFlags
Definition: inputtypes.hxx:25
virtual bool AnyInput(VclInputFlags nType)
static AndroidSalInstance * getInstance()
A SalFrame is a system window (e.g. an X11 window).
Definition: salframe.hxx:112
void GetWorkArea(tools::Rectangle &rRect)
virtual SalSystem * CreateSalSystem()
SalFrame * CreateChildFrame(SystemParentData *pParent, SalFrameStyleFlags nStyle)
SalFrameStyleFlags
Definition: salframe.hxx:64
SalFrame * CreateFrame(SalFrame *pParent, SalFrameStyleFlags nStyle)
virtual ~AndroidSalInstance()