summaryrefslogtreecommitdiff
path: root/xfa/fwl/lightwidget/cfwl_app.cpp
blob: c09e5c0a262afd85946c7559fb9622abff67eb51 (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
34
35
// 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/fwl/lightwidget/cfwl_app.h"

#include "core/fxcrt/include/fx_coordinates.h"
#include "xfa/fwl/core/fwl_error.h"
#include "xfa/fwl/core/ifwl_app.h"
#include "xfa/fwl/lightwidget/cfwl_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_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);
}