summaryrefslogtreecommitdiff
path: root/xfa/fwl/README.md
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2017-09-13 12:33:24 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-09-13 16:46:01 +0000
commitb4a6948a97575b194d373e5801fe83d297cdc46f (patch)
tree80d0bea384a54b0f9016f8378aa71e22c4e7c97e /xfa/fwl/README.md
parent06c6855258bf25246c46a1f628b8a8a8185029a7 (diff)
downloadpdfium-b4a6948a97575b194d373e5801fe83d297cdc46f.tar.xz
Add readme files to some directories.chromium/3215
Change-Id: I2a750c8e46b68dc4870e2dadd2ed3429008e1562 Reviewed-on: https://pdfium-review.googlesource.com/13551 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'xfa/fwl/README.md')
-rw-r--r--xfa/fwl/README.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/xfa/fwl/README.md b/xfa/fwl/README.md
new file mode 100644
index 0000000000..9285e89345
--- /dev/null
+++ b/xfa/fwl/README.md
@@ -0,0 +1,58 @@
+xfa/fwl is a Widget Library for XFA Forms.
+
+CFWL_Widget is the base class that widget classes extend. The derived widget
+classes are both controllers and renderers for each widget. The hierarchy is:
+
+* CFWL_Widget
+ * CFWL_Form
+ * CFWL_FormProxy
+ * CFWL_ComboBoxProxy
+ * CFWL_Caret
+ * CFWL_CheckBox
+ * CFWL_ComboBox
+ * CFWL_DateTimePicker
+ * CFWL_Edit
+ * CFWL_Barcode
+ * CFWL_ComboEdit
+ * CFWL_DateTimeEdit
+ * CFWL_ListBox
+ * CFWL_ComboList
+ * CFWL_MonthCalendar
+ * CFWL_PictureBox
+ * CFWL_PushButton
+ * CFWL_ScrollBar
+ * CFWL_SpinButton
+
+These CFWL widgets are instantiated by and closely related to the CXFA classes
+in the xfa/fxfa directory. See xfa/fxfa/README.md.
+
+CFWL_Widget implements IFWL_WidgetDelegate through which it receives messages,
+events and draw calls.
+
+Messages consist of user input for a widget to handle. Each type of message is
+identified by an enum value in Message::Type and has its own class derived from
+the base CFWL_Message.
+
+* CFWL_Message
+ * CFWL_MessageKey
+ * CFWL_MessageKillFocus
+ * CFWL_MessageMouse
+ * CFWL_MessageMouseWheel
+ * CFWL_MessageSetFocus
+
+Events are originated in the widgets and are then handled by other CFWL_Widget
+and CXFA classes.
+
+* CFWL_Event
+ * CFWL_EventCheckWord
+ * CFWL_EventMouse
+ * CFWL_EventScroll
+ * CFWL_EventSelectChanged
+ * CFWL_EventTextChanged
+ * CFWL_EventValidate
+
+The widgets use IFWL_ThemeProvider for rendering everything, calling
+DrawBackground() and DrawText() and passing many options in their parameters,
+respectively of types CFWL_ThemeBackground and CFWL_ThemeText. See
+xfa/fwl/theme/README.md.
+