office-gobmx/vcl
Eike Rathke 428bde3591 implemented IcuFontFromServerFont::getFontTable(LETag,size_t&)
so that ICU versions trying to call
LEFontInstance::getFontTable(LETag,size_t&) actually call it instead of
IcuFontFromServerFont::getFontTable(LETag)

See http://site.icu-project.org/download/51#TOC-Known-Issues
"NOTE: Applications must implement LEFontInstance::getFontTable(LETag,
size_t &length)  in their LEFontInstance subclasses, so that ICU can
properly bounds-check font tables."

See also https://ssl.icu-project.org/trac/ticket/10107

Change-Id: Ic20b7e8dda4e84734eb6de0ccba82b0dea481d55
2013-05-03 12:50:12 +02:00
..
android
aqua/source
coretext
generic implemented IcuFontFromServerFont::getFontTable(LETag,size_t&) 2013-05-03 12:50:12 +02:00
headless Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-30 13:34:06 +01:00
inc [harfbuzz] Re-enable text justification 2013-04-29 12:45:41 +02:00
ios
null
qa
quartz
source unset WB_GROUP on non-initial buttons in groups 2013-05-03 11:31:40 +01:00
test
uiconfig/ui
unx fdo#62815 - tolerate crazy / out-of-bound ScreenNumbers for FullScreen 2013-04-30 11:22:05 +01:00
win/source Fix KEY_SHIFT clash 2013-04-25 14:43:30 +03:00
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 Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-30 13:34:06 +01:00
Executable_tdefilepicker.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-30 13:34:06 +01:00
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 fdo#63197: convert osxres 2013-04-28 18:23:10 +00:00
Package_osxres.mk fdo#63197: convert osxres 2013-04-28 18:23:10 +00:00
README
StaticLibrary_headless.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-30 13:34:06 +01:00
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

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).