085e747b6c
Change-Id: I1fd08d94c506580ed7557066448ccb10adb9b16d |
||
---|---|---|
.. | ||
android | ||
aqua/source | ||
generic | ||
headless | ||
inc | ||
ios/source | ||
null | ||
prj | ||
qa/complex | ||
source | ||
test | ||
unx | ||
win/source | ||
workben | ||
AllLangResTarget_vcl.mk | ||
CustomTarget_afm_hash.mk | ||
CustomTarget_kde4_moc.mk | ||
CustomTarget_kde_moc.mk | ||
CustomTarget_tde_moc.mk | ||
Executable_kdefilepicker.mk | ||
Executable_tdefilepicker.mk | ||
Library_desktop_detector.mk | ||
Library_vcl.mk | ||
Library_vclplug_gen.mk | ||
Library_vclplug_gtk.mk | ||
Library_vclplug_gtk3.mk | ||
Library_vclplug_kde.mk | ||
Library_vclplug_kde4.mk | ||
Library_vclplug_svp.mk | ||
Library_vclplug_tde.mk | ||
Makefile | ||
Module_vcl.mk | ||
Package_inc.mk | ||
README | ||
StaticLibrary_headless.mk | ||
StaticLibrary_vclmain.mk | ||
vcl.android.component | ||
vcl.headless.component | ||
vcl.ios.component | ||
vcl.macosx.component | ||
vcl.unx.component | ||
vcl.windows.component | ||
WinResTarget_vcl.mk | ||
Zip_osxres.mk |
Visual Components Library is responsible for the widgets (windowing, buttons, controls, file-pickers etc.) operating system abstraction, including basic rendering (e.g. the output device). Welcome to the Visual Class Libraries (vcl) code source/ + the main cross-platform chunk of source inc/ + cross-platform abstraction headers / definition vcl/ + external headers generic/ + shared helper code for backends, actually built into vcl headless/ + a backend renderer that draws to bitmaps aqua/ + OS/X backend ios/ + skeleton Android backend win/ + windows backend unx/ + unix specific platform backend code and its' sub-platforms plugadapt/ + pluggable framework to select correct unx backend gtk/ + gtk2 support gtk3/ + gtk3.2+ support kde/ + kde3 support kde4/ + kde4 support generic/ + raw X support How the platform abstraction works + InitVCL calls 'CreateSalInstance' + ths is implemented by the compiled-in platform backend + it stores various bits of global state in the 'SalData' (inc/saldatabasic.hxx) structure but: + the SalInstance vtable is the primary outward facing gateway API for platform backends + It is a factory for: SalFrames, SalVirtualDevices, SalPrinters, Timers, the SolarMutexe, Drag&Drop and other objects, as well as the primary event loop wrapper.