summaryrefslogtreecommitdiff
path: root/xfa/fwl/lightwidget/app.cpp
blob: 31a39c17f0f7e0c67c441e9fe61e133d60226d0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 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

#include "xfa/include/fwl/lightwidget/app.h"

#include "core/include/fxcrt/fx_coordinates.h"
#include "xfa/include/fwl/core/fwl_app.h"
#include "xfa/include/fwl/core/fwl_error.h"
#include "xfa/include/fwl/lightwidget/theme.h"

CFWL_App::CFWL_App() : m_pIface(IFWL_App::Create(nullptr)), m_pTheme(nullptr) {}
CFWL_App::~CFWL_App() {
  if (m_pTheme) {
    m_pTheme->Finalize();
    delete m_pTheme;
    m_pTheme = NULL;
  }
  m_pIface->Release();
}
FWL_ERR CFWL_App::Initialize() {
  m_pTheme = new CFWL_Theme;
  m_pTheme->Initialize();
  m_pIface->SetThemeProvider(m_pTheme);
  return m_pIface->Initialize();
}
FWL_ERR CFWL_App::Exit(int32_t iExitCode) {
  if (!m_pIface)
    return FWL_ERR_Indefinite;
  return m_pIface->Exit(iExitCode);
}