07c1b61933
Move the native methods out to a separate AppSupport class so that they aren't in our "experimenal" Desktop app's namespace. Don't hardcode the name of that class in the native code, but have the app register the class to which the damage callbacks should be done. Possibly the AppSupport and Bootstrap classes should be combined. Later. Also, the "android" part of the package name is superfluous; it is Android-specific code, no information gained by having an "android" part in the package name. Change-Id: Iddf55c8034ead7693887ace8438deb002c5eea9f |
||
---|---|---|
.. | ||
android | ||
aqua/source | ||
coretext | ||
generic | ||
headless | ||
inc | ||
ios | ||
null | ||
qa | ||
quartz | ||
source | ||
test | ||
uiconfig/ui | ||
unx | ||
win/source | ||
workben | ||
AllLangResTarget_vcl.mk | ||
CppunitTest_vcl_filters_test.mk | ||
CustomTarget_afm_hash.mk | ||
CustomTarget_kde4_moc.mk | ||
CustomTarget_kde_moc.mk | ||
CustomTarget_tde_moc.mk | ||
Executable_kdefilepicker.mk | ||
Executable_tdefilepicker.mk | ||
Executable_ui-previewer.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 | ||
UIConfig_vcl.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). VCL provides a graphical toolkit similar to gtk+, Qt, SWING etc. source/ + the main cross-platform chunk of source inc/ + cross-platform abstraction headers vcl/ + public headers ("public" to the rest of LibreOffice, that is) generic/ + shared helper code for *some* of the backends, actually built into vcl. headless/ + a backend renderer that draws to bitmaps android/ + Android backend (work in progress, does work to some extent) aqua/ + OS X backend ios/ + iOS backend (work in progres, does not work, needs re-think and re-write) win/ + Windows backend unx/ + X11 backend 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 X11 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. Note: references to "SV" in the code mean StarView, which was a portable C++ class library for GUIs, with very old roots, that was developed by StarDivision. Nowadays it is not used by anything except LibreOffice (and OpenOffice).