blob: 1b2c70627444a12aad1b3174b81cff370e83f097 [file] [log] [blame]
// Copyright 2016 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
#ifndef XFA_FWL_CORE_CFWL_THEMEPART_H_
#define XFA_FWL_CORE_CFWL_THEMEPART_H_
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_system.h"
enum class CFWL_Part {
None = 0,
BackArrow,
Background,
Border,
Caption,
Check,
CheckBox,
CloseBox,
CombTextLine,
DateInBK,
DateInCircle,
DatesIn,
DatesOut,
DownButton,
DropDownButton,
Edge,
ForeArrow,
HSeparator,
HeadText,
Header,
Icon,
Image,
LBtn,
ListItem,
LowerTrack,
MinimizeBox,
MaximizeBox,
NarrowCaption,
RBtn,
StretchHandler,
Thumb,
ThumbBackArrow,
ThumbForeArrow,
ThumbLowerTrack,
ThumbThumb,
ThumbUpperTrack,
Today,
TodayCircle,
UpButton,
UpperTrack,
VSeparator,
Week,
WeekNum,
WeekNumSep
};
enum CFWL_PartState {
CFWL_PartState_Normal = 0,
CFWL_PartState_Checked = 1 << 1,
CFWL_PartState_Default = 1 << 2,
CFWL_PartState_Disabled = 1 << 3,
CFWL_PartState_Flagged = 1 << 4,
CFWL_PartState_Focused = 1 << 5,
CFWL_PartState_HightLight = 1 << 6,
CFWL_PartState_Hovered = 1 << 7,
CFWL_PartState_Inactive = 1 << 8,
CFWL_PartState_Neutral = 1 << 9,
CFWL_PartState_Pressed = 1 << 10,
CFWL_PartState_ReadOnly = 1 << 11,
CFWL_PartState_LSelected = 1 << 12,
CFWL_PartState_RSelected = 1 << 13,
CFWL_PartState_Selected = 1 << 14
};
class IFWL_Widget;
class CFWL_ThemePart {
public:
CFWL_ThemePart();
CFX_Matrix m_matrix;
CFX_RectF m_rtPart;
IFWL_Widget* m_pWidget;
CFWL_Part m_iPart;
uint32_t m_dwStates;
bool m_bMaximize;
bool m_bStaticBackground;
void* m_pData;
};
inline CFWL_ThemePart::CFWL_ThemePart()
: m_pWidget(nullptr),
m_iPart(CFWL_Part::None),
m_dwStates(CFWL_PartState_Normal),
m_bMaximize(false),
m_bStaticBackground(false),
m_pData(nullptr) {
m_rtPart.Reset();
m_matrix.SetIdentity();
}
#endif // XFA_FWL_CORE_CFWL_THEMEPART_H_