summaryrefslogtreecommitdiff
path: root/xfa/fwl/theme/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fwl/theme/README.md')
-rw-r--r--xfa/fwl/theme/README.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/xfa/fwl/theme/README.md b/xfa/fwl/theme/README.md
new file mode 100644
index 0000000000..7a69932929
--- /dev/null
+++ b/xfa/fwl/theme/README.md
@@ -0,0 +1,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.
+