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 StretchHandler, 44 Thumb, 45 ThumbBackArrow, 46 ThumbForeArrow, 47 ThumbLowerTrack, 48 ThumbThumb, 49 ThumbUpperTrack, 50 Today, 51 TodayCircle, 52 UpButton, 53 UpperTrack, 54 VSeparator, 55 Week, 56 WeekNum, 57 WeekNumSep 58 }; 59 60 enum CFWL_PartState { 61 CFWL_PartState_Normal = 0, 62 63 CFWL_PartState_Checked = 1 << 1, 64 CFWL_PartState_Default = 1 << 2, 65 CFWL_PartState_Disabled = 1 << 3, 66 CFWL_PartState_Flagged = 1 << 4, 67 CFWL_PartState_Focused = 1 << 5, 68 CFWL_PartState_HightLight = 1 << 6, 69 CFWL_PartState_Hovered = 1 << 7, 70 CFWL_PartState_Neutral = 1 << 9, 71 CFWL_PartState_Pressed = 1 << 10, 72 CFWL_PartState_ReadOnly = 1 << 11, 73 CFWL_PartState_LSelected = 1 << 12, 74 CFWL_PartState_RSelected = 1 << 13, 75 CFWL_PartState_Selected = 1 << 14 76 }; 77 78 class CFWL_Widget; 79 80 class CFWL_ThemePart { 81 public: 82 CFWL_ThemePart(); 83 84 CFX_Matrix m_matrix; 85 CFX_RectF m_rtPart; 86 CFWL_Widget* m_pWidget; 87 CFWL_Part m_iPart; 88 uint32_t m_dwStates; 89 bool m_bMaximize; 90 bool m_bStaticBackground; 91 void* m_pData; 92 }; 93 94 #endif // XFA_FWL_CFWL_THEMEPART_H_ 95