1*3ac0a46fSAndroid Build Coastguard Workerxfa/fwl is a Widget Library for XFA Forms. 2*3ac0a46fSAndroid Build Coastguard Worker 3*3ac0a46fSAndroid Build Coastguard WorkerCFWL_Widget is the base class that widget classes extend. The derived widget 4*3ac0a46fSAndroid Build Coastguard Workerclasses are both controllers and renderers for each widget. The hierarchy is: 5*3ac0a46fSAndroid Build Coastguard Worker 6*3ac0a46fSAndroid Build Coastguard Worker* CFWL_Widget 7*3ac0a46fSAndroid Build Coastguard Worker * CFWL_Form 8*3ac0a46fSAndroid Build Coastguard Worker * CFWL_Caret 9*3ac0a46fSAndroid Build Coastguard Worker * CFWL_CheckBox 10*3ac0a46fSAndroid Build Coastguard Worker * CFWL_ComboBox 11*3ac0a46fSAndroid Build Coastguard Worker * CFWL_DateTimePicker 12*3ac0a46fSAndroid Build Coastguard Worker * CFWL_Edit 13*3ac0a46fSAndroid Build Coastguard Worker * CFWL_Barcode 14*3ac0a46fSAndroid Build Coastguard Worker * CFWL_ComboEdit 15*3ac0a46fSAndroid Build Coastguard Worker * CFWL_DateTimeEdit 16*3ac0a46fSAndroid Build Coastguard Worker * CFWL_ListBox 17*3ac0a46fSAndroid Build Coastguard Worker * CFWL_ComboList 18*3ac0a46fSAndroid Build Coastguard Worker * CFWL_MonthCalendar 19*3ac0a46fSAndroid Build Coastguard Worker * CFWL_PictureBox 20*3ac0a46fSAndroid Build Coastguard Worker * CFWL_PushButton 21*3ac0a46fSAndroid Build Coastguard Worker * CFWL_ScrollBar 22*3ac0a46fSAndroid Build Coastguard Worker * CFWL_SpinButton 23*3ac0a46fSAndroid Build Coastguard Worker 24*3ac0a46fSAndroid Build Coastguard WorkerThese CFWL widgets are instantiated by and closely related to the CXFA classes 25*3ac0a46fSAndroid Build Coastguard Workerin the xfa/fxfa directory. See xfa/fxfa/README.md. 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard WorkerCFWL_Widget implements IFWL_WidgetDelegate through which it receives messages, 28*3ac0a46fSAndroid Build Coastguard Workerevents and draw calls. 29*3ac0a46fSAndroid Build Coastguard Worker 30*3ac0a46fSAndroid Build Coastguard WorkerMessages consist of user input for a widget to handle. Each type of message is 31*3ac0a46fSAndroid Build Coastguard Workeridentified by an enum value in Message::Type and has its own class derived from 32*3ac0a46fSAndroid Build Coastguard Workerthe base CFWL_Message. 33*3ac0a46fSAndroid Build Coastguard Worker 34*3ac0a46fSAndroid Build Coastguard Worker* CFWL_Message 35*3ac0a46fSAndroid Build Coastguard Worker * CFWL_MessageKey 36*3ac0a46fSAndroid Build Coastguard Worker * CFWL_MessageKillFocus 37*3ac0a46fSAndroid Build Coastguard Worker * CFWL_MessageMouse 38*3ac0a46fSAndroid Build Coastguard Worker * CFWL_MessageMouseWheel 39*3ac0a46fSAndroid Build Coastguard Worker * CFWL_MessageSetFocus 40*3ac0a46fSAndroid Build Coastguard Worker 41*3ac0a46fSAndroid Build Coastguard WorkerEvents are originated in the widgets and are then handled by other CFWL_Widget 42*3ac0a46fSAndroid Build Coastguard Workerand CXFA classes. 43*3ac0a46fSAndroid Build Coastguard Worker 44*3ac0a46fSAndroid Build Coastguard Worker* CFWL_Event 45*3ac0a46fSAndroid Build Coastguard Worker * CFWL_EventCheckWord 46*3ac0a46fSAndroid Build Coastguard Worker * CFWL_EventMouse 47*3ac0a46fSAndroid Build Coastguard Worker * CFWL_EventScroll 48*3ac0a46fSAndroid Build Coastguard Worker * CFWL_EventSelectChanged 49*3ac0a46fSAndroid Build Coastguard Worker * CFWL_EventTextWillChange 50*3ac0a46fSAndroid Build Coastguard Worker * CFWL_EventValidate 51*3ac0a46fSAndroid Build Coastguard Worker 52*3ac0a46fSAndroid Build Coastguard WorkerThe widgets use IFWL_ThemeProvider for rendering everything, calling 53*3ac0a46fSAndroid Build Coastguard WorkerDrawBackground() and DrawText() and passing many options in their parameters, 54*3ac0a46fSAndroid Build Coastguard Workerrespectively of types CFWL_ThemeBackground and CFWL_ThemeText. See 55*3ac0a46fSAndroid Build Coastguard Workerxfa/fwl/theme/README.md. 56*3ac0a46fSAndroid Build Coastguard Worker 57