Add readme files to some directories.

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>
diff --git a/.gitignore b/.gitignore
index b1ea7a5..9611bce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,5 @@
 *.user
 *.vcxproj
 *.xcodeproj
+*~
+
diff --git a/core/fxge/dib/README.md b/core/fxge/dib/README.md
new file mode 100644
index 0000000..a1e8f75
--- /dev/null
+++ b/core/fxge/dib/README.md
@@ -0,0 +1 @@
+DIB stands for Device-Independent Bitmap.
diff --git a/fpdfsdk/pwl/README.md b/fpdfsdk/pwl/README.md
new file mode 100644
index 0000000..1a73250
--- /dev/null
+++ b/fpdfsdk/pwl/README.md
@@ -0,0 +1,21 @@
+fpdfsdk/pwl is a Widget Library for AcroForms.
+
+CPWL_Wnd is the base class that widget classes extend. The derived widget
+classes are controllers for each widget. The hierarchy is:
+
+* CPWL_Wnd
+    * CPWL_Button
+        * CPWL_CheckBox
+        * CPWL_PushButton
+        * CPWL_RadioButton
+    * CPWL_Caret
+    * CPWL_EditCtrl
+        * CPWL_Edit
+    * CPWL_Icon
+    * CPWL_ListBox
+        * CPWL_CBListBox (combo box)
+    * CPWL_ScrollBar
+
+Widgets are rendered to Appearance Streams, with the case all centralized in
+CPWL_AppStream.
+
diff --git a/xfa/README.md b/xfa/README.md
new file mode 100644
index 0000000..07460a6
--- /dev/null
+++ b/xfa/README.md
@@ -0,0 +1,4 @@
+XFA stands for XML Forms Architecture.
+
+https://en.wikipedia.org/wiki/XFA
+
diff --git a/xfa/fgas/README.md b/xfa/fgas/README.md
new file mode 100644
index 0000000..fb277e3
--- /dev/null
+++ b/xfa/fgas/README.md
@@ -0,0 +1 @@
+xfa/fgas contains utility classes used by XFA.
diff --git a/xfa/fwl/README.md b/xfa/fwl/README.md
new file mode 100644
index 0000000..9285e89
--- /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.
+
diff --git a/xfa/fwl/theme/README.md b/xfa/fwl/theme/README.md
new file mode 100644
index 0000000..7a69932
--- /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.
+
diff --git a/xfa/fxfa/README.md b/xfa/fxfa/README.md
new file mode 100644
index 0000000..b554ce0
--- /dev/null
+++ b/xfa/fxfa/README.md
@@ -0,0 +1,46 @@
+xfa/fxfa contains a set of CXFA_LayoutItems that model forms containing widgets.
+
+The main hierarchy in this directory are the form elements:
+
+* CXFA_LayoutItem
+    * CXFA_ContentLayoutItem
+        * CXFA_FFPageView
+        * CXFA_FFWidget
+            * CXFA_FFDraw
+                * CXFA_FFArc
+                * CXFA_FFImage
+                * CXFA_FFLine
+                * CXFA_FFRectangle
+                * CXFA_FFText
+            * CXFA_FFExclGroup
+            * CXFA_FFField
+                * CXFA_FFCheckButton
+                * CXFA_FFComboBox
+                * CXFA_FFImageEdit
+                * CXFA_FFListBox
+                * CXFA_FFPushButton
+                * CXFA_FFSignature
+                * CXFA_FFTextEdit
+                    * CXFA_FFBarcode
+                    * CXFA_FFDateTimeEdit
+                    * CXFA_FFNumericEdit
+                    * CXFA_FFPasswordEdit
+            * CXFA_FFSubform
+
+CXFA_FFDraw is the base class for static elements like text and images.
+
+CXFA_FFField is the base class for widgets. It owns a lower level CFWL widget
+instance from xfa/fwl. The correspondence is:
+
+* CXFA_FFCheckButton -> CFWL_CheckBox
+* CXFA_FFComboBox -> CFWL_ComboBox
+* CXFA_FFImageEdit -> CFWL_PictureBox
+* CXFA_FFListBox -> CFWL_ListBox
+* CXFA_FFPushButton -> CFWL_PushButton
+* CXFA_FFSignature -> none
+* CXFA_FFTextEdit -> CFWL_Edit
+    * CXFA_FFBarcode -> CFWL_Barcode
+    * CXFA_FFDateTimeEdit -> CFWL_DateTimePicker
+    * CXFA_FFNumericEdit -> CFWL_Edit
+    * CXFA_FFPasswordEdit > CFWL_Edit
+