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_THEMEPART_H_ 8 #define XFA_FWL_CFWL_THEMEPART_H_ 9 10 #include "core/fxcrt/fx_coordinates.h" 11 #include "core/fxcrt/fx_system.h" 12 13 enum class CFWL_Part { 14 None = 0, 15 16 BackArrow, 17 Background, 18 Border, 19 Caption, 20 Check, 21 CheckBox, 22 CloseBox, 23 CombTextLine, 24 DateInBK, 25 DateInCircle, 26 DatesIn, 27 DatesOut, 28 DownButton, 29 DropDownButton, 30 ForeArrow, 31 HSeparator, 32 HeadText, 33 Header, 34 Icon, 35 Image, 36 LBtn, 37 ListItem, 38 LowerTrack, 39 MinimizeBox, 40 MaximizeBox, 41 NarrowCaption, 42 RBtn, 43 Thumb, 44 ThumbBackArrow, 45 ThumbForeArrow, 46 ThumbLowerTrack, 47 ThumbThumb, 48 ThumbUpperTrack, 49 Today, 50 TodayCircle, 51 UpButton, 52 UpperTrack, 53 VSeparator, 54 Week, 55 WeekNum, 56 WeekNumSep 57 }; 58 59 enum CFWL_PartState { 60 CFWL_PartState_Normal = 0, 61 62 CFWL_PartState_Checked = 1 << 1, 63 CFWL_PartState_Default = 1 << 2, 64 CFWL_PartState_Disabled = 1 << 3, 65 CFWL_PartState_Flagged = 1 << 4, 66 CFWL_PartState_Focused = 1 << 5, 67 CFWL_PartState_HightLight = 1 << 6, 68 CFWL_PartState_Hovered = 1 << 7, 69 CFWL_PartState_Neutral = 1 << 9, 70 CFWL_PartState_Pressed = 1 << 10, 71 CFWL_PartState_ReadOnly = 1 << 11, 72 CFWL_PartState_LSelected = 1 << 12, 73 CFWL_PartState_RSelected = 1 << 13, 74 CFWL_PartState_Selected = 1 << 14 75 }; 76 77 class CFWL_Widget; 78 79 class CFWL_ThemePart { 80 public: 81 CFWL_ThemePart(); 82 83 CFX_Matrix m_matrix; 84 CFX_RectF m_rtPart; 85 CFWL_Widget* m_pWidget; 86 CFWL_Part m_iPart; 87 uint32_t m_dwStates; 88 bool m_bMaximize; 89 bool m_bStaticBackground; 90 CFX_RectF* m_pRtData; 91 }; 92 93 #endif // XFA_FWL_CFWL_THEMEPART_H_ 94