diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | core/fxge/dib/README.md | 1 | ||||
-rw-r--r-- | fpdfsdk/pwl/README.md | 21 | ||||
-rw-r--r-- | xfa/README.md | 4 | ||||
-rw-r--r-- | xfa/fgas/README.md | 1 | ||||
-rw-r--r-- | xfa/fwl/README.md | 58 | ||||
-rw-r--r-- | xfa/fwl/theme/README.md | 29 | ||||
-rw-r--r-- | xfa/fxfa/README.md | 46 |
8 files changed, 162 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index b1ea7a5349..9611bcebf6 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 0000000000..a1e8f75ed7 --- /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 0000000000..1a73250d0e --- /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 0000000000..07460a62c0 --- /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 0000000000..fb277e33c8 --- /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 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. + 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. + diff --git a/xfa/fxfa/README.md b/xfa/fxfa/README.md new file mode 100644 index 0000000000..b554ce0f43 --- /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 + |