summaryrefslogtreecommitdiff
path: root/xfa/fwl/theme/README.md
blob: 7a69932929c99f84fcb98cb0c360144793d66d19 (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
xfa/fwl/theme contains code for rendering XFA widgets.

TP stands for Theme Part.

CFWL_WidgetTP contains much of the code common to more than one widget.

The other CFWL_TP classes derive from it and know how to draw the pieces
specific to their respective widget.

The inheritance hierarchy for this directory is:

* CFWL_WidgetTP
    * CFWL_BarcodeTP
    * CFWL_CaretTP
    * CFWL_CheckboxTP
    * CFWL_ComboBowTP
    * CFWL_DateTimePickerTP
    * CFWL_EditTP
    * CFWL_ListBoxTP
    * CFWL_MonthCalendarTP
    * CFWL_PictureBoxTP
    * CFWL_PushButtonTP
    * CFWL_ScrollBarTP

All these widget TP classes are composed into CXFA_FWLTheme, which implements
IFWL_ThemeProvider (and is the only class that does). CXFA_FWLTheme receives
DrawBackground() calls from CFWL widgets to draw themselves and routes them to
the TP (Theme Part) corresponding to that widget.