1// Copyright 2016 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef XFA_FWL_CFWL_COMBOBOXPROXY_H_
8#define XFA_FWL_CFWL_COMBOBOXPROXY_H_
9
10#include <memory>
11
12#include "xfa/fwl/cfwl_formproxy.h"
13
14class CFWL_ComboBox;
15
16class CFWL_ComboBoxProxy : public CFWL_FormProxy {
17 public:
18  CFWL_ComboBoxProxy(CFWL_ComboBox* pCombobBox,
19                     const CFWL_App* app,
20                     std::unique_ptr<CFWL_WidgetProperties> properties,
21                     CFWL_Widget* pOuter);
22  ~CFWL_ComboBoxProxy() override;
23
24  // CFWL_FormProxy
25  void OnProcessMessage(CFWL_Message* pMessage) override;
26  void OnDrawWidget(CFX_Graphics* pGraphics,
27                    const CFX_Matrix* pMatrix) override;
28
29  void Reset() { m_bLButtonUpSelf = false; }
30
31 private:
32  void OnLButtonDown(CFWL_Message* pMsg);
33  void OnLButtonUp(CFWL_Message* pMsg);
34  void OnFocusChanged(CFWL_Message* pMsg, bool bSet);
35
36  bool m_bLButtonDown;
37  bool m_bLButtonUpSelf;
38  CFWL_ComboBox* m_pComboBox;
39};
40
41#endif  // XFA_FWL_CFWL_COMBOBOXPROXY_H_
42